Closed hwiorn closed 3 years ago
@hwiorn configuration 중 num_workers
라는 변수가 이미 있습니다. 추가해주신 변수와 동일한 변수여서 사용하시는 분들이 헷갈릴 것 같습니다.
@hwiorn configuration 중
num_workers
라는 변수가 이미 있습니다. 추가해주신 변수와 동일한 변수여서 사용하시는 분들이 헷갈릴 것 같습니다.
그렇군요. num_workers
가 기본 4로 세팅되어 있음에도 CPU 사용량이 많아, 시스템이 멈추더군요.(24 CPU입니다) 그래서, torch의 thread제한을 추가했었습니다. 이 num_threads
코드만 삭제하면 될까요?
CPU 사용량이 많아 시스템이 멈추는건 처음보는 경우라 신기하네요. 해당 코드가 GPU에서도 작동하나요?
CPU 사용량이 많아 시스템이 멈추는건 처음보는 경우라 신기하네요.
정확히는 시스템이 아니라 X가 멈춰서, 전체 시스템이 멈춘다라고 하기는 뭐합니다만, 현상을 보면 터미널에서 작업해도 마찬가지일 것 같네요. bin/main.py
가 OOM kill로 종료되면서, hang이 해제됩니다.(32GB 메모리입니다)
num_workers
가 제한이 걸릴 것이라고 생각해서 옵션을 활용해봤으나, 모든 CPU를 다 활용하는 문제로, torch.num_threads
를 추가했었고요.
해당 코드가 GPU에서도 작동하나요?
commit 을 보시면 아시겠지만, 기존 conformer model의 block 구성에 device를 세팅하지 않으셨기 때문에, CPU로 동작하지 않았습니다. device 옵션이 생략되었기 때문에, 기본 옵션이 cuda
로 세팅되는데, 이 때 device들이 서로 달라 에러가 발생합니다. 그래서, 이 부분을 추가해서 맞춰준 것이고요.
이 PR은 (당연히) CUDA로 정상 동작하지만, CPU 학습시에 device 세팅을 맞춰준 것과 num_threads로 CPU사용 제한을 건 것이기 때문에, #137 이슈는 별개로 계속 발생합니다.
137 을 테스트하기 위해 conformer 모델을 CPU로 학습시, 에러가 발생하는 부분을 수정하였습니다.
CPU제한을 위해 num_threads를 추가하였습니다.