Google Colab 開發記錄(3)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? 是指迭代次數,一共迭代多少輪。
參考鏈接:https://github.com/ultralytics/yolov5
深度學習
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。