当前位置:   article > 正文

训练自己的yolov5-lite并部署到树莓派4b4g上踩的一些坑_yolo v5部署到树莓派输出维度不一样

yolo v5部署到树莓派输出维度不一样

(一)训练自己的yolov5-lite

(1)anaconda环境:

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

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

输入

conda info
  • 1

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

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

envs_dirs:
  - D://Anaconda//envs 
  • 1
  • 2

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

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

在这里插入图片描述

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

conda create --name env_name
  • 1

而应该使用

conda cteate -n env_name python=3.7
  • 1

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

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

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

conda
  • 1

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

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

conda env list
  • 1

2、创建conda环境

conda cteate -n env_name python=3.7
  • 1

3、查看有哪些conda环境

conda env list
  • 1

4、进入conda环境

conda activate env_name
  • 1

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

conda remove package_name
  • 1

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)
  • 1
  • 2

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

nvidia-smi
  • 1

在这里插入图片描述
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"
  • 1
  • 2

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
  • 1

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

conda remove numpy
conda install numpy==1.23.5
  • 1
  • 2

(二)树莓派的部署

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/936611
推荐阅读
相关标签
  

闽ICP备14008679号