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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

YOLOX——Win10下训练自定义VOC数据集

發布時間:2025/3/21 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 YOLOX——Win10下训练自定义VOC数据集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

上個博客試著把yolox在win下的環境配置,然后就要試著訓練自己的數據集,我這里用的是VOC格式的數據集,訓練環境是win10 x64,CUDA11.0 cudnn 8.1 GPU 是GTX 3080,Anaconda 3.7,數據標注工具是LabelImg。

數據準備

1.在XXX/YOLOX/datasets/下創建一個VOCdevkit目錄,在VOCdevkit下VOC2007目錄,VOC2007目錄下再創建三個空目錄,分別是Annotations、ImageSets、JPEGImages,此時VOC2007目錄下只有三個空的目錄。


2.把要訓練的圖像放到JPEGImags目錄下,如果有標注過的數據就把對應的xml文件放到Annotations目錄,要從頭標注則打開LabelImg,選擇數據集路徑(JPEGImags),選擇保存標簽文件路徑(Annotations),開始標注。

3.把所有數據標注完成之后,在ImageSets目錄下創建一個Main的目錄,這個目錄是用來保存數據配置文件的。

4.處理數據,把數據分成訓練集和測試集,并生成對應的txt文件,處理數據python代碼:

CreateVOCData.py

import os import randomtrainval_percent = 0.1 train_percent = 0.9 data_root_path = 'D:/DL/YOLOX/datasets/VOCdevkit/VOC2007/'total_xml = os.listdir(os.path.join(data_root_path,"Annotations"))label_num = len(total_xml) list = range(label_num) tv = int(label_num * trainval_percent) tr = int(tv * train_percent) trainval = random.sample(list, tv) train = random.sample(trainval, tr)train_file = open(os.path.join(data_root_path,"ImageSets/Main/train.txt"), 'w') val_file = open(os.path.join(data_root_path,"ImageSets/Main/val.txt"), 'w')for i in list:name = total_xml[i][:-4] + '\n'if i in trainval:val_file.write(name)else:train_file.write(name)train_file.close() val_file.close()

運行之后,在XXX/YOLOX/datasets/VOCdevkit/VOC2007/ImageSets/Main下有兩個txt文件,這個就是訓練集和驗證集的目錄標簽。

訓練

1.打開YOLOX\exps\example\yolox_voc\yolo_voc_s.py,把訓練集和測試集路徑改成自己的路徑,在win下建議寫絕對路徑。
訓練數據路徑:

驗證數據路徑:

更改標簽類數:

2.打開YOLOX/yolox/data/datasets/voc_classes.py

3.開始訓練,我訓練的是yolox_s的模型,從yolox官網下載yolox_s的權重放到YOLOX目錄下,然后激活環境,開始訓練。

cd YOLOX activate yolox python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 16 --fp16 -o -c yolox_s.pth

-d 使用多少張顯卡訓練
-b 批次大小
-fp16 是否開啟半精度訓練
-c 權重文件

如果出現這個代表已在開始,但也別高興得太早,到10 epoch 之后開始驗證,有可能報FileNotFoundError: [Errno 2] No such file or directory: ‘xxxxx.xml’ 這個錯,然后打開val.txt文件,這xxx.xml文件是驗證集的第一個文件,這是讀不到目錄引起的,更改YOLOX\yolox\evaluators\voc_eval.py文件。

重新訓練就可以了。

總結

以上是生活随笔為你收集整理的YOLOX——Win10下训练自定义VOC数据集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。