Google Colab 开发记录(3)YOLOv5 环境搭建、训练、推理

网友投稿 1296 2022-05-28

前言

本文是实践记录,首先搭建YOLOv5 开发环境,然后训练模型,最后推理,查看效果。本文分为精简版和详细版,精简版是由简介和命令组成的;详细版是由简介、命令、过程信息记录 组成的。

前提

挂载谷歌云盘、来到自己的谷歌云盘下的目录。

from google.colab import drive

Google Colab 开发记录(3)YOLOv5 环境搭建、训练、推理

drive.mount('/content/gdrive')

在云盘中,创建一个名为YOLOv5的目录,然后进入目录

cd /content/gdrive/MyDrive/YOLOv5/

精简版——YOLOv5 环境搭建、训练、推理

1)查看当前文件目录

!pwd

显示:/content/gdrive/My Drive/YOLOv5

2)查看分配了什么GPU、内存多大

首先点击“修改”,选择“笔记本设置”,硬件加速----GPU加速

!nvidia-smi

from psutil import virtual_memory

ram_gb = virtual_memory().total / 1e9

print('Your runtime has {:.1f} gigabytes of available RAM\n'.format(ram_gb))

3)下载YOLOv5官方代码

!git clone https://github.com/ultralytics/yolov5

4)查看当前目录有哪些文件

!ls

5)进入YOLOv5目录

cd yolov5

!pwd

这两调命令需要分开执行;

6)安装YOLOv5的开发环境

pip install -r requirements.txt

7)测试开发环境是否正常

import torch

# Model

model = torch.hub.load('ultralytics/yolov5', 'yolov5s')  # yolov5s or yolov5m, yolov5l, yolov5x, custom

# Images

img = 'https://ultralytics.com/images/zidane.jpg'  # or file, Path, PIL, OpenCV, numpy, list

# Inference

results = model(img)

# Results

results.print()  # or .show(), .save(), .crop(), .pandas(), etc.

8)复制模型到指定目录下

上面下载了torch.hub.load的离线模型yolov5s,这保存起来,方便后面使用。

cp /root/.cache/torch/hub/ultralytics_yolov5_master/yolov5m.pt /content/gdrive/MyDrive/YOLOv5/yolov5/detect_models/

!pwd

!ls

9)推理

有几种输入方式:

默认图片文件夹推理

!python detect.py

单张图片推理

!python detect.py --source 'https://ultralytics.com/images/zidane.jpg'

视频推理

!python detect.py --source 'https://youtu.be/Zgi9g1ksQHc'

相机推理

!python detect.py --source  0

10)下载COCO数据集---128

!curl -L https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip -o coco128.zip

!pwd

!ls

!unzip -q coco128.zip -d ../datasets

!ls /content/gdrive/MyDrive/YOLOv5/datasets/coco128

11)训练模型

!pwd

!ls

训练YOLOv5s模型

!python train.py --data coco128.yaml --cfg yolov5s.yaml --weights '' --batch-size 64 --epochs 300

其他模型

详细版——YOLOv5 环境搭建、训练、推理

前提

挂载谷歌云盘、来到自己的谷歌云盘下的目录。

from google.colab import drive

drive.mount('/content/gdrive')

执行命令后,需要点击链接,获取验证信息,然后输入执行命令下方的框框中。

在云盘中,创建一个名为YOLOv5的目录,然后进入目录

cd /content/gdrive/MyDrive/YOLOv5/

运行效果如下:

1)查看当前文件目录

!pwd

显示:/content/gdrive/My Drive/YOLOv5

2)查看分配了什么GPU、内存多大

首先点击“修改”,选择“笔记本设置”,硬件加速----GPU加速

!nvidia-smi

from psutil import virtual_memory

ram_gb = virtual_memory().total / 1e9

print('Your runtime has {:.1f} gigabytes of available RAM\n'.format(ram_gb))

3)下载YOLOv5官方代码

!git clone https://github.com/ultralytics/yolov5

4)查看当前目录有哪些文件

!ls

5)进入YOLOv5目录

cd yolov5

!pwd

这两调命令需要分开执行;

6)安装YOLOv5的开发环境

pip install -r requirements.txt

7)测试开发环境是否正常

import torch

# Model

model = torch.hub.load('ultralytics/yolov5', 'yolov5s')  # yolov5s or yolov5m, yolov5l, yolov5x, custom

# Images

img = 'https://ultralytics.com/images/zidane.jpg'  # or file, Path, PIL, OpenCV, numpy, list

# Inference

results = model(img)

# Results

results.print()  # or .show(), .save(), .crop(), .pandas(), etc.

8)复制模型到指定目录下

上面下载了torch.hub.load的离线模型yolov5s,这保存起来,方便后面使用。

cp /root/.cache/torch/hub/ultralytics_yolov5_master/yolov5m.pt /content/gdrive/MyDrive/YOLOv5/yolov5/detect_models/

!pwd

!ls

9)推理

有几种输入方式:

默认图片文件夹推理

!python detect.py

单张图片推理

!python detect.py --source 'https://ultralytics.com/images/zidane.jpg'

视频推理

!python detect.py --source 'https://youtu.be/Zgi9g1ksQHc'

相机推理

!python detect.py --source  0

10)下载COCO数据集---128

!curl -L https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip -o coco128.zip

!pwd

!ls

!unzip -q coco128.zip -d ../datasets

!ls /content/gdrive/MyDrive/YOLOv5/datasets/coco128

11)训练模型

!pwd

!ls

训练YOLOv5s模型

!python train.py --data coco128.yaml --cfg yolov5s.yaml --weights '' --batch-size 64 --epochs 300

等待训练完成即可;

训练好的模型保存在 runs/train/exp14

在此命令中 !python train.py --data coco128.yaml --cfg yolov5s.yaml --weights '' --batch-size 64 --epochs 300

要点:

--data coco128.yaml 是指训练的数据集;

--cfg yolov5s.yaml 是指训练那个模型,还可以选择yolov5m.yaml、yolov5x.yaml、yolov5l.yaml

--weights '' 是指初始权重,可以为空,也可以输入一个xxx.pt,比如yolov5s.pt

--batch-size 64 是指训练批次大小,根据显存大小设置,如果显存不够可以设置32、16、8等;

--epochs 300  是指迭代次数,一共迭代多少轮。

参考链接:https://github.com/ultralytics/yolov5

深度学习

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:强烈推荐:国产Office软件WPS的使用体验
下一篇:大数据学习常见问题
相关文章