前言
本文是在看了《学生党 白嫖之GPU Google colab 训练深度学习模型》 一文之后,按照作者所述内容复现的Colab训练YOLO-v5的模型实验。本文将《学生党 白嫖之GPU Google colab 训练深度学习模型》一文中的所有命令由图片转为了文本,以方便使用。
YOLOv5简单来说是用于处理物体检测任务的较为成熟的模型。本文案例中,使用YOLOv5检测照片中的成员是否佩戴了口罩。
前期准备
- 科学上网 + google账号
- google云端硬盘:google-drive
- Colab
- github:yolo5
- 数据集:口罩mask数据集(百度网盘)
- 链接:https://pan.baidu.com/s/1MazVtoVPDxNo6fXTBMCQ3Q
- 提取码:gaax
上传数据集到google-drive
打开google-drive。 
选择新建 --> 文件夹。输入文件夹名称之后点击创建。之后就会出现我们创建的文件夹:  双击我们创建好的文件夹,进入文件夹。
鼠标右键 --> 上传文件集。上传我们已经解压好的口罩mask数据集。(我这里命名为dataset_mask)

创建google colaboratory
在我们创建的文件夹中(此处为test1)点击新建,创建Google Colaboratory 
Colab实现模型训练
开启GPU加速
双击进入我们创建的文件  更改运行时的类型,硬件加速器选择GPU  可以输入如下代码进行测试:
!nvidia-smi
显示: 
Colab连接google-drive
import os
from google.colab import drive
drive.mount('/content/drive')
运行后按照指示打开链接,获取授权码,填写之后会显示如下信息:  进行如下代码操作,实现目录更换,转到google-drive目录:
%cd /content/drive/
%ls
%cd MyDrive/
%ls
%cd test1/
%ls
此时进入我们创建的文件夹(test1) 
git clone yolo5代码,并适配我们的任务
!git clone https://github.com/ultralytics/yolov5.git
%ls
%cd yolov5/
 由于google colab给的python里面 关于这个库的版本有问题,因此我们需要先将这个库进行升级,才能确保程序可运行。
!pip install -U pyyaml
由于训练的由原先的yolov5的80个类别变成了现在只有两个的类别(有口罩和无口罩),因此需要更改yolov5的配置文件。
- 回到My-drive中,发现在colab文件夹下多了yolov5文件夹
- 打开yolov5->models->yolov5s.yaml->右击open with text editor->修改里面的nc 从80->2->保存文件
 我们还需要修改口罩数据集中的目录文件(此处为 test1 -> data_mask --> data.yaml),修改训练集和验证集的目录 
运行训练文件
!python train.py --data ../dataset_mask/data.yaml --cfg models/yolov5s.yaml --weights '' --batch-size 64
 训练结束后,训练过程的曲线以及图片案例会保存在 test1/yolo5/runs/train中  
|