[python] 파이썬 PyTorch에서 다중 클래스 분류를 위한 손실 함수는 무엇인가?
예를 들어, 다음과 같이 손실 함수를 사용할 수 있습니다:
import torch
import torch.nn as nn
# 모델 출력
outputs = torch.tensor([[0.2, 0.3, 0.5],
[0.8, 0.1, 0.1],
[0.3, 0.4, 0.3]])
# 정답 레이블
targets = torch.tensor([2, 0, 1])
# 손실 함수 정의
criterion = nn.CrossEntropyLoss()
# 손실 계산
loss = criterion(outputs, targets)
print(loss)
이 코드에서 outputs
는 모델의 출력을 나타내며, 각각 3개의 클래스에 대한 확률 값을 포함하고 있습니다. targets
는 예측하려는 실제 클래스 레이블입니다.
CrossEntropyLoss
함수는 모델의 출력과 정답 레이블을 사용하여 손실을 계산합니다. 손실 값은 실수로 반환됩니다.