Google Colab 开发记录(3)YOLOv5 环境搭建、训练、推理
【摘要】 前言本文是实践记录,首先搭建YOLOv5 开发环境,然后训练模型,最后推理,查看效果。本文分为精简版和详细版,精简版是由简介和命令组成的;详细版是由简介、命令、过程信息记录 组成的。前提挂载谷歌云盘、来到自己的谷歌云盘下的目录。from google.colab import drivedrive.mount('/content/gdrive')在云盘中,创建一个名为YOLOv5的目录,然后...
前言
本文是实践记录,首先搭建YOLOv5 开发环境,然后训练模型,最后推理,查看效果。本文分为精简版和详细版,精简版是由简介和命令组成的;详细版是由简介、命令、过程信息记录 组成的。
前提
挂载谷歌云盘、来到自己的谷歌云盘下的目录。
from google.colab import drive
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 是指迭代次数,一共迭代多少轮。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)