일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- numpy
- WSSS
- vscode
- IVI
- airflow
- 히비스서커스
- HookNet
- docker exec
- docker attach
- 백신후원
- Jupyter notebook
- 사회조사분석사2급
- Decision Boundary
- 코크리
- GIT
- logistic regression
- cocre
- AIFFEL
- 기초확률론
- CellPin
- docker
- Pull Request
- 오블완
- ssh
- cs231n
- Multi-Resolution Networks for Semantic Segmentation in Whole Slide Images
- 티스토리챌린지
- aiffel exploration
- 프로그래머스
- 도커
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