亚洲国产精品乱码一区二区,美景房屋2免费观看,哎呀哎呀在线观看视频高清国语,从镜子里看我是怎么C哭你

Article / 文章中心

YOLOX-0.1.0自定義訓練+CPU修改方式

發(fā)布時間:2022-10-11 點擊數(shù):2357

1、主訓練模塊train.py在tools文件夾下(為什么不放在主目錄?),訓練命令為python tools/train.py -f exps/example/yolox_voc/yolox_s.py

YOLOX/tools/

 

2、train.py 中必須加入import sys sys.path.append(r'D:\YoloX')才能正常運行,即主目錄的路徑

train.py

 

3、模型深度控制模塊yolox_s.py在exps/example/yolox_voc文件夾下,訓練命令后半部分這么長就是這么來的,可以復制原模塊再自定義內容

yolox_voc_s.py為原模塊

 

4、數(shù)據(jù)集導入模塊voc.py在yolox/data/datasets文件夾下,如果復制一份再重命名并自定義,必須修改datasets文件夾中的__init__.py的from .voc import VOCDetection為自己的文件名

YOLOX/yolox/data/datasets
YOLOX/yolox/data/datasets/__init__.py

 

5、數(shù)據(jù)集導入模塊voc.py的get_data_loader()為導入訓練數(shù)據(jù),get_eval_loader()為導入驗證數(shù)據(jù),如果只是進行一些代碼測試,不想要測試集,那么可以將測試集路徑設置為與訓練集路徑一致

get_data_loader()
get_eval_loader()

 

6、類別設置模塊voc_classes.py在yolox/data/datasets文件夾下,如果復制一份再重命名并自定義,必須修改voc.py中的from .voc_classes import VOC_CLASSES中的voc_classes為自己的文件名

YOLOX/yolox/data/datasets/voc.py

 

7、數(shù)據(jù)集必須為VOC格式,放在YOLOX/datasets/下,文件夾名稱為VOCdevkit/VOC2007/,其中三個文件夾Annotations存放xml標簽,ImageSets/Main存放train.txt,即圖片名稱,不能帶后綴,JPEGImages存放圖片

 

8、如果想在本地用CPU進行測試,必須安裝CUDA版torch,否則會報錯AssertionError: Torch not compiled with CUDA enabled

然后在tools/train.py中assert num_gpu <= get_num_devices()后插入num_gpu = 0

再在YOLOX/yolox/core/trainer.py的Trainer類的__init__函數(shù)中把self.device = "cuda:{}".format(self.local_rank)注釋掉,插入self.device = "cpu"

再在YOLOX/yolox/core/trainer.py中的train_one_iter函數(shù)中的targets = targets.to(self.data_type)后插入inps = inps.to(self.device)與targets = targets.to(self.device)

并且把下面的with torch.cuda.amp.autocast(enabled=self.amp_training):注釋掉

這樣就可以在本地用CPU進行一些測試了

tools/train.py
YOLOX/yolox/core/trainer.py/__init__()
YOLOX/yolox/core/trainer.py/train_one_iter()

 

總體來說代碼對于自定義訓練與測試很不友好,沒有Ultralytics的YOLOv5簡單方便易懂