yolox: AssertionError: Caught AssertionError in DataLoader worker process 0.

在使用YOLOX进行目标检测训练时遇到错误,问题源于YOLOX源码预设读取JPEG格式图片,而实际数据集为PNG格式。在VOC.py的图像读取部分,将代码中jpg格式修改为png后,成功解决了读取异常。此问题提醒我们在使用预定义模型时需确保数据格式与模型要求一致。
摘要由CSDN通过智能技术生成

yolox 训练报错如下代码块:

根据错误提示,在voc.py文件中读取图片时发生异常。
原因:yolox给的源码读取的是lpg格式的图片,而我的输入是png格式的图片,所以报错。
(也有可能是路径没有给正确,无法读取到图片数据)

AssertionError: Caught AssertionError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/home/crush/ProgramFiles/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
    data = fetcher.fetch(index)
  File "/home/crush/ProgramFiles/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/home/crush/ProgramFiles/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/home/crush/YOLOX/yolox/data/datasets/datasets_wrapper.py", line 110, in wrapper
    ret_val = getitem_fn(self, index)
  File "/home/crush/YOLOX/yolox/data/datasets/mosaicdetection.py", line 95, in __getitem__
    img, _labels, _, img_id = self._dataset.pull_item(index)
  File "/home/crush/YOLOX/yolox/data/datasets/voc.py", line 242, in pull_item
    img = self.load_resized_img(index)
  File "/home/crush/YOLOX/yolox/data/datasets/voc.py", line 209, in load_resized_img
    img = self.load_image(index)
  File "/home/crush/YOLOX/yolox/data/datasets/voc.py", line 222, in load_image
    assert img is not None
AssertionError

解决:将voc.py文件的120行读取图片代码的jpg格式改为png,错误解决!

#self._imgpath = os.path.join("%s", "JPEGImages", "%s.jpg")
self._imgpath = os.path.join("%s", "JPEGImages", "%s.png")
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值