VSCode ошибка с PyTorch DataLoader? - PullRequest
0 голосов
/ 07 декабря 2018

Следующий пример кода работает на Python, но завершается ошибкой в ​​VSCode в Linux (но не в VSCode в Windows).Мне интересно, что-то не так с моим кодом, или что-то не так с VSCode под Linux?

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

Но с VSCode вLinux зависает после печати первой строки.

1 Ответ

0 голосов
/ 07 декабря 2018

Вы пробовали с num_workers=0?

Может быть VS Code не может правильно запустить новый процесс в Linux.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...