在訓練加載時,加載報錯
func() ?File "E:/workspace/untitled3/demo/transform.py", line 44, in func ? ?dataier = iter(trainloader) "D:\ProgramData\Anaconda3\Anaconda3\lib\multiprocessing\reduction.py", line 60, in dump ? ?ForkingPickler(file, protocol).dump(obj) TypeError: can't pickle module objects ?老師這個啥問題??
2019-11-13
這個應該是windows相關的問題,跟PyTorch沒關??梢钥紤]在"import torchvision.transforms as transforms" 的下一行加上以下內容試一下。如果還報錯的話,你可以在網上搜索一下“windows python multiprocessing”之類的關鍵字,看看有沒有解決辦法。
2020-04-06
老師寫的代碼,那邊的線程是2,改成0就好了
2020-01-31
老師說的沒錯,改成下面這樣就好了,
if __name__ == '__main__':
? ? torch.multiprocessing.set_start_method('spawn')
? ? #隨機加載一個mini batch
? ? dataIter = iter(trainloader)
? ? images,labels = dataIter.next()
? ? imshow(torchvision.utils.make_grid(images))
和進程池相關的代碼需要放在“if __name__ == '__main__':?” 下面