1.部署
1.1.OpenVINO工具包:
- 在边缘设备基于CNN的深度学习推理
- 支持跨Inter®CPU,Inter ®集成显卡,Inter®FPGA,Inter ®Movidius™神经计算棒,Inter ®神经计算棒2和具有Inter ®Movidius™VPU的Inter ®视觉加速器设计的异构执行
- 通过易于使用的计算机视觉功能库和预先优化的内核加快推理时间
- 包括对计算机视觉标准(包括OpenCV *,OpenCL™和OpenVX *)的优化调用
1.2. OpenVINO最重要的组件:
- 深度学习部署工具包(DLDT)
深度学习模型优化器
------ 一种跨平台的命令行工具,用于导入模型并为通过推理引擎进行最佳执行做准备。Model
Optimizer导入,转换和优化模型,支持的模型诸如Caffe *,TensorFlow *,MXNet *,Kaldi *和ONNX
*等流行框架。深度学习推理引擎
------ 统一的API,可对多种硬件类型进行高性能推理,包括英特尔®CPU,英特尔®集成显卡,英特尔®Movidius™神经计算棒,英特尔®神经计算棒2和采用英特尔®的英特尔®视觉加速器设计Movidius™VPU
1.3 英特尔处理器
-
支持的硬件:
第6至第10代Intel®Core™处理器
和Intel®Xeon®处理器
具有Intel®HD Graphics的IntelPentium®处理器N4200 / 5,N3350 / 5或N3450 / 5 -
支持的操作系统:
Windows®10(64位)
Ubuntu * 18.04.3 LTS(64位)
CentOS * 7.4(64位)
Yocto Project *版本Poky Jethro 2.0.3(64位)
macOS *(64位) -
受支持的OpenVINO™工具包组件的英特尔®发行版:
深度学习部署工具包
OpenCV的
OpenVX *
深度学习工作台
1.4 OpenVINO安装
1.4.1下载
官方下载地址:https://software.seek.intel.com/openvino-toolkit?os=windows
先注册一下,邮箱会收到激活码
选择完整包下载
1.4.2 安装openvino
文件大小有255M
双击安装,选择路径,点击Extract
再选择默认的安装路径
,
一直点击next,完成后退出。
1.4.3 安装依赖项
- Visual Studio版本 >= 2015
- CMake版本 >=3.4
- Python版本 >= 3.6(这里用)
2.模型加速测试
2.1 模型优化器
-
先配置模型优化器
win + R 组合键打开命令行窗口,切换到自己的Model Optimizer安装目录,我这里是:
cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\install_prerequisites
运行目录下的:
install_prerequisites.bat
输入
install_prerequisites.bat
2.2 验证安装
-
切换目录找到
demo
:cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\
图像分类
验证输入:demo_squeezenet_download_convert_run.bat
运行结果:
推理
验证输入:demo_security_barrier_camera.bat
结果如下:
2.3 YOLOv3 模型推理加速
2.3.1 yolov3模型darknet转tf模型
下载并切换到目录下:
https://github.com/mystic123/tensorflow-yolo-v3.git
cd tensorflow-yolo-v3
接着可以用自己训练的标签和模型,这里用coco.names和yolov3.weights
两个文件
生成转换:
python convert_weights_pb.py --class_names coco.names --data_format NHWC --weights_file yolov3.weights
会得到一个pb文件
或者命名pb文件,指定大小
# --output_graph 指定输出pb文件的名称
python convert_weights_pb.py --class_names coco.names --data_format NHWC --weights_file yolov3.weights --output_graph yolov3.pb
# --size 指定图像的大小(默认为416)
python3 convert_weights_pb.py --class_names coco.names --data_format NHWC --weights_file yolov3_608.weights --size 608
2.3.2 YOLOv3 TensorFlow模型转为IR
切换到tf目录下可以修改自己的类别
cd C:\Program Files (x86)\IntelSWTools\openvino_2019.3.379\deployment_tools\model_optimizer\extensions\front\tf
将frozen_darknet_yolov3_model.pb文件复制到model_optimizer目录下,输入下面命令生成xml和bin文件:
cd C:\Program Files (x86)\IntelSWTools\openvino_2019.3.379\deployment_tools\model_optimizer
python mo_tf.py --input_model ./frozen_darknet_yolov3_model.pb --tensorflow_use_custom_operations_config ./extensions/front/tf/yolo_v3.json --batch 1
2.3.3 测试
win + R 打开窗口
输入下面命令设置临时环境变量
:
C:\Program Files (x86)\IntelSWTools\openvino_2019.3.379\bin\setupvars.bat
在当前窗口下继续操作,cd到下面目录下:
C:\Program Files (x86)\IntelSWTools\openvino_2019.3.379\deployment_tools\open_model_zoo\demos\python_demos\object_detection_demo_yolov3_async
所需的5个文件拷到这个目录下
运行命令:
python object_detection_demo_yolov3_async.py -i ./test.mp4 -m ./frozen_darknet_yolov3_model.xml -l ./cpu_extension_avx2.dll --labels coco.names
如果想用摄像头,将-i ./test.mp4 替换为 -i cam
;如果是有GPU设备用 -d GPU
来测试
效果如下:
完~
Reference:
https://docs.openvinotoolkit.org/latest/index.html
https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_windows.html
https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_YOLO_From_Tensorflow.html
https://blog.csdn.net/weixin_41247701/article/details/99642139
https://docs.openvinotoolkit.org/2019_R3.1/_models_intel_index.html