您现在的位置是:首页 > 正文

OpenVINO 在 I7-10750H YOLOv3 YOLOv4-tiny YOLOv5s 运行速度记录

2024-04-01 04:56:42阅读 1

首先介绍下软硬件版本配置

OpenVINO 2020.4版本

CPU :Intel® Core™ i7-10750H CPU @ 2.60GHz

GPU:Intel® UHD Graphics 驱动:27.20.100.8783

模型:Darknet YOLOv3 YOLOv4-tiny 和 PyTorch YOLOv5 v1.0

模型转换流程:Darknet→TensorFlow→OpenVINO
模型转换流程:PyTorch→ONNX→OpenVINO

一.简要流程

1.安装 OpenVINO(网上教程很多就不写了,注意要安装默认路径)
2.模型转换(目前OpenVINO只支持opset 10)

  • (1)首先需要准备好自己的模型, .weights转为.pb .pt转为.onnx备用。

  • (2)OpenVINO的模型转换(以yolov5s为例)

模型转换脚本在本地目录下:

C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer

转换命令:

python mo.py --input_model yolov5s.onnx --output_dir ./output --input_shape [1,3,640,640] --data_type FP16

在这里插入图片描述
成功后,可以看到模型输出路径下生成了 bin 和 xml 文件:
在这里插入图片描述
3.推理测试
初始化环境

C:\"Program Files (x86)"\IntelSWTools\openvino\bin\setupvars.bat

官方提供了一些demo,运行推理脚本,选择对应的demo,也有python api;

C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\inference_engine\demos

当然这里本人使用yolov5 推理失败了,主要是后处理的问题,还需要研究下;大体流程就是这样的。

二. YOLOv3

OpenVINO CPU推理速度:
硬件:Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
模型:YOLOv3  416*416
FPS:2.5
耗时:360ms左右    

附一张OpenVINO推理时的图:
在这里插入图片描述
表示还没有OpenCV DNN在CPU上的速度快,粗略跑了下大概300ms左右。在这里插入图片描述

OpenVINO 核显推理速度:

硬件:Intel(R) UHD Graphics
模型:YOLOv3  416*416
FPS:3.4
耗时:295ms左右    

三. YOLOv4-tiny

OpenVINO CPU推理速度:

硬件:Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
模型:YOLOv4-tiny  416*416
FPS:19
耗时:52ms左右    
OpenVINO 核显推理速度:

硬件:Intel(R) UHD Graphics
模型:YOLOv4-tiny  416*416
FPS:20
耗时:49.5ms左右    

四.结语

OpenVINO的加速在电脑CPU上效果并不明显,可能Inter的VPU上加速效果还行;这里yolov5 v1.0 翻车了,主要啥v5版本较多,激活函数也不同;如有需要可以参照以下项目 v5 v2.0版本转OpenVINO测试v5 v3.0的话需要查看官网修改源码的方式转换模型。

yolov5 v2.0 OpenVINO
https://github.com/anhnktp/yolov5_openvino

网站文章

  • Flink on yarn程序监控自动重启

    Flink on yarn程序监控自动重启

    yarn上程序监控脚本

    2024-04-01 04:56:38
  • 爆料 腾讯最新公开的“MySQL学习笔记”,已评“钻级”,不得不服

    爆料 腾讯最新公开的“MySQL学习笔记”,已评“钻级”,不得不服

    大家都知道,MySQL是一个关系型数据管理系统,也是目前最为流行的数据库管理系统之一,你可以想到的互联网企业可以说都是需要用到MySQL数据库的,MySQL有着体积小、速度快、总体的拥有成本低的特点。...

    2024-04-01 04:56:01
  • jarvisoj_tell_me_something【BUUCTF】

    jarvisoj_tell_me_something【BUUCTF】

    那就很简单了,溢出指向漏洞函数即可,但此题有个小坑,其实最开始学pwn时会通过gdb查找溢出大小,但后面懒了就直接通过IDA查看,但IDA并不一定准确,并且题目本身也会有坑,比如该题。但本题,main函数没有push ebp的操作,所有溢出时不需要多加8字节ebp位置。

    2024-04-01 04:55:54
  • 在Junit测试中模拟控制台输入输出

    在Junit测试中模拟控制台输入输出

    目录在Junit测试中模拟控制台输入输出Java标准输入输出流自定义输入输出流1. 设置输入流2. 设置输出流在Junit测试中模拟控制台交互在Junit测试中模拟控制台输入输出最近的一次软件构造实验...

    2024-04-01 04:55:46
  • Java HashMap 可以存储null

    HashMap = map new HashMap(); map.put(null,null); 这样写是可以的

    2024-04-01 04:55:06
  • 大学生如何把自己往软件工程师方向培养?

    就大学生而言如何把自己往软件工程师方向培养?就目前自己已经学习的专业课程而言,从课本学习的专业知识还不足以让我们明白一个软件是如何做出来的,网络上的知识大多数回答不符合我们的实际情况,而且回答都比较偏专业和笼统。...

    2024-04-01 04:54:59
  • 解决使用Ajax:浏览器跨域同源问题

    解决使用Ajax:浏览器跨域同源问题

    chrome错误提示:Access to XMLHttpRequest at 'http://192.168.23.11:5000/' from origin 'http://localhost:63...

    2024-04-01 04:54:52
  • Decimal是什么类型

    decimal是MySQL中存在的精准数据类型,语法格式“DECIMAL(M,D)”。类型说明 取值范围(MySQL < 3.23) 取值范围(MySQL >= 3.23)D是小数点右侧数字的数目(标度),其范围是“0~30”,但不得超过M。M是数字的最大数(精度),其范围为“1~65”,默认值是10;

    2024-04-01 04:54:44
  • FFmpegFrameGrabber视频抽帧工具类

    FFmpegFrameGrabber视频抽帧工具类

    通过视频链接进行关键帧抽取图片,核对利用FFmpegFrameGrabber对视频流进行抽帧处理。

    2024-04-01 04:54:04
  • 各种浏览器的缓存文件的位置和修改缓存目录的方法 热门推荐

    一、手动清空缓存 1、Opera 清除Opera浏览器的缓存的方法:打开Opera,工具->首选项->高级->历史->点击立即清空按钮就可以清除Opera浏览器的缓存。 2、I...

    2024-04-01 04:53:59