visual-studio-code - PyTorch DataLoader 的 VSCode 错误?

标签 visual-studio-code pytorch

以下代码示例适用于 Python,但 Linux 中的 VSCode 失败 (但不是 Windows 中的 VSCode)。我想知道是我的代码有问题,还是Linux下的VSCode有问题?

#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 ---")

预期的输出是:
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,它在打印第一行后挂起。

最佳答案

您是否尝试过 num_workers=0?
可能是 VS Code 无法在 linux 上正确生成新进程。

关于visual-studio-code - PyTorch DataLoader 的 VSCode 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53660465/

相关文章:

python - 如何在 PyTorch 模型训练后清除 GPU 内存而不重新启动内核

python - 使用beam_search(huggingface库)生成文本时出现不匹配的张量大小错误

azure - 将 blobTrigger 与 Azurite 结合使用会导致函数主机崩溃

html - 如何在 Visual Studio Code 中格式化 PHP 文件中的 HTML

python - 使用 Pytorch 为神经机器翻译加载巨大的文本文件

python - 使用 torch 视觉创建火车变换时出错

python - PyTorch DataLoader 如何与 PyTorch 数据集交互以转换批处理?

c# - VS Code 2017 - C# 错误 - "Some projects have trouble loading. Please review the output for more detail"

asp.net - 无法使用快速修复导入 namespace (Visual Studio Code)

angularjs - VS Code - Angular 1/TypeScript - 删除///引用时无法识别 "angular"