pytorch Notebook在colab上抛出KeyError,但在VScode上无限循环

628mspwn  于 2023-05-17  发布在  Vscode
关注(0)|答案(1)|浏览(119)

我已经为数据集类和数据加载器编写了一段代码,我意识到并试图调试KeyError。
问题是,当我试图在本地VScode环境中运行此代码时,而不是像它那样抛出KeyError,它应该无限循环,试图中断单元格不起作用,我必须重新启动整个笔记本。

dataset_train = COCO_Features(
    _df=train_ids,
    _vocab=train_vocab,
    _features=features_map,
)

dataloader_train = torch.utils.data.DataLoader(dataset_train, batch_size=32, shuffle=True,          num_workers=4, collate_fn=caption_collate_fn)

错误应该在此语句上

next(iter(dataloader_train)).shape

我想知道是否有人经历过这种情况,并知道如何解决这个问题。只张贴的片段与错误作为原来的笔记本太大,张贴,我相信无关的实际问题。
我试着查看我安装的所有不同的扩展,但似乎没有什么不寻常的,只是安装了微软的pylance和python扩展。

osh3o9ms

osh3o9ms1#

我已经找到了解决方案,这似乎是由于num_workers选项。将其设置为零使其工作。

dataloader_train = torch.utils.data.DataLoader(dataset_train, batch_size=32, shuffle=True, num_workers=0, collate_fn=caption_collate_fn)

由于某些原因,VScode无法在Windows上正确生成新进程,但不会抛出任何错误。

相关问题