如何将自己训练的yolov3网络转化为openvino的IR格式

如何将自己训练的yolov3网络转化为openvino的IR格式

接着上一篇文章继续(文章最后有下载链接)
这里有必要解释一下:
(1)因为选用的是kears的yolov3算法实现,训练模型保存的是*.h5格式,由于openvino不支持*.h5格式的模型直接转换成IR模型,需要先把*.h5转换成其他格式,比如pb、onnx(听说现在最新版本的openvino好像支持了,不过没尝试),再转换成IR,这里选择转换成tf的pb模型,再转换成IR模型。
(2)如果想在 Intel OpenVINO 下顺利执行,建议先将权重从*.h5 格式转成 DarkNet 的*.weights 格式再转换成 IR 格式(.xml、.bin),而不要直接转成 TensorFlow *.pb 格式再送到 mo.py 转成 IR格式,以免无法顺利转化。
(3)大体流程如下
在这里插入图片描述
(4)具体操作:
首先运行kears_to_weights.py文件,cmd下运行以下命令:
python kears_to_weights.py -cfg_path yolov3.cfg -h5_path model_data/yolo.h5 -output_path model_data/yolo.weights
在这里插入图片描述
运行结束之后,会在model_data/文件夹下生成yolo.weights文件
(5)然后运行convert_weights_pb.py脚本
cmd下运行以下命令:
Python convert_weights_pb.py --class_names coco.names --weights_file model_data/yolo.weights --data_format NHWC --output_graph model_data/frozen_yolo_v3.pb
运行完毕 会在model_data文件夹下生成frozen_yolo_v3.pb文件。
(6)将.pb文件转化为openvino的IR格式
cd到C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer(根据自己实际安装路径修改)路径下
运行mo_tf.py脚本文件(根据自己的实际路径进行修改):
python mo_tf.py --input_model E:\yolov3_openvino\model_data\frozen_yolo_v3.pb --tensorflow_use_custom_operations_config E:\yolov3_openvino\yolo_v3.json --input_shape=[1,416,416,3] --data_type=FP16
在这里插入图片描述
运行完毕,会在路径C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer下生成3个frozen_yolo_v3.bin、frozen_yolo_v3、frozen_yolo_v3.mapping文件。到此转换完成。
(7)为了方便测试,将生成的3个文件复制到项目中的FP16文件夹下,并将frozen_yolo_v3.labels将里面的标签改成自己的类别标签。
(8)接下来就是利用openvino加速推理了,首先记得要先激活openvino的环境
Cd到C:\Program Files (x86)\IntelSWTools\openvino\bin文件夹下,运行setupvars.bat完成环境激活。然后,cd到FP16文件夹下,运行object_detection_demo_yolov3_async.py脚本
python object_detection_demo_yolov3_async.py --labels coco.names -i cam -m frozen_yolo_v3.xml -d CPU
在这里插入图片描述
然后就可以进行推理,速度很快。
(-i cam 选用的是摄像头,-d 可自行选择)
注意:可以打开object_detection_demo_yolov3_async.py修改里面的默认参数( “score” : 0.05, “iou” : 0.45等)以获得更好的检测效果。

整个项目的下载链接(比较大,包含了我所有的模型、数据、文档)
项目链接
提取码:yolo

有问题欢迎评论交流

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值