yolov5训练过程——我的一个个报错,一步步解决

参照博客

照着这位大哥的步骤来的,但是在实际操作中,每个人都可能会有不同的报错,然后需要不同的解决方案。

一、必要的环境依赖

这篇配置环境的保姆级教学也是这位大哥的

        与上述给出博客阐述一样,但是我在安装Anaconda前已经有Python了,并且在此基础上发现环境已经配置好了,所以在官网安装Anaconda最新版之后(在安装时不要选择自动配置环境变量),会出现Spyder打不开,Anaconda也会在双击之后弹出一个命令小弹窗,然后立即闪退的情况,而Anaconda promote命令conda也不起作用,找了很多原因,发现是归结于环境的配置

        经过以下配置,我的Anaconda终于能运行了。

 

这是系统环境变量里的PATH,其中圈中的有关Anaconda的环境变量都放上去,顺序最好和我一样,然后是再添加一个PATHONPATH到用户变量,这里的添加的路径一开始是你的Anaconda中LIb/site-packages的绝对路径。(先别改我下面这张图片的路径,之后如果要激活虚拟环境安装包和在运行虚拟环境库时还需要更改至虚拟环境包的绝对路径。我这个是我等下虚拟环境需要用到的,我在这里直接改了)

 如果将环境变量调整好了,可以发现conda命令都能用了。

验证CUDA和cudnn版本部分

        这时,将Pycharm编译器换至pytorch,然后将PYTHONPATH改为虚拟环境安装包的路径。

import torch
print(torch.cuda.is_available())
print(torch.backends.cudnn.is_available())
print(torch.cuda_version)
print(torch.backends.cudnn.version())

改paddle, 一样一样 。

import paddle
print(paddle.utils.run_check())

能运行出来并打印就说明可以了。

        之后的yolov5训练是在pytorch环境上运行操作的。

二、labelimg标注。

        用这个链接

         我犯的错误是运行不了他这一步cmd里面的操作。

labelimg JPEGImages predefined_classes.txt

               会报错不是cmd内部命令,我的解决方案也是根据其他博客来的:

这个:确实有用

三、就是pip install -r requirements.txt

        Windows用户这个一定会报错,因为

        安装这个pycocotools时,会安装不成功,也有解决方案:将其单独安装,从 requirements.txt中抹掉,直接在终端运行:

pip install -r requirements.txt
pip install pycocotools-windows

自动是最新版,不用担心版本问题。

四、运行train.py

        我在调完参数后,运行这一步控制台会直接崩溃:

         所以我直接将这个train.py放在cmd中运行,结果成了这样:

 解决方案:继续上连接,对我来说很有用  没有SPPF这个类

修改完之后:运行成功,界面如下:

 Tensorboard界面:(我这运行较慢,这是正在运行的)

### YOLOv5 训练模型常见报错解决方案 #### AttributeError: Can't get attribute 'C3' on module 'models.common' 当遇到 `AttributeError: Can't get attribute 'C3'` 错误时,这通常是因为版本不兼容或文件路径设置不当造成的。为了修复此问题,建议检查并更新到最新版的YOLOv5代码库[^1]。 ```bash git clone https://github.com/ultralytics/yolov5.git cd yolov5 pip install -r requirements.txt ``` 如果仍然存在该错误,则可能是由于旧版本保存的权重文件与新架构不符所致。此时可以尝试删除现有的预训练权重文件,并重新下载官方发布的最新权重文件[^3]: ```python import torch model = torch.hub.load('ultralytics/yolov5', 'yolov5s') ``` #### Windows系统下特定错误处理方法 对于在Windows环境下执行YOLOv5训练过程中可能出现的一些特殊错误,比如 `freeze_support()` 和 `GPU_mem=0` 的警告信息,可以通过调整启动脚本的方式加以规避[^2]。 具体来说,在Python入口程序最外层加入如下语句来确保多进程支持正常工作: ```python if __name__ == '__main__': import multiprocessing as mp if mp.get_start_method(allow_none=True) != 'spawn': mp.set_start_method('spawn') # 主函数逻辑... ``` 另外,针对显存不足的情况,可以在环境变量中设定CUDA_VISIBLE_DEVICES参数限制使用的GPU数量;或者通过修改配置文件中的batch size大小减少单次前向传播所需资源占用量。 ---
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值