Yolov5上手初体验
本文最后更新于 169 天前,其中的信息可能已经有所发展或是发生改变。

最近去了解了下人工智障bushi,觉得yolov5还是挺好玩的,分享一下学习笔记。

前言

由于博主手边没有一台带有较好的n卡的机子,本文章测试环境为Google Colab。关于Google Colab,本文不再赘述,如需了解请自行搜索(可能以后水一篇文章)

正式开始

准备工作

首先来到https://colab.research.google.com/ 登陆你的谷歌账号并新建一个笔记本。然后clone yolov5的github仓库,代码如下:(注:本文部分代码来自YOLOv5官方仓库,遵循其许可证进行开源)

!git clone https://github.com/ultralytics/yolov5  # clone
%cd yolov5
%pip install -qr requirements.txt  # install

import torch
from yolov5 import utils
display = utils.notebook_init()  # checks

检测

虽然还没有跑模型,但其实已经可以开始去检测了,官方有用coco集训练的权重文件。检测代码如下:

!python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images
display.Image(filename='runs/detect/exp/zidane.jpg', width=600)

!是Colab的写法,第二句仅仅为显示图片。--conf函数是置信度,置信度大于0.25才会进行标记,可以更改,--source是需要检测的图片,可以改为摄像头,youtube链接,视频,图片,目录等。

训练

训练也就是俗称的跑模型,需要依赖GPU(CPU跑得炒鸡慢)Colab默认只有CPU,需要在修改-笔记本设置修改为GPU。

1f3560202040843
520a30202040843

接着,我们来训练coco集,当然你也可以使用自己的数据集甚至制作自己的数据集。先把coco集拉下来

# Download COCO test-dev2017
torch.hub.download_url_to_file('https://ultralytics.com/assets/coco2017labels.zip', 'tmp.zip')
!unzip -q tmp.zip -d ../datasets && rm tmp.zip
!f="test2017.zip" && curl http://images.cocodataset.org/zips/$f -o $f && unzip -q $f -d ../datasets/coco/images

然后开始训练,代码如下:

!python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache

--epochs 是训练次数,这里保留官方原Colab的3次,实际使用建议100次甚至更多,--weights是训练所使用的预训练模型,s是最小的模型,其次还有m,l,x等其他的权重文件,个人习惯一般使用yolov5m.pt,--batch 是硬件同时训练最大数量,根据自己的显卡而定,Colab使用16感觉没有问题。 --data是训练所使用的文件,注意需要写成yaml格式,yaml格式文件写法如下:

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: python train.py --data coco128.yaml
# parent
# ├── yolov5
# └── datasets
#     └── coco128  ← downloads here


# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco128  # dataset root dir
train: images/train2017  # train images (relative to 'path') 128 images  #训练集
val: images/train2017  # val images (relative to 'path') 128 images  #验证集
test:  # test images (optional)

# Classes
nc: 80  # number of classes 类数量
names: ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light',
        'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow',
        'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee',
        'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard',
        'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple',
        'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch',
        'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone',
        'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear',
        'hair drier', 'toothbrush']  # class names 类名称


# Download script/URL (optional)
download: https://ultralytics.com/assets/coco128.zip

这是coco集所使用的yaml,请自行更改。

(没写完,先不写了,后续可能更新更加详细的炼丹教程)

加入QQ群1014345230一起划水吧
转载请注明来源及链接
如需商业用途请联系作者
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇