日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

目标检测第8步:如何在Windows10系统下,训练YOLOv5 5.0自定义数据集?(本地)

發(fā)布時(shí)間:2025/3/8 windows 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 目标检测第8步:如何在Windows10系统下,训练YOLOv5 5.0自定义数据集?(本地) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?請先看這篇文章:????????????????????????本博打開方式!!!請?jiān)斪x!!!請?jiān)斪x!!!請?jiān)斪x!!!_Cat-CSDN博客?

????????很多剛?cè)腴T的粉絲私信我說,他們的電腦配置很好,想在本地訓(xùn)練YOLOv5的自定義數(shù)據(jù)集,這樣方便很多,不用擔(dān)心資源被收回的問題,那就安排一下。

????????因?yàn)槭褂昧薖ycharm編輯器進(jìn)行訓(xùn)練并對官方代碼進(jìn)行了細(xì)微修改,所以請看這篇文章:在Windows 10系統(tǒng)下,如何在Pycharm中配置YOLOv5虛擬環(huán)境?_Cat-CSDN博客_pycharm安裝yolo

? ? ? ? 本文章的大部分內(nèi)容與這篇Yolov5如何在Colab中訓(xùn)練自定義數(shù)據(jù)集?(更新時(shí)間:2022.3.14)_Cat-CSDN博客相似,所以先閱讀上面這篇文章,到了“三、訓(xùn)練”的“4、正式訓(xùn)練”時(shí),請閱讀本文。

一、數(shù)據(jù)集目錄結(jié)構(gòu)

????????將構(gòu)建好的數(shù)據(jù)集復(fù)制到與yolov5-master同一級目錄下,如下圖所示。

?二、修改yaml文件夾內(nèi)容

????????這里一共有2個(gè)yaml文件需要修改,一個(gè)在data文件夾里,另一個(gè)在models文件夾里。

????????剛才我們將自己的數(shù)據(jù)集文件名改為coco128,那么此時(shí)就要到data里修改coco128.yaml文件內(nèi)容了,具體的目錄結(jié)構(gòu)、修改內(nèi)容如下圖所示:

????????我們訓(xùn)練時(shí)使用的預(yù)訓(xùn)練權(quán)重如果是yolov5s.pt,那么就得到models目錄下的yolov5s.yaml文件中修改相應(yīng)的參數(shù),其它同理。比如使用的是yolov5s.pt,那么就得去修改,如下圖所示。注意,請將預(yù)訓(xùn)練模型提前下載好,并放入weights文件夾中。

?三、修改train.py代碼讓訓(xùn)練順利進(jìn)行

?????????在Pycharm中打開train.py文件后,找到主函數(shù)入口,需要對里面的參數(shù)進(jìn)行修改。下面直接貼出大部分參數(shù)所代表的含義。

""" --weights: 預(yù)訓(xùn)練權(quán)重文件的路徑--cfg: 模型yaml文件的路徑--data: 數(shù)據(jù)yaml文件的路徑--hyp: 超參數(shù)文件的路徑--epochs: 訓(xùn)練輪次--batch-size: 每批次文件投入量的多少--img-size: 圖片尺寸--rect: 是否采用矩形訓(xùn)練,默認(rèn)False--resume: 接著上次被打斷訓(xùn)練的結(jié)果繼續(xù)訓(xùn)練--nosave: 不保存模型,默認(rèn)False--notest: 不進(jìn)行test,默認(rèn)False--noautoanchor: 不自動調(diào)整anchor,默認(rèn)False--evolve: 是否進(jìn)行超參數(shù)進(jìn)化,默認(rèn)False--bucket: 谷歌云盤bucket,一般不會用到--cache-images: 是否提前緩存圖片到內(nèi)存,以加快訓(xùn)練速度,默認(rèn)False--image-weights:使用加權(quán)圖像選擇進(jìn)行訓(xùn)練--device: 訓(xùn)練的設(shè)備,有CPU和GPU,0代表一個(gè)設(shè)備--multi-scale: 是否進(jìn)行多尺度訓(xùn)練,默認(rèn)False--single-cls: 數(shù)據(jù)集是否只有一個(gè)類別,默認(rèn)False--adam: 是否使用adam優(yōu)化器--sync-bn: 是否使用跨卡同步BN,在DDP模式使用--local_rank: DDP參數(shù),請勿修改--workers: 最大工作核心數(shù)--project: 訓(xùn)練模型的保存位置--name: 模型保存的目錄名稱--exist-ok: 模型目錄是否存在,不存在就創(chuàng)建 """

????????上述的訓(xùn)練參數(shù)都有默認(rèn)值,但是每臺訓(xùn)練的設(shè)備不同,配置也不同,為了達(dá)到更好的訓(xùn)練效率,我們需要對上述參數(shù)進(jìn)行修改。

1、預(yù)訓(xùn)練權(quán)重--weights。我們在介紹時(shí),采用的是yolov5s.pt預(yù)訓(xùn)練權(quán)重,所以得下載該權(quán)重并復(fù)制到weights文件夾下。同時(shí),我們還得修改--weights參數(shù),關(guān)注到這里:

parser.add_argument('--weights', type=str, default='weights/yolov5s.pt', help='initial weights path')

2、模型yaml文件的路徑--cfg。因?yàn)槲覀冇玫念A(yù)訓(xùn)練模型是yolov5s.pt對應(yīng)yolov5s.yaml,所以將此參數(shù)改為如下路徑:

parser.add_argument('--cfg', type=str, default='models/yolov5s.yaml', help='model.yaml path')

3、我們將自己的數(shù)據(jù)集文件夾改為了coco128,所以對--data參數(shù)的修改如下:

parser.add_argument('--data', type=str, default='data/coco128.yaml', help='data.yaml path')

4、訓(xùn)練輪次。默認(rèn)300,如果想更改,那么請關(guān)注到這里:

parser.add_argument('--epochs', type=int, default=300)

5、圖片數(shù)量及工作核心數(shù)。這二者默認(rèn)16和8。我的電腦CPU是?i9-10900K(10核心,20線程),GPU是RTX2060。如果圖片輸入數(shù)量設(shè)置時(shí)與核心數(shù)不匹配,那么就會出現(xiàn)“RuntimeError:CUDA out of memory. Tried to allocate......"的報(bào)錯(cuò)信息。需要修改這兩個(gè)參數(shù)的同學(xué),請關(guān)注這里:

parser.add_argument('--batch-size', type=int, default=16, help='total batch size for all GPUs')parser.add_argument('--workers', type=int, default=8, help='maximum number of dataloader workers')

6、避免虛擬內(nèi)存不足報(bào)錯(cuò)

? ? ? ? 使用Pycharm編輯器進(jìn)行訓(xùn)練時(shí),可能會出現(xiàn)“OSError:[WinError 1455]頁面文件太小,無法完成操作。 Error loading ......”,此時(shí)需要定位到utils文件夾下的datasets.py文件中,對第81行代碼的“nw”參數(shù)進(jìn)行修改,改為"num_worker=0"即可,如下圖所示:

此時(shí),即可運(yùn)行train.py文件,訓(xùn)練自己的自定義數(shù)據(jù)集了。訓(xùn)練開始的截圖如下圖所示:

last.pt是最后一輪的權(quán)重文件,best.pt是最好的權(quán)重文件。

?四、訓(xùn)練過程可視化

? ? ? ? 有同學(xué)注意到訓(xùn)練開始時(shí),有提示說“tensorboard: Start with 'tensorboard --logdir runs/train', view at http://localhost:6006/”,所以,可以在Termianl框中輸入:

tensorboard --logdir runs/train

?在對應(yīng)的頁面看到訓(xùn)練過程,如下圖所示:

?如果模型訓(xùn)練完畢,那么將會使用如下命令查看訓(xùn)練結(jié)果:

tensorboard --logdir=runs

五、權(quán)重文件推理測驗(yàn)?

?將我們剛才訓(xùn)練產(chǎn)生的權(quán)重文件best.pt復(fù)制到weights文件夾中,使用命令行進(jìn)行驗(yàn)證:

python detect.py --weights weights/best.pt --img 640 --conf 0.25 --source data/images/ # --weights后面跟的是權(quán)重文件的路徑 # --conf后面是置信度 # --source后面是要推理的圖片路徑,可以具體到文件名,還可以是整個(gè)文件夾

到對應(yīng)文件查看照片即可。

總結(jié)

以上是生活随笔為你收集整理的目标检测第8步:如何在Windows10系统下,训练YOLOv5 5.0自定义数据集?(本地)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。