参考教程:https://github.com/Wulingtian/yolov5_onnx2caffe
onnx模型转换caffe模型过程中报错,没有{}节点,就直接把converCaffe.py里的
err.unsupported_op(node)
注释掉了
转化成功以后测试时候,打算修改caffe_yolov5s.cpp,但是修改完重新编译报各种错。
和这个错一样:https://github.com/Wulingtian/yolov5_caffe/issues/3
目前没有看到解决办法,就不改代码,替换了模型,测试后结果不正确。
原图:
github给的模型测试的结果:
我转完的模型测试的结果:
记录遇到的坑:
编译时报错:
/usr/local/include/google/protobuf/arenastring.h:225:31: note: candidate exp...
解决:https://blog.csdn.net/shanpenghui/article/details/116998817
sudo rm -rf /usr/local/bin/protoc /usr/local/include/google /usr/local/lib/libproto*
sudo apt reinstall libprotobuf-dev libignition-msgs* ros-foxy-gazebo-dev
编译完的caffe,但是运行的时候自动定位都我之前装的caffe,报错:
libprotobuf.so.9: cannot open shared object file: No such file or directory
上边这个问题没有解决。换一下caffe路径可跳过这个问题。:
https://blog.csdn.net/weixin_40740785/article/details/83895098
export PYTHONPATH=/home/zhanglu/yolov5-fishi/tensorrt/yolov5_caffe-master/python
运行converCaffe.py时,报错:
libcurand.so.10.0: cannot open shared object file: No such file or directory...
参考:https://www.cnblogs.com/wuli1427102168/p/10820458.html
sudo cp /usr/local/cuda-9.1/lib64/libcurand.so.9.0/usr/local/lib/libcurand.so.10.0 && sudo ldconfig
每次再报错:
libcurand.so.10.0: cannot open shared object file: No such file or directory...
再导入一遍库即可:
export PYTHONPATH=/home/zhanglu/yolov5-fishi/tensorrt/yolov5_caffe-master/python
最后检查是我转完的yolov5模型,比github上给出的onnx模型多了后边一部分。在onnx转caffe的时候把这些层去掉就正确了。
yolov5m和yolov5s一样,都转化成功。
目前遗留的问题是这个caffe环境不能改,make时候会报各种错。