报错信息如下:
File "exps/example/yolox_voc\yolox_voc_s.py", line 27, in get_dataset
return VOCDetection(
└ <class 'yolox.data.datasets.voc.VOCDetection'>
File "D:\conda\envs\yolox\lib\site-packages\yolox-0.3.0-py3.8.egg\yolox\data\datasets\voc.py", line 137, in init
path_filename = [
File "D:\conda\envs\yolox\lib\site-packages\yolox-0.3.0-py3.8.egg\yolox\data\datasets\voc.py", line 138, in
(self._imgpath % self.ids[i]).split(self.root + "/")[1]
│ │ │ │ │ │ └ 'D:/lowlight/YOLOX-main/datasets/VOC/VOCdevkit'
│ │ │ │ │ └ <yolox.data.datasets.voc.VOCDetection object at 0x0000019B89469F70>
│ │ │ │ └ 0
│ │ │ └ [('D:/lowlight/YOLOX-main/datasets/VOC/VOCdevkit\VOC2007', '2015_00002'), ('D:/lowlight/YOLOX-main/datasets/VOC/VOCdevkit\V...
│ │ └ <yolox.data.datasets.voc.VOCDetection object at 0x0000019B89469F70>
│ └ '%s\JPEGImages\%s.jpg'
└ <yolox.data.datasets.voc.VOCDetection object at 0x0000019B89469F70>
IndexError: list index out of range
1.首先确认自己的数据集路径是否都正确
2.yolox/data/datasets/voc.py下将192行与193的
@cache_read_img
def read_img(self, index, use_cache=True):
改为:
@cache_read_img(use_cache=True)
def read_img(self, index):
3.将 YOLOX-main/yolox/data/datasets/voc.py 文件的
(self._imgpath % self.ids[i]).split(self.root + "/")[1]
修改为
(self._imgpath % self .ids[i]).split(self.root + "\\")[1]