일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ssh
- CellPin
- docker attach
- 사회조사분석사2급
- Multi-Resolution Networks for Semantic Segmentation in Whole Slide Images
- 코크리
- 도커
- docker
- AIFFEL
- airflow
- aiffel exploration
- Pull Request
- GIT
- logistic regression
- Jupyter notebook
- 티스토리챌린지
- 백신후원
- cocre
- 오블완
- docker exec
- WSSS
- HookNet
- cs231n
- vscode
- numpy
- 히비스서커스
- Decision Boundary
- 프로그래머스
- 기초확률론
- IVI
Archives
- Today
- Total
히비스서커스의 블로그
[Pytorch] torchvision을 통한 object detection 시 Loss is nan, stopping training 에러 발생 본문
Programming/Python
[Pytorch] torchvision을 통한 object detection 시 Loss is nan, stopping training 에러 발생
HibisCircus 2023. 6. 19. 18:57728x90
상황
torchvision의 object detection으로 model을 training 하는 도중 다음과 같은 에러를 마주하였다.
에러
Loss is nan, stopping training
{'loss_classifier': tensor(nan, device='cuda:0', grad_fn=<NllLossBackward0>), 'loss_box_reg': tensor(nan, device='cuda:0', grad_fn=<DivBackward0>), 'loss_objectness': tensor(nan, device='cuda:0', grad_fn=<BinaryCrossEntropyWithLogitsBackward0>), 'loss_rpn_box_reg': tensor(nan, device='cuda:0', grad_fn=<DivBackward0>)}
원인
추측하건데 bounding box가 없는 데이터 부분에서 loss가 크게 발생하는데 이때 learning rate를 크게 주면 loss function을 지나면서 값이 매우 커져 nan 값으로 빠지는 것으로 예상한다.
해결방법
learning rate를 줄여주면 된다. 필자의 경우 1e-4에서 1e-5로 낮추어 해결하였다.
728x90