首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSCode bug和PyTorch DataLoader?

VSCode bug和PyTorch DataLoader?
EN

Stack Overflow用户
提问于 2018-12-06 22:11:43
回答 1查看 944关注 0票数 3

下面的代码示例在Python中工作,但是在Linux中的VSCode中失败(但在中VSCode失败)。我想知道我的代码是否有问题,或者在Linux下VSCode是否有问题?

代码语言:javascript
复制
#Test of PyTorch DataLoader and Visual Studio Code
from torch.utils.data import Dataset, DataLoader

class SimpleData(Dataset):
    """Very simple dataset"""
    def __init__(self):
        self.data = range(20)
    def __len__(self):
        return len(self.data)
    def __getitem__(self, idx):
        return self.data[idx]

if __name__ == '__main__':

    #Initialize DataLoader with above Dataset:
    dataloader = DataLoader(SimpleData(), batch_size=4, num_workers=1)

    print('Using DataLoader to show data in batches: ')
    for i, sample_batch in enumerate(dataloader):    #This fails in VSCode in Linux
        print('batch ', i, ':', sample_batch)

    print("--- Done ---")

预期产出如下:

代码语言:javascript
复制
Using DataLoader to show data in batches:
batch  0 : tensor([0, 1, 2, 3])
batch  1 : tensor([4, 5, 6, 7])
batch  2 : tensor([ 8,  9, 10, 11])
batch  3 : tensor([12, 13, 14, 15])
batch  4 : tensor([16, 17, 18, 19])
--- Done ---

但是在Linux中使用VSCode,它在打印第一行之后挂起。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-07 00:37:06

你试过用num_workers=0?吗?

可能是VS代码无法在linux上正确地生成一个新进程。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53660465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档