从0开始在树莓派中部署openvino+yolov3----4
前言
这里需要的网络处于稳定状态,不然文件下载不下来,就会报错。
一、配置转换的环境
win键+R,输入cmd,如下图所示
这是初始化openvnio环境(一次性的),每次打开都需要执行这个步骤。
cd C:\Program Files (x86)\IntelSWTools\openvino_2019.3.334\bin
setupvars.bat
配置框架
cd C:\Program Files (x86)\IntelSWTools\openvino_2019.3.334\deployment_tools\model_optimizer\install_prerequisites
install_prerequisites.bat
这里下载的tensorflow版本是1.15.5的等这个命令执行完需要把这个版本的tensorflow
版本变为1.12.0,后续会给解释。
pip install tensorflow==1.12.0
pip install networkx==2.0
接下来我们来跑一下官方给的案例
cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\
demo_squeezenet_download_convert_run.bat
这里如果网络不好的话,会出很多问题,先运行一下如果出现下面的情况就代表你成功了(可以试试晚上的时候在弄,我在老师的实验室里也没下载成功,晚上回寝室用校园网就下载成功了。)
这里就是成功下载完文件了
然后测试效果了
demo_security_barrier_camera.bat
二、weight文件转pb文件
上篇我们已经下载了转换模型的代码,这里就不给连接了。
准备两个文件一个就是 coco.names文件,yolov3.weight文件
如果是转化自己的模型就用自己文件,这里我转化的是yolov3官方的文件
链接:https://pan.baidu.com/s/1CkRU2c8Jh85faN7alpFvcQ
提取码:32hn
--来自百度网盘超级会员V1的分享
可以按照下面的路径存放文件
cd C:\yolov3_pb\yolov3_model\tensorflow-yolo-v3-master
这里必须注意你转化pb时的tensorflow版本必须和你转化ir模型时的一模一样
下面是我转化时的模块
python convert_weights_pb.py --class_names coco.names --data_format NHWC --weights_file yolov3.weights
执行这个命令,如果报缺模块的问题,就自己下载相应的模块就行,直接pip install
这里成功转化了weight文件
三、pb文件转换成IR模型
我们重新打开一个终端(每重新打开一个终端就要配置下openvino的环境),按照下面的方法,不然转换IR模型最后就会出现PermissionError: [Errno 13] Permission denied: 错误
我们将转换的pb文件移动到
C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer内
然后修改C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\extensions\front\tf
里面的yolo_v3.json文件classes后面的是你分类的个数(修改可以把文件移除c盘,改完在放回来)
开始转换
cd C:\Program Files (x86)\IntelSWTools\openvino\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 --input_shape=[1,416,416,3] --data_type=FP16
四、使用转换后的模型
将转换后生成的三个文件(bin,mapping,xml)以及coco.names文件,然后视频移动到C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\open_model_zoo\demos\python_demos\object_detection_demo_yolov3_async
cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\open_model_zoo\demos\python_demos\object_detection_demo_yolov3_async
python object_detection_demo_yolov3_async.py -i ./1.mp4 -m ./frozen_darknet_yolov3_model.xml -l ./cpu_extension_avx2.dll --labels coco.names
效果还是不错的