搜索
您的当前位置:首页正文

openvino+linux(Ubuntu)+python+YOLOv5+pytorch

来源:好走旅游网

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.2.1  ERROR: Could not install packages due to an OSError: [Errno 2] 没有那个文件或目录: '/home/amov/anaconda3/envs/yolov5/lib/python3.9/site-packages/PyQt5-5.15.7.dist-info/METADATA'

为重装中遇到问题 已解决

 

理论上这个也行 我是直都删了装过

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的调用去掉就好了

官方文档

4.7    infer_request_handle=exec_net.start_async(request_id=request_id,inputs={input_layer: blob})   File "ie_api.pyx", line 1105, in openvino.inference_engine.ie_api.ExecutableNetwork.start_async ValueError: Incorrect request_id specified!

代码bug 在开启异步模式的时候 定义帧号码出现了问题 解决方法是关闭了异步模式 (视频也不能调用异步模式),把异步的全部改成false

因篇幅问题不能全部显示,请点此查看更多更全内容

Top