코드를 짜다가 f.grad()라는 코드를 반복해서 실행할수록 gradient값이 더해져 갔다.
뭐가 문제인지 모르겠었는데 optimizer.zero_grad()라는 코드를 넣지 않아서 생기는 문제였다.
optimizer.zero_grad()를 실행하여 이전에 .grad()를 통해서 얻은 기울기를 0으로 초기화한다.
기울기를 초기화 해야만 새로운 가중치나 편향에 대하여 올바른 기울기를 구할 수 있다.
optimizer.zero_grad()
#gradient를 0으로 초기화
반응형
'[딥러닝] > [PyTorch]' 카테고리의 다른 글
[PyTorch] torch.optim.lr_scheduler (0) | 2022.02.26 |
---|