云服务器搭建YOLOv5训练环境
- Ai
- 7天前
- 51热度
- 0评论
介绍
本文使用AutoDL云服务搭建YOLOv5的运行环境。
获取云服务器
在这个链接上https://www.autodl.com/home订阅服务,这里选择的是按量计费。
镜像选择基础镜像Mniconda最新ubuntu环境。
交钱订阅完成后就可以获取到登录的信息了。
这里使用的是ssh工具根据获取到的登录名和密码进行登录,需要注意的是端口可能不是默认的22,按照实际的端口进行。
配置conda环境
由于autoDL的服务器可能并不能访问外网,这里先将conda的源更换为清华的源。
conda config --remove-key channels
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
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
接下来创建和激活虚拟环境
conda create -n yolov5 python==3.8.5
# 创建虚拟环境名称为yolov5, python版本为3.8.5
conda activate yolov5
# 激活yolov5环境
conda init
# 如果提示没有初始化conda环境的话,执行conda init后退出控制台重新登录,再次激活。
conda env list
# 通过上面的命令可以查看当前创建的conda虚拟环境
拉取YOLOv5代码环境
通过官网链接获取YOLOv5的代码。
cd autodl-tmp/
#这里先切换到audodl-tmp目录,这个空间比较大,读写也比较快。
git clone https://github.com/ultralytics/yolov5
# 在github上拉取代码
如果要在本地使用vscode查看代码的话,可以参考:https://www.autodl.com/docs/vscode/
这里需要注意的是,audoDL可能没有访问GitHub,处理的办法就是参考这个方法在服务器上面做一个代理,https://github.com/VocabVictor/clash-for-AutoDL
按照yolov5的代码环境需要的包
pip install -r requirements.txt
安装完成后,进行推理测试,看看环境是否安装正常,执行detect.py 指定模型文件和输入图片进行测试。
python detect.py --weights yolov5s.pt --source data/images/bus.jpg
执行上面脚本是,会自动拉取预训练的模型yolov5s.pt,最终将推理结果存储到runs/detect/exp2目录下。
训练自定义数据集
这里从GitHub上抓了一个口罩的书籍集,https://github.com/iAmEthanMai/mask-detection-dataset.git,使用git clone拉取到本地。
git clone https://github.com/iAmEthanMai/mask-detection-dataset.git
查看mask的数据集配置,有3个分类。这里使用yolov5s进行微调,复制一份yolov5的模型配置文件,并修改分类为3,需要根据实际的数据集存放的位置调整一下路径。
cp models/yolov5s.yaml models/mask_yolov5s.yaml
配置完成后就可以进行训练了。
python train.py --data mask-detection-dataset/data/data.yaml --cfg models/mask_yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 100 --batch-size 4
模型文件将输出到:runs/train/exp5/weights/
python detect.py --weights runs/train/exp5/weights/best.pt --source mask-detection-dataset/data/images/maksssksksss1.png