前言
耗费18天,才终于成功的把自己训练的yolov3-tiny.weights模型成功部署到树莓派上,并用神经棒进行推理,记录这十几天的艰难过程,为后来者新手减少一点阻力。
一、在树莓派上部署Openvino
如果可以的话。请尽量使用intel的官方教程(不需要科学上网),不过官方教程一般是最新版驱动的教程,其他版本的教程网上也有很多,根据需求选择即可。下面我贴出intel的官方教程地址,有需求的自取:
https://docs.openvino.ai/latest/openvino_docs_install_guides_installing_openvino_raspbian.html
https://docs.openvino.ai/latest/openvino_docs_install_guides_configurations_for_ncs2.html
安装包下载地址:
https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/download.html
有其他树莓派Openvino版本需求的进这个地址(版本不全):
https://download.01.org/opencv/
注意:
树莓派版本所使用的Openvino是没有model optimizer的,就是说,你要转换自己的模型,只能去window或者linux下安装openvino进行转换,请保证树莓派和windows(linux)所使用的openvino版本一致,切记,不然即使你模型转换成功了移植到树莓派上也不能使用。我所使用的版本为2021.4.752.我所收集的部分驱动会在文末分享出来。
二、模型转换
1.weights模型转换为pb模型
因为现在Openvino不能直接使用darknet训练出来的weights模型,需要先转换为tensorflow的pb模型,再转换成神经棒的IR模型(xml+bin)才能使用。weights转换pb,官方推荐tensorflow-yolo-v3(我已实测可行),或Openvino-Yolov3,其他教程或多或少也讲过,这里就不多讲了,我所使用的也会放在文末,github上也能下载到。
2.pb模型转换为IR模型
其他教程也讲过,这里也不多讲了,官方教程为:
https://docs.openvino.ai/latest/openvino_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_YOLO