• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

시계열 데이터로 Bi-LSTM 수행 후 RMSE 평가 코드 관련

22.08.03 17:48 작성 조회수 297

1

Bi-LSTM에서 RMSE를 구하려고 하는데, y_true and y_pred have different number of output(10!=1)

이라는 메시지가 뜹니다.

코딩은 ANN의 RMSE 코딩을 차용했습니다.

오류 원인이 혹시 무엇인지 알 수 있을까요?

 

def evaluation(dataloader):
    
    predictions = torch.tensor([], dtype=torch.float) # 예측값을 저장하는 텐서
    actual = torch.tensor([], dtype=torch.float) # 실제값을 저장하는 텐서
        
    with torch.no_grad():
        model.eval() # 평가를 할 때에는 .eval() 반드시 사용해야 한다.
        for data in dataloader:
            inputs, values = data
            outputs = model(inputs)

            predictions = torch.cat((predictions, outputs), 0) # cat을 통해 예측값을 누적
            actual = torch.cat((actual, values), 0) # cat을 통해 실제값을 누적

    rmse = np.sqrt(mean_squared_error(predictions, actual)) # sklearn을 이용하여 RMSE 계산
    
    return rmse  

답변 1

답변을 작성해보세요.

0

안녕하세요.

Bi-LSTM 예제는 이미지의 종류를 예측하는 classification 문제입니다.

따라서 regression 업무에 사용되었던 RMSE를 평가 척도로 사용할 수 없습니다.

감사합니다.