Python迭代DataLoader时出现TypeError: Caught TypeError in DataLoader worker process 0.错误。

Python迭代DataLoader时出现TypeError: Caught TypeError in DataLoader worker process 0.错误。迭代DataLoader时出现TypeError:CaughtTypeErrorinDataLoaderworkerprocess0.错误。遇见一个难以解决的问题遇见一个难以解决的问题迭代DataLoader时出现以下错误,暂时不知道怎么解决,向大家求救,是一个比较稀罕的错误,也分享给大家一个奇葩的问题一起讨论。Traceback(mostrecentcalllast…

大家好,又见面了,我是你们的朋友全栈君。

TypeError: Caught TypeError in DataLoader worker process 0.

TypeError: ‘NoneType’ object is not subscriptable

迭代 DataLoader时出现以下错误,暂时不知道怎么解决,向大家求救,是一个比较稀罕的错误,也分享给大家一个奇葩的问题一起讨论。

Traceback (most recent call last):
  File "/home/zero/blood_detect/PyTorch-YOLOv3/mTrain.py", line 96, in <module>
    for batch_i, info in enumerate(dataloader):
  File "/home/zero/anaconda3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 819, in __next__
    return self._process_data(data)
  File "/home/zero/anaconda3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 846, in _process_data
    data.reraise()
  File "/home/zero/anaconda3/lib/python3.7/site-packages/torch/_utils.py", line 385, in reraise
    raise self.exc_type(msg)
TypeError: Caught TypeError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/home/zero/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop
    data = fetcher.fetch(index)
  File "/home/zero/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/zero/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/zero/blood_detect/PyTorch-YOLOv3/utils/datasets.py", line 130, in __getitem__
    img, targets = horisontal_flip(img, targets)
  File "/home/zero/blood_detect/PyTorch-YOLOv3/utils/augmentations.py", line 8, in horisontal_flip
    targets[:, 2] = 1 - targets[:, 2]
TypeError: 'NoneType' object is not subscriptable

用pycharm查询过变量内容,dataloader里边的内容是没有问题的,就是迭代的时候有问题。

dataloader代码是这些

    dataset = ListDataset(train_path, augment=True, multiscale=opt.multiscale_training, normalized_labels=False)
    dataloader = torch.utils.data.DataLoader(
        dataset,
        batch_size=opt.batch_size,
        shuffle=True,
        num_workers=opt.n_cpu,
        pin_memory=True,
        collate_fn=dataset.collate_fn,
    )

静待有缘人。

2019.11.30更新

TypeError: Caught TypeError in DataLoader worker process 0.解决。

解决方案:

num_workers设置为0。

Error 现在为

Traceback (most recent call last):
  File "/home/zero/blood_detect/PyTorch-YOLOv3/mTrain.py", line 96, in <module>
    for batch_i, info in enumerate(dataloader):
  File "/home/zero/anaconda3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 346, in __next__
    data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
  File "/home/zero/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/zero/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/zero/blood_detect/PyTorch-YOLOv3/utils/datasets.py", line 130, in __getitem__
    img, targets = horisontal_flip(img, targets)
  File "/home/zero/blood_detect/PyTorch-YOLOv3/utils/augmentations.py", line 8, in horisontal_flip
    targets[:, 2] = 1 - targets[:, 2]
TypeError: 'NoneType' object is not subscriptable

好像意思是info没有下标不可迭代。

2019.12.1 更新

TypeError: ‘NoneType’ object is not subscriptable. 解决。

解决方案

数据导入时少给了数据的标签,导致数据没有标签,也就没有下标。

给了标签后,上面那个Error也可以设置多个num_workers了。

更新

有个博主写的一个相关解决方案,感觉更详细一点,在这里贴上。
相关博客链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137625.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 磁力链接文件服务器,什么是磁力链接(BT、磁力链这些词语是什么意思?)

    磁力链接文件服务器,什么是磁力链接(BT、磁力链这些词语是什么意思?)“知其然知其所以然”。我们经常在下载资料的时候能看到BT、磁力链等词语,百思特网这些词语到底是什么意思呢?下载都会用,但是你了解吗?BT下载传统的下载模式是每个客户端从服务器拷贝文件,跟校园内常用的FTP一样。因为服务器宽带是一定的,所以下载的人越多下载速度会越慢。而现在使用的下载器情况正好相反,使用的人越多文件下载速度越快。这是因为现在的下载器普遍采用类似BT的下载方式。布拉姆科恩发明了BT协议…

    2022年8月10日
    5
  • Navicat激活码在线生成(破解版激活)

    Navicat激活码在线生成(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    74
  • Lightroom人像磨皮滤镜插件portraiture Mac版

    Lightroom人像磨皮滤镜插件portraiture Mac版本次小编为您带来了Portraiture3forLightroomforMac,这是一款适用于Lightroom的lr人像磨皮滤镜插件。lr磨皮插件portraitureMac版功能非常强大,能够快速对图像中的皮肤,眉毛,头发,眼睛瞪部位进行磨皮修饰,去除瑕疵,同时为您保持皮肤的色泽!链接:https://pan.baidu.com/s/1U0QVMQ6Qa8F5NITbBVr3…

    2022年7月22日
    16
  • hashmap顺序遍历_遍历排序

    hashmap顺序遍历_遍历排序hashmap元素排序想要hashmap中的元素有序可以使用linkedHashMap。HashMap<Integer,User>hashMap=newHashMap<>();hashMap.put(1,newUser(“张三”,32));hashMap.put(2,newUser(“张四”,33));hashMap.put(3,newUser(“王五”,22));//将map转换为一个entry类型的lis

    2022年9月9日
    0
  • MySQL配置+SQLyog安装教程

    MySQL配置+SQLyog安装教程一标题、MySQL的配置官网地址:MySQL官网地址。我选择的版本是5.5.27,具体mis文件运行之后的操作步骤参考博客MySQL安装教程。二、SQLyog安装教程安装程序下载:链接:https://pan.baidu.com/s/1MeFavdcOAd0BUG3D9cA9eg提取码:i5mi安装教程参考博客SQLyog安装教程三、所需数据库资源百度云链接:链接:https…

    2022年5月28日
    59
  • 黑群晖DSM 6.x 配置文件grub.cfg修改 mac地址/sn等修改

    黑群晖DSM 6.x 配置文件grub.cfg修改 mac地址/sn等修改新的DSM6.x配置文件和以前的XPEnoboot的配置文件不一样了,我们可以通过OSFMount虚拟光驱软件打开img后再修改。安装完成后运行OSFMount点击左下角-Mountnew,选择下载的img镜像。(注意:img镜像目录必须是英文或数字,不能是中文)选择Partition0,点击OK再把下面Read-onlydrive的选项去勾后点击OK。在OSFMount软件里双…

    2022年5月9日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号