若該文為原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明原文出處。
一般情況下,大部分人的電腦都是沒有cpu的,cpu也是可以訓(xùn)練的,但花費(fèi)的時(shí)間太長(zhǎng),實(shí)際200張圖片,使用CPU訓(xùn)練300輪花了3天,本章記錄使用云服務(wù)器來訓(xùn)練自己的數(shù)據(jù)集。
使用的云服務(wù)器是AutoDL,一直在使用,性價(jià)比還是比較高的。
AutoDL算力云 | 彈性、好用、省錢。租GPU就上AutoDL
訓(xùn)練疲勞駕駛行為檢測(cè)
一、準(zhǔn)備數(shù)據(jù)集
數(shù)據(jù)集可以自己拍照,也可以網(wǎng)上找,博主在網(wǎng)上找到了一份疲勞駕駛行為的圖片,直接拿過來用了,共有2千多張。?
準(zhǔn)備好數(shù)據(jù)后需要數(shù)據(jù)標(biāo)注,數(shù)據(jù)標(biāo)注是大部分人工智能算法得以有效運(yùn)行的關(guān)鍵環(huán)節(jié)。數(shù)據(jù)標(biāo)注的過程是通過人工貼標(biāo)的方式,為機(jī)器系統(tǒng)可供學(xué)習(xí)的樣本。yolov5標(biāo)注使用的是labelimg軟件。
需要數(shù)據(jù)集,下方評(píng)論或@博主。標(biāo)注數(shù)據(jù)是在本地電腦操作,標(biāo)注后才把數(shù)據(jù)上傳到云服務(wù)器訓(xùn)練
二、labelimg
1、激活環(huán)境
conda activate yolo
編輯
2、安裝labelimg
# 使用pip 安裝 pip install labelimg
安裝后,在終端輸入labelimg啟動(dòng)軟件
3、標(biāo)注
標(biāo)記完成的數(shù)據(jù)請(qǐng)按照下面的格式進(jìn)行放置,方便程序進(jìn)行索引。 colo128 ├─ images │ ├─ test # 下面放測(cè)試集圖片 │ ├─ train # 下面放訓(xùn)練集圖片 │ └─ val # 下面放驗(yàn)證集圖片 └─ labels ├─ test # 下面放測(cè)試集標(biāo)簽 ├─ train # 下面放訓(xùn)練集標(biāo)簽 ├─ val # 下面放驗(yàn)證集標(biāo)簽
3.1 打開圖片及設(shè)置標(biāo)注文件保存的目錄并設(shè)置自動(dòng)保存,這里需要主要選擇yolo格式
3.2 開始標(biāo)注,畫框,標(biāo)記目標(biāo)的label,crtl+s
保存,然后d切換到下一張繼續(xù)標(biāo)注,不斷重復(fù)重復(fù)
標(biāo)注完成后,把colo128打包壓縮下,準(zhǔn)備上傳到服務(wù)器。
三、訓(xùn)練數(shù)據(jù)集
1、注冊(cè)AutoDL
自行注冊(cè),云服務(wù)可以按時(shí)收費(fèi),也可以其他方式,自己選擇。
2、創(chuàng)建實(shí)例
配置選擇,選擇的是3090,也可以其他,我比較喜歡就是直接選擇好社區(qū)鏡像,就給你創(chuàng)建好環(huán)境
創(chuàng)建后開啟,可以通過多種方式登錄,為了方便,直接使用JupyterLab
JupyterLab,打開終端就可以看到終端界面了,環(huán)境也安裝好了
3、上傳數(shù)據(jù)集和下載YOLOV5-5.0
刪除環(huán)境自帶的yolov5版本,然后下載yolov5-5.0版本,并上傳到服務(wù)器,可以直接拖進(jìn)去,并把標(biāo)注好的數(shù)據(jù)也一并上傳。
4、修改配置文件
博主是 基于colo128配置文件訓(xùn)練的,這里需要修改兩個(gè)文件
修改文件一:復(fù)制yolov5-5.0/data/colo128.yaml為pilao_coco128.yaml
# 修改一:數(shù)據(jù)集路徑 train: ../coco128/images/train2017/ # 128 images val: ../coco128/images/train2017/ # 128 images ? # number of classes # 修改,原本是80,修改成3 nc: 3 # 修改二:class names即標(biāo)注的類,數(shù)據(jù)集標(biāo)注了3類,所以修改成3類,colo128是80類 # class names names: [ 'closed_eye','closed_mouth','open_eye']
修改文件二:復(fù)制yolov5-5.0/models/yolov5s.yaml為pilao_yolov5s.yaml
注意不一定是yolov5s.yaml,這是訓(xùn)練時(shí)參考的模型,可以是其他的,自行了解
# parameters # 修改,原本是80,修改成3 nc: 3 # number of classes depth_multiple: 0.33 # model depth multiple width_multiple: 0.50 # layer channel multiple
5、訓(xùn)練
python train.py --img 640 --batch 16 --epochs 300 --data ./data/pilao_coco128.yaml --cfg ./models/pilao_yolov5s.yaml
看到進(jìn)度,已經(jīng)在運(yùn)行了,訓(xùn)練了大概3個(gè)多小時(shí)。
最后可以在runs/train/expX/weights目錄下看到生成了兩個(gè)pt文件
6、測(cè)試
python detect.py --source data/images/zidane.jpg --weights runs/train/exp2/weights/best.pt
路徑自行修改。文章來源:http://www.zghlxwxcb.cn/news/detail-617911.html
如有侵權(quán),或需要完整代碼,請(qǐng)及時(shí)聯(lián)系博主。文章來源地址http://www.zghlxwxcb.cn/news/detail-617911.html
到了這里,關(guān)于AI學(xué)習(xí)筆記四:yolov5訓(xùn)練自己的數(shù)據(jù)集的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!