카메라 이미지 품질 향상 AI 경진대회

gpu를 사용하여 학습

2021.07.07 15:26 3,570 Views

gpu를 사용하여 학습을 시켰는데, val_loss가 nan으로 나옵니다.

gpu를 사용하지 않았을 때는 nan으로 나오지 않았는데 gpu로 학습시 왜 val_loss가 nan으로 나오는지 알 수 있을까요?

로그인이 필요합니다
0 / 1000
TEAM-EDA
2021.07.07 15:29

보통 lr이 너무 커서 발생하는 문제일 수도 있고, 연산중에 분모에 0이 있거나 여러가지 이슈가 있는 것 같습니다. gpu만 사용했을때 발생하는거라 정확한 이유는 모르겠지만 아래의 세가지 글 한번 참고해서 파라미터 몇개 수정해보면 될 것 같습니다. 
https://velog.io/@0hye/PyTorch-Nan-Loss-검출-방법
https://data-newbie.tistory.com/281
https://twinparadox.tistory.com/598

YoohwaCha
2021.07.08 09:16

감사합니다!!

최정명
2021.07.07 15:47

프레임워크를 tensorflow 사용했을 때 저랬던 경험 (train에는 정상적으로 뜨는데 valid는 nan이 뜨는 이슈)이 있는데요. 같은 코드인데 다른 tf버전에서 실행해보니 제대로 작동하던 경험이 있습니다.
버전도 한 번 점검해보시는 것을 추천드립니다.

YoohwaCha
2021.07.08 09:16

감사합니다~~

딥러닝잘하고싶다
2021.07.07 19:03

loss에서 NaN이 나오는 경우는 크게 두가지입니다. 분모가 0이 되거나,  혹은 log안의 값이 0이 되면 NaN이 뜰 수 있습니다.