训练自己的yolov5-lite并部署到树莓派4b4g上踩的一些坑

(一)训练自己的yolov5-lite

(1)anaconda环境:

问题:我的annconda是装在D盘的,但是在使用cmd或者conda prompt去创建一个新的conda环境时候会默认创建到c盘中,因为conda的虚拟环境一般很大所以我不想放在c盘,倒腾很久,比如用pycharm创建在E盘中,出现的新问题是创建出来的新环境只有地址没有环境名称。

解决办法:a:首先关于用cmd或者conda prompt创建环境默认在c盘的情况。

输入

conda info

可以查看到conda的一些配置信息

在这里插入图片描述
可以看到默认的环境是第一个,这是我改过的,正常应该是第二个路径为默认的。
修改路径:在c盘中找到名为.condarc的文件并用记事本打开
在这里插入图片描述
输入

envs_dirs:
  - D://Anaconda//envs 

建议把环境就放在conda环境中!!不要分开了

b:使用conda prompt或者cmd创建conda环境时候出现了在pycharm使用时,python interpret选用conda环境,选择自己创建的新环境即(D://Anaconda//envs )时找不到python.exe文件,只有一个文件夹而且啥东西都没有,如图所示

在这里插入图片描述

解决办法:在使用cmd或者conda prompt创建环境时候不能简单的使用

conda create --name env_name

而应该使用

conda cteate -n env_name python=3.7

python的版本应该根据自己电脑上的python而定

c:完整的创建conda环境流程和部署到pycharm上为:

如果是cmd操作的话应该先输入

conda

如果conda prompt或者pycharm terminal可以省去。

1、列出conda管理的所有环境*

conda env list

2、创建conda环境

conda cteate -n env_name python=3.7

3、查看有哪些conda环境

conda env list

4、进入conda环境

conda activate env_name

然后就可以下载需要的包了。
有些环境中可能在下载requirement时下载了一些不匹配的包,需要移除可以使用

conda remove package_name

5、进入pycharm ->python interpreter->add interpreter->conda environment_>use existing environment
在这里插入图片描述
应用就行了

(2)YOLOv5-lite训练出现的问题

a:训练模型的搭建

参考:链接: link
补充一点就最后在配置 train.py文件中的参数时,关于预训练权重需要自己设置。可以在github上下载权重然后创建一个weights文件夹,将权重放在里面
在这里插入图片描述

b:使用GPU训练

在配置环境时requirments中的torch和torchvision不是gpu版本不能调用GPU,表现为会报错:AssertionError: CUDA unavailable, invalid device gpu requested。可以新建一个测试python文件

import torch
print(torch.cuda.is_available)

运行看输出是否是False。
解决办法:
1、查看自己cuda的版本号,输入cmd指令

nvidia-smi

在这里插入图片描述
2、到pytorch官网下载对应的版本链接: link
在这里插入图片描述
3、在pytorch上拿到指令后下载到虚拟环境中
4、最后打开yolov5-lite中的requirement.txt文件,将torch和torchvison删掉

在这里插入图片描述

5、运行train.py就可以运行啦

c:运行报错

1、OSError: [WinError 1455]页面文件太小,无法完成操作
解决办法:链接: link
建议在设置空间大小时候设大一点,我最开始按照上面设置总是报这个错。同时可以参考
链接: link
2、OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized
解决办法:将下面代码段复制粘贴到train.py的顶部

import os
 os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"

3、RuntimeError: result type Float can‘t be cast to the desired output type long int
解决办法:链接: link
4、TypeError: No loop matching the specified signature and casting was found for ufunc greater
解决办法:更换numpy,很大一部分原因是因为python包的版本不兼容引起的。查看conda 环境中的包

conda list

删除环境中的numpy并下载较低版本,实例中的版本可以解决报错

conda remove numpy
conda install numpy==1.23.5

(二)树莓派的部署

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值