首页 > 解决方案 > PyTorch - TypeError:在 DataLoader 工作进程 0 中捕获 TypeError

问题描述

我正在使用 PyTorch 执行 unet++(嵌套 unet),但出现错误TypeError: Caught TypeError in DataLoader worker process 0. 但我仍然不确定导致错误的原因。

  File "train.py", line 354, in <module>
    main()
  File "train.py", line 314, in main
    train_log = train(config, train_loader, model, criterion, optimizer)
  File "train.py", line 111, in train
    for input, target, _ in train_loader:
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 521, in __next__
    data = self._next_data()
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 1203, in _next_data
    return self._process_data(data)
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 1229, in _process_data
    data.reraise()
  File "/usr/local/lib/python3.7/dist-packages/torch/_utils.py", line 425, in reraise
    raise self.exc_type(msg)
TypeError: Caught TypeError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
    data = fetcher.fetch(index)
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/content/Nested-UNet/dataset.py", line 63, in __getitem__
    img_id + self.mask_ext), cv2.IMREAD_GRAYSCALE)[..., None])
TypeError: 'NoneType' object is not subscriptable

好像目录没问题,不知道为什么会这样。这是代码:https ://github.com/Sax-Ted/Nested-UNet 。谁能帮我找到问题或给我一些提示?谢谢

标签: pytorchtypeerrorimage-segmentation

解决方案


推荐阅读