pytorch
-
[Pytorch 에러] RuntimeError: legacy constructor expects device type: cpu but device type: cuda was passed & Input type (torch.cuda.ByteTensor) and weight type (torch.cuda.FloatTensor) should be the sameProgramming Error/PyTorch 2021. 11. 22. 16:18
Pytorch를 Framework으로 사용할 때, 대부분 GPU를 사용하여 학습이나 추론을 수행하실 겁니다. 그러다보면 가끔 아래와 같은 오류를 만날 수 있는데요. RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same 여기서 Input type (torch.cuda.FloatTensor)는 입력(이미지, 텍스트 등)이 현재 GPU(cuda)에 올라가있는 상태이면서 Floating point가 Float32라는 것을 의미합니다. 반면에 weight type (torch.FloatTensor)은 사용하는 모델의 가중치 타입을 의미합니다. 따라서, 현재 모델은 .cuda가 안붙..
-
[PyTorch DataLoader Num_workers 관련 에러]Programming Error/PyTorch 2021. 7. 13. 23:45
PyTorch의 DataLoader는 학습 데이터를 효율적으로 읽어오기위해 필수적으로 사용됩니다. DataLoader 중에서 num_workers라는 인자가 있는데 이는 데이터 로딩을 하기위해 몇 개의 CPU 프로세스를 사용할 것인지를 의미합니다. GPU에 데이터를 전달해주기 위해 적절한 수의 num_workers를 지정해줄 필요가 있습니다. 여기서는 num_workers 관련 에러에 대한 이슈를 다룰 것이므로 더 자세한 설명은 해당 블로그에서 잘 설명되어 있으니 참고하시면 될 것 같습니다. 우선 제가 num_workers 관련해서 마주한 에러는 다음과 같이 두 가지가 있었습니다. 1. BrokenPipeError: [Errno 32] Broken pipe 2. RuntimeError: DataLoade..