분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
카메라 이미지 품질 향상 AI 경진대회
gpu를 사용하여 학습
gpu를 사용하여 학습을 시켰는데, val_loss가 nan으로 나옵니다.
gpu를 사용하지 않았을 때는 nan으로 나오지 않았는데 gpu로 학습시 왜 val_loss가 nan으로 나오는지 알 수 있을까요?
감사합니다!!
프레임워크를 tensorflow 사용했을 때 저랬던 경험 (train에는 정상적으로 뜨는데 valid는 nan이 뜨는 이슈)이 있는데요. 같은 코드인데 다른 tf버전에서 실행해보니 제대로 작동하던 경험이 있습니다.
버전도 한 번 점검해보시는 것을 추천드립니다.
감사합니다~~
loss에서 NaN이 나오는 경우는 크게 두가지입니다. 분모가 0이 되거나, 혹은 log안의 값이 0이 되면 NaN이 뜰 수 있습니다.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
보통 lr이 너무 커서 발생하는 문제일 수도 있고, 연산중에 분모에 0이 있거나 여러가지 이슈가 있는 것 같습니다. gpu만 사용했을때 발생하는거라 정확한 이유는 모르겠지만 아래의 세가지 글 한번 참고해서 파라미터 몇개 수정해보면 될 것 같습니다.
- https://velog.io/@0hye/PyTorch-Nan-Loss-검출-방법
- https://data-newbie.tistory.com/281
- https://twinparadox.tistory.com/598