처음으로 깃헙에서 딥러닝 오픈소스를 다운받아 실행을 하는 것을 시작으로 성능 개선을 위해 공부하고 연구(??)해 볼 기회가 생겼다. 하지만 제일 처음 다루게 된 데이터가 하필 엄~청 큰 데이터라 정말 많은 고비들이 있었다....😭😭😭 그냥 돌려보는 건데... 모든 게 처음인 나에게 너무 많은 시간이 필요하더라... 진짜 시작조차 못했는데
1. RuntimeError : DataLoader worker (pid ~~) is killed by signal: Killed.
진심 이 오류때문에 구글에 치면 나오는 글은 모두 읽어봤다.
1.1 에러의 원인
1.2 시도
1) batch size 줄이기❌
구글에 검색해보니 가장 먼저 나오는 해결법이 batch size를 줄이라는 말이 있어서 512부터 32까지 줄여서 다 해봤는데 여전히 해결되지 않았다.
2) num_worker = 0 하기❌
이렇게 하면.. 거의 세월아 네월아 끝나지 않을 정도의 시간이 떠서 바로 중단..
3) multi-gpu 쓰기 by using DataParallel❌
응...안돼..... 여러개를 쓰는데도 특정 시점 예를 들어 하루 정도 돌리면 계속 Dataloader가 죽었다.. 게다가 gpu를 20%~30%만 사용하고, 100% 활용하지 못하더라..😭 그러다가 htop 을 써서 메모리 사용량을 지켜보니 늘 하루정도가 되면 cpu 메모리(62.8G)를 꽉 채워서 dataloader killed 오류가 발생한다는 것을 깨달았다.. 그래서 귀찮지만 또 다른 방법을 찾아봤다..
4) multi-gpu 쓰기 by using DistributedDataParallel(참조 : https://github.com/pytorch/examples/blob/master/imagenet/main.py)
2.
3. Exeception 0 SISKILL
'학교공부' 카테고리의 다른 글
machine learning >> clustering(1) (0) | 2020.10.19 |
---|---|
실전프로젝트2 >> 소프트웨어 개선 과제(1) (0) | 2020.05.23 |
실전프로젝트2 >> 소프트웨어 개선 과제(2) (0) | 2020.05.23 |
실전프로젝트2 >> 소프트웨어 개선 과제(3) (0) | 2020.05.23 |
실전프로젝트2 >> 소프트웨어 분석 (0) | 2020.04.24 |