Windows 10 + miniconda 安装配置labelImg + yolov5

文章目录

    • 1、安装miniconda
      • miniconda下载网址:[https://docs.conda.io/en/latest/miniconda.html](https://docs.conda.io/en/latest/miniconda.html)
      • conda更换清华源:[https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/](https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)
      • pip更换清华源
      • conda基本命令: [https://aitechtogether.com/ai-question/9770.html](https://aitechtogether.com/ai-question/9770.html)
    • 2、安装LabelImg
    • 3、下载yolov5
    • 4、yolov5模型训练
      • 在pycharm上训练
      • 开始测试
      • 结语

1、安装miniconda

miniconda下载网址:https://docs.conda.io/en/latest/miniconda.html

安装成功后,可以更换conda以及pip的下载源地址。

conda更换清华源:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。
然后用文本编辑器打开.conda文件,将内容更改为下列内容。

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。

pip更换清华源

在Windows的个人目录下C:\Users\xxxxx,创建pip文件夹,然后在文件夹中创建名为pip.ini的文件,添加以下内容

[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

conda基本命令: https://aitechtogether.com/ai-question/9770.html

创建一个名为yolo的虚拟环境

conda create -n yolo python=3.9 

查看虚拟环境列表

conda env list

切换虚拟环境

conda activate yolo

Windows 10 + miniconda 安装配置labelImg + yolov5_第1张图片

2、安装LabelImg

LabelImg下载地址:https://github.com/tzutalin/labelImg
安装结束后,使用Anaconda Powershell Prompt(conda 命令行)进入到labelimg目录,删除掉labelImg\data\predefined_classes.txt文件的内容,不然标记图片的时候会自动添加一些奇怪的类别,也可以选择不删除,如果想要用到默认的分类。依次执行下列命令:

conda install pyqt=5
conda install -c anaconda lxml
pyrcc5 -o libs/resources.py resources.qrc

这里安装时可能会出现 python 报错:from lxml import etree

首先,因为有的lxml版本没有etree部分,所以import会报错;其次,若lxml版本没有问题,检查是否激活conda环境(windows下有时候base也需要激活),不激活conda环境的话可能会默认使用pip下的lxml,pip下的lxml或许会因为版本问题出现这个错误。又或者重新打开conda命令行,重新执行一次上诉命令。

然后输入python labelimg.py打开qt界面,如下图更改配置,打开这个就是对我们的图片进行标注。

快捷键操作:用的最多就是w、d、a、Ctrl + s

Ctrl + u	Load all of the images from a directory
Ctrl + r	Change the default annotation target dir
Ctrl + s	Save
Ctrl + d	Copy the current label and rect box
Ctrl + Shift + d	Delete the current image
Space	Flag the current image as verified
w	Create a rect box
d	Next image
a	Previous image
del	Delete the selected rect box
Ctrl++	Zoom in
Ctrl--	Zoom out
↑→↓← | Keyboard arrows to move selected rect box

操作区块,它会提示你输入类别,例如我这里输入的是A,只要前面我们选择了单一类别模式,后续的所有图片都会默认为A类别。值得注意的是要设置好存放目录,存放目录存放的是我们标注的信息,我选择放在了labels文件下。
Windows 10 + miniconda 安装配置labelImg + yolov5_第2张图片

对于A.yaml文件,文件里面内容如下,其中train和val都是我们images的目录,labels的目录不用写进去,会自动识别。nc代表识别物体的种类数目,这里nc=1,names代表种类名称,如果多个物体种类识别的话,可以自行增加。

# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: ../yolo_A/images/
val: ../yolo_A/images/
# number of classes
nc: 1

# class names
names: ['A LAN']

3、下载yolov5

yolov5地址: https://github.com/ultralytics/yolov5
下载yolov5源码后,进行解压,可以看到里面有requirements.txt文件,里面记录了需要安装的包,这个txt文件可以帮助我们一键下载这些依赖包。
文件夹里也包含了train.py文件,这个也是我们接下来训练yolo模型需要用到的启动文件。
我们首先打开我们下载好的yolov5文件夹,打开conda 命令行进入该目录,注意要从base环境切换到yolo环境。
执行命令

pip install -r requirements.txt

到了这一步,就可以开始准备训练yolov5模型了。

查看torch的版本,这里默认安装了cpu版本的,我们想要的是支持GPU的,所以要更改一下。
请添加图片描述
卸载原有的torch

pip unintsall torch

下载对应版本的torch,主机上的CUDA版本可以在Windows命令行使用nvcc --version或者NVIDIA-smi查看,我的就是11.6。
Windows 10 + miniconda 安装配置labelImg + yolov5_第3张图片
相关torch版本下载地址:https://download.pytorch.org/whl/torch_stable.html
Windows 10 + miniconda 安装配置labelImg + yolov5_第4张图片
这里对于这些文件命名规则做一些解释:

1、最前面的’cu116’指的是支持11.6版本的cuda。如果是’cpu’则说明是cpu版本的包,不适配gpu。
2、cuda版本号后的’/‘和’%'之间的是包的内容和版本,比如torch-1.10.0就是1.10.0版本的torch,这个很容易理解。
再往后的’2B’没猜出来是什么意思,可能是to B?
3、紧接着的’cu116’和前面是一个意思,表示支持的cuda版本,'cp3x’则表示支持的Python版本是3.x,如果是由于我安装的是Python3.9.13,因此我选择的是cp39的包。
4、最后面的’Linux_x86_64’和’win_amd64’就很简单了,Linux版本就选前一个,Windows版本就选后一个,MacOS的就不知道了,可能也是后一个(瞎猜)。

这里需要下载torch以及torchvision两个文件
请添加图片描述
然后使用命令进行安装即可,需要注意的是应该先安装torch再安装torchvision

pip install F:\download\torch-1.12.1+cu116-cp39-cp39-win_amd64.whl
pip install F:\download\torchvision-0.13.1+cu116-cp39-cp39-win_amd64.whl

接着重新查看torch版本以及查看是否支持GPU,至此,走完了一半的路。

Windows 10 + miniconda 安装配置labelImg + yolov5_第5张图片

4、yolov5模型训练

在pycharm上训练

打开pycharm导入yolov5的项目,加载环境,就是之前我们创建的虚拟环境yolov5。File->Setting->Project,点击Add Interpreter。Windows 10 + miniconda 安装配置labelImg + yolov5_第6张图片
yolov5里面有个detect.py,运行后根据路径打开图片如图一样就成功了。
Windows 10 + miniconda 安装配置labelImg + yolov5_第7张图片
Windows 10 + miniconda 安装配置labelImg + yolov5_第8张图片
然后运行train.py,记得先更换对应的yaml文件。
Windows 10 + miniconda 安装配置labelImg + yolov5_第9张图片
训练完成后会出现train文件夹,前面的detect.py执行后会出现detec文件夹。打开train文件夹会看到一个weights文件夹,里面的best.pt就是训练中效果最好的,last.pt就是最后一次训练的。
Windows 10 + miniconda 安装配置labelImg + yolov5_第10张图片

开始测试

我在images文件下放了一个test文件,用于测试
Windows 10 + miniconda 安装配置labelImg + yolov5_第11张图片
修改detec.py的设置。第一个就是训练中最好的例子,第二个就是测试文件,第三个就不用说了。
Windows 10 + miniconda 安装配置labelImg + yolov5_第12张图片
运行测试之后,查看结果,效果一般般,其中有一张把暖羊羊给检测出来了,准确度有待提高啊。
Windows 10 + miniconda 安装配置labelImg + yolov5_第13张图片

结语

希望这篇文章能够帮助到大家,因为自己也是一窍不通开始的,人生的路上我很多时候都是个小白的身份,但是记得要永远保持热情。成长的路上诚然不会一帆风顺的,但是转过头来想想,不经历风风浪浪的水手又怎么会是一个强大的水手呢,不出港,就永远不会翻船,但也永远体会不到大海的辽阔与精彩。共勉!

你可能感兴趣的:(机器学习,深度学习)