git clone https://github.com/mystic123/tensorflow-yolo-v3.git
cd tensorflow-yolo-v3
下载coco.names文件以及YOLOv3模型(yolov3.weights) 或者 使用适合您任务的标签和模型
# 运行转换器
python3 convert_weights_pb.py --class_names coco.names --data_format NHWC --weights_file yolov3.weights
# 这时候可以看到项目文件夹下有一个pb文件
# --output_graph可以指定输出pb文件的名称
# python3 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
cd /opt/intel/openvino_2019.1.094/deployment_tools/model_optimizer/extensions/front/tf
vim yolo_v3.json #修改classes为你类别的数量并保存
cd /opt/intel/openvino_2019.1.094/deployment_tools/model_optimizer/
python3 mo_tf.py --input_model /path/to/yolo_v3.pb --tensorflow_use_custom_operations_config ./extensions/front/tf/yolo_v3.json --batch 1
#此时可以看到当前目录生成的xml和bin文件
ls 查看当前目录文件
官方运行yolov3的demo在这里
在文件的目录里输入命令
python3.5 object_detection_demo_yolov3_async.py -m pf/yolov3.xml -i cam -l /opt/intel/openvino_2019.1.094/inference_engine/lib/intel64/libcpu_extension_avx2.so
即可成功运行
注意:-i cam 是打开摄像头
[ ERROR ] Error reading network: in Layer detector/darknet-53/Conv_1/Conv2D: trying to connect an edge to non existing output port: 2.1
是由于tensorflow版本造成的,tensorflow版本应该<=1.12
此时直接运行推理还是报同样的错误,应该在yolov3模型转化成pb这一部重新开始。
(ps:还有一些踩到的坑未记录)