openvino在linux上配合yolov5的使用 python版本 pytorch
1、流程:
训练YOLOv5模型-----转化pt文件为onnx-----转化为xml+bin-----放入预测代码中
2、预测代码更改:
1.CPU、GPU的调动选择
2.模型路径
3.名称类型(要预测的种类)
4.异步模式是否开启(如果使用MP4文件记得改0为mp4路径并且关闭异步模式)
3、主要参考文章
pt文件转化直接使用命令 没有使用代码
这篇文中的这个也是可以的
4.报错踩坑集合
4.1 mportError: libpython3.9.so.1.0: cannot open shared object file: No such file or directory
做了 好像没什么用
官方解决方案
这两条是有用的
4.2 QObject::moveToThread: Current thread (0xb7f210) is not the object's thread (0x188cc30). Cannot move to target thread (0xb7f210)
文二中方法一可行 注意要先换pip、conda源,不然真的慢。清华源有时候会有问题,可以多加两个。
重装时同时降低了opencv-python版本,小于等于安装的opencv版本
这篇文章中推荐降python。网上主流就是降opencv/重装pyqt、opencv-python。降python之后很多要重新配置,很麻烦。
为重装中遇到问题 已解决
理论上这个也行 我是直都删了装过
4.3 [ WARN:0@0.868] global /io/opencv/modules/videoio/src/cap_v4l.cpp (889) open VIDEOIO(V4L2:/dev/video0): can't open camera by index 未解决
也尝试过给摄像头加权限。应当是程序问题。YOLOv5可以正常调用摄像头进行检测
之后就不用摄像头了干脆 把输入源改成了视频
4.4 Cannot find reference 'inference_engine' in 'imported module openvino
调用SDK的时候一直报错,代码编译不通过 无法import openvino.inference /runtime
最后解决是更改了文件名称 原来叫openvino,改成openvino111就跑通了
尝试过绝对路径import 可能操作不正确 没起作用 理论上应该起作用的
4.5 DeprecationWarning: `np.bool` is a deprecated alias for the builtin `bool`. To silence this warning, use `bool` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.bool_` here. Deprecated in NumPy 1.20; for more details and guidance: (Type.boolean, np.bool),
无害警告
4.6 Failed to create plugin /home/amov/anaconda3/envs/yolov5/lib/python3.9/site-packages/openvino/libs/libopenvino_intel_gpu_plugin.so for device GPU
[CLDNN ERROR]. clGetPlatformIDs error -1001同时出现这个
理论上是因为显卡及其驱动问题 导致的 但是因为在openvino中本来就可以不使用GPU
把GPU的调用去掉就好了
官方文档
代码bug 在开启异步模式的时候 定义帧号码出现了问题 解决方法是关闭了异步模式 (视频也不能调用异步模式),把异步的全部改成false