本项目为识别安全帽项目,基于yoloV5模型,接下来,我将一步一步展示我的完整复现过程以及遇到的问题和解决方案。
前言
我们在利用GPU进行深度学习的时候,都要去NVIDIA的官网下载CUDA的安装程序和cudnn的压缩包,然后再进行很繁琐的系统环境配置。不仅环境配置麻烦,而且还特别容易配置错误,特别还有CUDA和cudnn版本的对应也特别容易搞错,但是利用anaconda安装配置pytorch和paddlepaddle环境的时候会自动帮我们配置好cuda和cudnn。
一、直接创建虚拟环境(不介绍如何安装Anconda了,自行百度搜索)
第一步:
- win+R 输入cmd,打开终端
- conda env list 用来查看有哪些环境
可以看出来,新安装的anaconda只有一个base环境
这里先讲一下anaconda环境,首先base环境是一个大的环境,类似一个很大的一个房子(但是没有房间),当我们每创建一个环境就都会相当于在这个大房子里面用隔板创建一个房间,然后这个房间里面可以安装我们所需要的包,这样管理起来就比较方便。如图可以比较直观的诠释anaconda的环境。
- conda create -n pytorch python=3.8 创建虚拟环境conda create -n 环境名字(英文) python=x.x(python版本),我就是创建了一个名字叫pytorch,python是3.8版本的环境。
- conda remove --name myenv --all 假设环境名称为myenv,此方法为删除环境
通过在终端命令行输入conda create -n pytorch python=3.8
,会显示下面的内容。
出现如下形式则安装成功。
在终端命令命令行输入conda activate pytorch
,则会进入该环境。
进入环境之后,则需要安装相应的包,安装pytorch-gup版的环境,由于pytorch的官网在国外,下载相关的环境包是比较慢的,所以我们给环境换源。在pytorch环境下执行如下的命名给环境换清华源。
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/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
然后打开pytorch的官网:https://pytorch.org/,
首先查看电脑的显卡版本,步骤为:此电脑右击–>管理–>设备管理器–>显示适配器。就可以看到电脑显卡的版本了。如图,可以看到我的是一块RTX3050显卡。
有显卡驱动的,可以直接在桌面右键,找到英伟达驱动控制面板打开就好了。
显卡驱动的下载地址:https://www.nvidia.cn/drivers/lookup/(可能打开比较慢,多打开几遍)。
然后根据自己的电脑的配置去选择驱动。这里Notebooks是笔记本的意思,所以如果你是笔记本电脑,那么产品系列那个选项就要选择(Notebooks)的。还有那个下载类型有两种一个是Studio版本,一个是Game Ready版本。其实两个版本都差不多,一个是偏办公用,一个是偏游戏娱乐。按如下操作将驱动下载下来。然后点击下载来的程序,不断的下一步就好了。
安装(更新)好了显卡驱动以后。我们按下win+R组合键,打开cmd命令窗口。输入如下的命令。nvidia-smi
由于刚才我们通过驱动检测到我的显卡为 RTX3050,最高支持cuda12.6版本,所以我们选择cuda12.6版本的cuda,然后将下面红色框框中的内容复制下来
由于cuda12.6提示不能用,建议我们用pip下载,因此我们使用pip的。
当我运行此命令pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
出现了下面的错误,
因此,我们换个命令行pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu126
出现以下内容,则表示安装成功。
二、项目开始
2.1 数据集准备
https://pan.baidu.com/s/1WwNX-bU9fD_mAofasn7E4A?pwd=6x9r
上面的链接为数据集的链接,下载即可。
下载好数据集之后,用第三步“数据集格式转换与划分”中将voc数据格式转换为yolo数据格式的代码,完成数据集的划分。
在划分数据集之前,你的数据集结构应该是这样子的:
当数据集划分后,除了在VOC2007路径下多了yolo格式的数据文件夹:
在VOCdevkit路径下会多出两个文件夹,分别是images和labels,里面其实就是划分的训练集和验证集。
进入yolov5下载的GitHub网站下载代码:https://github.com/ultralytics/yolov5/tree/v5.0
通过下面这个链接下载5s这个权重文件:https://pan.baidu.com/s/10uyMTanqm9DQvSFctiyYQQ?pwd=wnlt
数据集的放置:放置到你解压源代码文件后的yolov5-5.0路径下就可以了,与data、models、runs等文件夹是同路径的。
2.2 数据集标注
首先通过Anaconda安装labelimg,在Anaconda命令行窗口中依次输入下列代码,安装labelimg依赖的第三方库。
python"># 进入自己创建的虚拟环境
conda activate mytorch
# 安装相关的库
pip install PyQt5 -i https://pypi.douban.com/simple
pip install pyqt5-tools -i https://pypi.douban.com/simple
pip install lxml -i https://pypi.douban.com/simple
pip install labelimg -i https://pypi.douban.com/simple
#若安装失败,则去掉-i 网址
然后在Anaconda Prompt终端输入labelimg指令进入到labelimg标注界面,labelimg的标注模式分为VOC和YOLO两种,两种模式下生成的标注文件分别为.xml文件和.txt文件,因此在进行标注前需要优先选择好标注的模式。进入labelimg标注工具的初始化界面如下图所示。
2.3 划分训练集和验证集
运行prepare_data.py在yolov5项目文件夹下生成yolov5_train.txt和yolov5_val.txt,在VOCdevkit / VOC2007目录下可以看到生成了YOLOLabels文件夹 ;另外,在VOCdevkit目录下生成了images和labels文件夹。
注意:yolov5_train.txt和yolov5_val.txt分别给出了训练图片文件和验证图片文件的列表,含有每个图片的路径和文件名。
2.4 修改配置文件
修改配置文件:data/voc_hat.yaml和models/yolov5s_hat.yaml参数——训练集和验证集数据加载路径、标注的类别数、标签类别名称
以上内容,便是完整的全部项目,需要完整的项目可以私信。