■ Working Draft/◎ 에러코드 일기장
[파이썬 에러코드] BrokenPipeError: [Errno 32] Broken pipe
dhwiii
2021. 4. 14. 22:21
파이썬 파이토치 에러 입니다.
[PyTorch] BrokenPipeError: [Errno 32] Broken pipe
torch.utils.data.DataLoader()에 있는 num_worker 파라미터가 0 이외의 다른 값을 가지게 되면 해당 에러가 발생하게 됩니다.
파이토치 Windows FAQ 에 해당 에러를 해결하는 방법이 나와 있었습니다.
: pytorch.org/docs/stable/notes/windows.html?highlight=brokenpipe
Windows FAQ — PyTorch 1.8.1 documentation
Shortcuts
pytorch.org

상위 프로세서가 데이터 전송을 끝내기 전에 하위 프로세스가 종료하게 되면 발생하는 에러라고 합니다.
DataLoader의 num_worker를 0으로 줄인 후 코드를 디버깅 하는것을 확인하라고 되어있습니다.
parser.add_argument('--workers', type=int, default=0, help='number of data loading workers')
이런 식으로 되어 있는 num_worker의 수의 default를 0으로 지정하거나, num_worker의 수를 0으로 지정했더니 에러가 발생하지 않았습니다.