Win10 yolov5环境搭建、打包及问题解决

本文详细介绍了如何在Windows环境下,不使用Anaconda,通过Python本地安装方式搭建PyTorch。接着,针对YOLOv5的训练,列出了所需安装的依赖模块,并提供了错误处理方案。此外,还讲述了使用PyInstaller将YOLOv5代码打包成EXE文件的过程中遇到的问题及其解决方法,包括处理OpenCV版本冲突和打包后的运行异常。最后,提到了打包后的EXE文件运行方式。
摘要由CSDN通过智能技术生成

1、模型标注:

下载labelIm.exe

下载链接:https://pan.baidu.com/s/1yk8ff56Xu40-ZLBghEQ5nw 提取码:vj8f

2、pytorch环境搭建

没有选择anconda软件,选择的是python本地安装的方式,这样的结果就是需要自己安装框架需要的所有依赖。

安装方法是先看自己电脑的cuda版本和python版本,然后在pytorch官网查找适配的pytorch版本,然后按下面命令安装。重要的事情说三遍,一定要网络好,或者多安装几次。
pytorch官网

C:\Users\user>python
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.

C:\Users\user>nvcc -V
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:32:27_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.2, V10.2.89

pip install torch1.8.1+cu102 torchvision0.9.1+cu102 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

3、yolov5环境搭建

在yolov5根目录下执行python train.py 会出现下面需要安装的以来错误,或者可以直接先安装这些依赖,原则就是缺少什么,安装什么。

ModuleNotFoundError: No module named ‘yaml’
pip install pyyaml

ModuleNotFoundError: No module named ‘tqdm’
pip install tqdm-i https://pypi.douban.com/simple

ModuleNotFoundError: No module named ‘cv2’
pip install opencv-python
pip install opencv-contrib-python

ModuleNotFoundError: No module named ‘pandas’
pip3 install pandas -i https://mirrors.aliyun.com/pypi/simple/

ModuleNotFoundError: No module named ‘requests’
pip3 install requests -i https://mirrors.aliyun.com/pypi/simple/

ModuleNotFoundError: No module named matplotlib
pip3 install matplotlib -i https://mirrors.aliyun.com/pypi/simple/

ModuleNotFoundError: No module named ‘seaborn’
pip3 install seaborn -i https://mirrors.aliyun.com/pypi/simple/

ModuleNotFoundError: No module named ‘tensorboard’
pip3 install tensorboard -i https://mirrors.aliyun.com/pypi/simple/

更新pip慢且报错:

python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
离线安装:pip3 install ./opencv_python-4.6.0.66-cp36-abi3-win_amd64.whl
opencv 官网下载地址:https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python/

UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x98 in position 1093: illegal multibyte sequence
问题原因:是因为window10下的编码和python的编码冲突,window默认的编码是用的gbk。
问题解决:修改系统默认编码。
首先是在 控制面板 —>> 时间和语言—>语言—>管理语言设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启之后,再次运行代码,问题解决.

安装onnx : pip install onnx -i https://pypi.tuna.tsinghua.edu.cn/simple/
安装之后onnx版本为1.11.0
测试: python export.py --data data/VOC_car_20230208.yaml --weights models/yolov5s.p

4、yolov5代码打包

首先安装打包软件

pip3 install pyinstaller -i https://mirrors.aliyun.com/pypi/simple/

打包命令:

pyinstaller -c train.py

问题及解决办法:

ModuleNotFoundError: No module named ‘tornado’
pip3 install tornado -i https://mirrors.aliyun.com/pypi/simple/

ERROR: recursion is detected during loading of “cv2” binary extensions. Check OpenCV installation.
原因是pyinstaller跟opencv版本不匹配,将opencv版本由4.6.6降低到opencv4.5.1

FileNotFoundError: [WinError 3] 系统找不到指定的路径。: ‘E:\TargetRecognition\yolov5-master\dist\detect\utils\general.pyc’
[2000] Failed to execute script ‘detect’ due to unhandled exception!
办法:把yolov5下utils文件夹复制到你打包的文件夹里面,即dist/detect/下,然后把general.py复杂一份,改名为general.pyc就行。我也不知道这是为什么,但他就是能跑了

train.exe: error: unrecognized arguments: --multiprocessing-fork parent_pid=13272 pipe_handle=3676
train.py修改,即添加multiprocessing.freeze_support()
if name == “main”:
# 下面这句必须在if下面添加
multiprocessing.freeze_support()

5、exe运行

打包的exe路径在根目录的dist/detect目录下,直接双击即可运行,或者在当前目录下打开cmd窗口执行detect.exe,也可以在后面加相关参数,例如:

E:yolov5-master\dist\detect>detect.exe  --weights E:yolov5-master\models\yolov5s.pt  --source E:/test.mp4  --data E:/yolov5-master/data/VOC.yaml
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值