记yolov5使用时的环境配置问题

一.前言

     这个暑假对Pyqt5/Pyside6进行了一个入门学习。

    从一开始听b站up主一节节课讲解各个控件的属性与相关信号,自己跟着一个个控件的码出来,再到拿医院管理系统做了个基础版的多窗口界面,这个时候为了打好基础ui也是码出来的,也学习到了在主窗口主要布置函数连接,引用各个ui避免臃肿,算是逐步养成了编码的一些习惯。

     后面想挑战一下运用mysql数据库,入门了学生管理系统,因为mysql和pyside的驱动连接问题被迫转到pyqt5,开始使用qtdesigner制作ui,在mysql workbench上对于数据库也有了初步的了解,完成了基本的增删改查,注册账号,记住密码等功能,并对ui做了界面美化,学习了一些stylesheet的用法,到这算是对pyqt小有所成。

     现在还有一个月的假期时间,还是打算深入一些运用到pyqt的项目,于是在b站入门了yolov5,一开始看项目介绍还以为是个较简单的opencv的特征检测项目,在我毕设的基础上可能深入一点,后面看到跟深度学习还有关联。之前一直想入门深度学习,但奈何去搜攻略都是长篇大论,无从下手,这次正好借着这个项目学习一下pytorch框架,anaconda的虚拟环境,只是可能pyqt只是其中一个附属罢了。

     我一直都认为,学习代码相关的技能,大部头书籍不如自己借一个项目来,从结果推初始也好,自己码一遍跑一下看看错哪了也好,学习也可以是逆向的,合乎自己感觉要紧。

     因为这个最近发现的领域是自己不曾涉足的,在环境配置上有很多细节,我觉得有必要记录一下。

二.环境配置

1. Anaconda下载

    之前只安装了python和pycharm,因为下载anaconda自带一个python,下载后需要在环境变量中删掉path中的原python路径,换上anaconda的三个路径。下载过程选择无影响,下载后两者并不冲突,在pycharm中换用anaconda的解释器即可。

D:\Anaconda3
D:\Anaconda3\Scripts
D:\Anaconda3\Library\bin

2.虚拟环境的配置

   (1)创建虚拟python环境

     1)以项目代码的文件夹打开cmd

   如果你是对别人的项目做复现,建议建立个文件夹,把代码塞里面,对这个文件夹cmd(后续安装request库一大堆的很方便)

      2)更换下载源

   在创建虚拟python前,建议先将源更换为清华源如下(中科大我试了几次这里不好使)

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
    3)指定虚拟环境所在位置

考虑到一个虚拟环境加上各种库,容量应该有20g左右或往上,如果你想指定虚拟环境所在的硬盘,建议阅读这篇文章w11下载anaconda在d盘,新建的虚拟环境总是在c盘怎么解决_anaconda创建虚拟环境怎么在c盘_weixin_48373309的博客-CSDN博客

   4)正式创建虚拟环境

在cmd中运行如下代码,python3.8听说与pytorch配合比较稳定,反正我跟着选了

conda create -n yolo5 python==3.8.5
   5)激活虚拟环境

要记得激活虚拟环境,之后cmd会出现(yolo5)也就是你虚拟环境名字打头的语句

conda activate yolo5
(yolo5) D:\yoloTest\yolov5-mask-42-master>python

   

(2)下载pytorch

     下载pytorch建议换成中科大源

conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

 python3.8不宜安装过高版本的pytorch,但选择gpu版本的建议1.10以上

conda install pytorch==1.10.0 torchvision torchaudio cudatoolkit=11.3

(2)下载pycocotools

如下安装即可

pip install pycocotools-windows

(3)下载requirements的库

在cmd也就是在项目文件夹目录下你创建好的虚拟环境中输入dir,其中会显示requirements的命名,然后执行如下命令即可。这一般是github或gitee上大佬做完虚拟环境下深度学习项目后生成的一个打包库。这也是运用anaconda的优势所在。

pip install -r requirements.txt

(4)下载pyqt5与labelimg

pip install pyqt5
pip install labelme

labelimg用途是对图片做截取,生成截取区域的位置信息,相当于自己做一次训练。

 (5)细枝末节

    到这里基本的配置完成了,可以在cmd中直接运行一些命令,也可以文件夹打开pycharm。这时候要做到更换解释器为虚拟环境下的python。如果仍出现torch,pyqt等未识别模块,在pycharm的终端处运行命令,并讲终端换成cmd。还会出现一些如int格式问题,将numpy1.24版卸了换成1.22版的。

三.运行yolov5程序

1.数据集分类

训练集(train),测试集(test),验证集(val)。

训练集就是自己在labelimg进行截图,口罩人脸分类,得到各个图片的labels,将这份数据交给电脑去学习,相当于看老师现场解题。

验证集就是同样需要自己截图,但举个例子,这时候是电脑训练完之后开始做卷子并对答案的过程。

测试集就是正式考试,只给图片,让电脑识别出并分类。

三者喂的比例一般为8:1:1

2. 数据集路径配置

按照如下分成三类,除了test集,其他都需要images与labels,且最好对图片做一个重命名,以便归类,images与labels在截图后是一一对应的。

 

 

 3.运行命令

        直接在终端运行命令

    (1)训练验证命令

        mask_data.yaml中配置好训练与验证图片的索引路径

        weights 使用预训练模型yolov5s

       epoch 100轮

        batch size 每轮8张图片

       device 0 直接使用gpu

       最终会得到一系列分析结果,误差损失精度等等。。

       数据集:训练集120张图,测试和验证都是15张。

       我的配置是3050 4g显存,这样跑一轮是8s,100轮12分钟左右

       对于gpu使用率低的问题还在探究中。。。

python train.py --data mask_data.yaml --cfg mask_yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 100 --batch-size 8 --device 0

      (2)测试命令

     在上面运行结束后,会在run/train/exp/weights目录下出现一个最佳模型best.pt,用这个去跑测试,同样的后面跟的路径是测试集图片的路径。

python detect.py --weights runs/train/exp7/weights/best.pt --source D:/yoloTest/pic/yolo_test/images

     在测试结束后,会在detec目录下生成结果图,可以用以评价效果。

    目前的结果评价是

1. 摄像头视频识别“人脸”精度低

2. 图片对"人脸"识别精度低

3. gpu利用率低

4. 对于“口罩”的识别精度高

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信守承诺之手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值