이번에는 검증과 테스트 데이터셋을 모델에 적용하여 결과를 예측하기 위한 함수입니다.

    코드 7-26 모델 평가 함수

    def evaluate(model, val_iter):
        model.eval()
        corrects, total, total_loss = 0, 0, 0
    
        for batch in val_iter:
            x, y = batch.text.to(device), batch.label.to(device)
            y.data.sub_(1)
            logit = model(x)
            loss = F.cross_entropy(logit, y, reduction="sum")
            total += y.size(0)
            total_loss += loss.item()
            corrects += (logit.max(1)[1].view(y.size()).data == y.data).sum() ------ ①
    
        avg_loss = total_loss / len(val_iter.dataset)
        avg_accuracy = corrects / total
        return avg_loss, avg_accuracy
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.