Python使用時的問題

1.多線程數據處理

在Pytorch入門中,經常會用CIFAR10數據集,用它來處理數據集,此時在Windows下,如果線程數目大於1,則運行時會出現錯誤,而在Linux下這不會產生錯誤

trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,                                        shuffle=True, num_workers=2)
testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)

最好的方法是將所有操作包裝在函數中,然後在if __name__ == '__main__'子句中調用它們:

# Imports for dataset generation, training, etc
def load_datasets(...):
    # Code to load the datasets with multiple workers
def train(...):
    # Code to train the model
if __name__ == '__main__':
    load_datasets()
    train()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章