우분투에서 Pytorch에서 Dataloader 함수의 num_workers를 1 이상으로 주면 프로세스가 강제로 종료 되는 문제점이 있다.
이러한 문제점을 회피하기 위해서 그냥 0으로 두고 학습을 시키면 되지만, 학습 속도가 너무 느리다.
따라서 이러한 문제점 해결을 위해서는 아래의 코드를 사용하는 것을 추천한다.
import torch.multiprocessing
torch.multiprocessing.set_sharing_strategy('file_system')
이상적인 worker의 수는 사용되는 GPU 갯수에 4를 곱하면 된다.
from torch.utils.data import DataLoader
DataLoader(dataset=train_data, batch_size= 64, shuffle=True, num_workers=num_gpu*4,pin_memory=True, drop_last=True)