본문 바로가기

Programming/PyTorch

[PyTorch] IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)

728x90
반응형

torch.nn.CrossEntropyLoss() 를 사용해서 loss를 구하는 과정에서 만난 에러!

다름이 아니라 아무 생각 없이 accuracy를 구할 때처럼 argmax로 target을 넣어 loss를 구해서 난 에러였다!

crossentropy의 계산 공식을 생각해보면 말도 안된다는 걸 알 수 있다.

당연히 각 타겟 별로의 confidence 값이 있어야 crossentropy를 구할 수 있는 것인데!

따라서 CrossEntropyLoss를 구할 때에는 argmax로 예측한 target을 넣기 전 confidence 값을 그대로 넣어주어야 한다.

728x90
반응형