Yolov5 環境配置完成后配置練習文件以及練習數據注意事項

參考https://blog.csdn.net/qq_36756866/article/details/109111065
1)準備自己的數據集
…images # 存放圖片
…Annotations # 存放圖片對應的xml文件
…ImageSets/Main #之后會在Main文件夾內自動生成train.txt,val.txt,test.txt和trainval.txt四個文件,存放訓練集、驗證集、測試集圖片的名字(無后綴.jpg)
示例如下:
如果生成的是xml文件是以下的步驟(txt生成的在下面
開始{
yolo_1文件夾下內容如下:

Annotations文件夾下面為xml文件(標注工具采用labelImage),內容如下:

images為VOC數據集格式中的JPEGImages,內容如下:

腳本內容在
腳本功能:ImageSets文件夾下面有個Main子文件夾,其下面存放訓練集、驗證集、測試集的劃分,通過腳本生成,可以創建randomfile_xmlstep1一個文件
運行代碼后,在Main文件夾下生成下面四個txt文檔:

2.接下來準備labels,把數據集格式轉換成yolo_txt格式,即將每個xml標注提取bbox信息為txt格式(這種數據集格式成為yolo_txt格式),每個圖像對應一個txt文件,文件每一行為一個目標的信息,包括class, x_center, y_center, width, height格式。格式如下:

創建labels
創建 腳本,將訓練集、驗證集、測試集生成label標簽(訓練中要用到),同時將數據集路徑導入txt文件中
運行后會生成如下laels文件夾和三個包含數據集的txt文件,其中labels中為不同圖像的標注文件,train.txt等txt文件為劃分后圖像所在位置的絕對路徑,如train.txt就含有所有訓練集圖像的絕對路徑。
運行voc_label.py時報錯“ZeroDivisionError: float division by zero”的原因是:標注文件中存在width為0或者height為0的數據,檢查修改后可解決。

三個txt文件里面的內容如下:

}結束
如果生成的是txt文件是以下的步驟
開始{
運行生成ImageSets內容的腳本


腳本內容在
腳本功能:ImageSets文件夾下面有個Main子文件夾,其下面存放訓練集、驗證集、測試集的劃分,通過腳本生成,可以創建randomfile_xmlstep1一個文件
運行代碼后,在Main文件夾下生成下面四個txt文檔:

2.接下來準備labels,把數據集格式轉換成yolo_txt格式,即將每個xml標注提取bbox信息為txt格式(這種數據集格式成為yolo_txt格式),每個圖像對應一個txt文件,文件每一行為一個目標的信息,包括class, x_center, y_center, width, height格式。格式如下:

創建labels
創建 腳本,將訓練集、驗證集、測試集生成label標簽(訓練中要用到),同時將數據集路徑導入txt文件中
運行后會生成如下labels文件夾和三個包含數據集的txt文件,其中labels中為不同圖像的標注文件,train.txt等txt文件為劃分后圖像所在位置的絕對路徑,如train.txt就含有所有訓練集圖像的絕對路徑。
運行voc_label.py時報錯“ZeroDivisionError: float division by zero”的原因是:標注文件中存在width為0或者height為0的數據,檢查修改后可解決。
三個txt文件里面的內容如下:

}結束 調用腳本的時候需要更改其中的相關路徑
3配置文件
1)數據集的配置
在yolov5目錄下的data文件夾下新建一個ab.yaml文件(可以自定義命名),用來存放訓練集和驗證集的劃分文件(train.txt和val.txt),這兩個文件是通過運行voc_label.py代碼生成的,然后是目標的類別數目和具體類別列表
疑問:ab.yaml文件中train和val通過train.txt和val.txt指定,我在訓練時報錯會提示datasets文件找不到 說明路徑設置的不對 腳本生成的文本路徑也會影響
2)模型訓練
源碼中在yolov5目錄下的weights文件夾下提供了下載四種預訓練模型的腳本----download_weights.sh
2.訓練
在train.py進行以下幾個修改:


以上參數解釋如下:
epochs:指的就是訓練過程中整個數據集將被迭代多少次,顯卡不行你就調小點。
batch-size:一次看完多少張圖片才進行權重更新,梯度下降的mini-batch,顯卡不行你就調小點。
cfg:存儲模型結構的配置文件
data:存儲訓練、測試數據的文件
img-size:輸入圖片寬高,顯卡不行你就調小點。
rect:進行矩形訓練
resume:恢復最近保存的模型開始訓練
nosave:僅保存最終checkpoint
notest:僅測試最后的epoch
evolve:進化超參數
bucket:gsutil bucket
cache-images:緩存圖像以加快訓練速度
weights:權重文件路徑
name: 重命名results.txt to results_name.txt
device:cuda device, i.e. 0 or 0,1,2,3 or cpu
adam:使用adam優化
multi-scale:多尺度訓練,img-size +/- 50%
single-cls:單類別的訓練集
之后運行訓練命令如下:
python train_1.py --img 640 --batch 8 --epochs 300 --data data/ab.yaml --weights yolov5x.pt
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
文章名稱:我參加NVIDIASkyHackathon---Yolov5環境配置-創新互聯
文章位置:http://www.yijiale78.com/article14/pcide.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、網站制作、面包屑導航、動態網站、靜態網站、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯