• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

MSELoss 와 mean_squared_error

22.12.07 22:15 작성 조회수 363

1

섹션3의 보스턴 집값 예측 강의 부분에 대한 질문입니다.

로스 부분인데요.

토치에서의 MSELoss와 사이킷런의 mean_squared_error는 같은 것 아닌가요?

패키지만 달리있고 예측과 정답을 넣으면 오차 결과를 반환하는건 같은거 같은데...

굳이 학습에는 MSELoss를 쓰시고, 평가에는 mean_squared_error를 쓰신거 같아서...

(제가 모르는 이유가 있을것 같습니다.)

만약 MSELoss가 입력값이 텐서고, mean_squared_error 입력값이 넘파이여서라면 변환해서 쓰면 될것도 같은데...

강의 보면서 계속 걸리네요... 쩝

답변 2

·

답변을 작성해보세요.

0

nobert님의 프로필

nobert

질문자

2022.12.08

빠른 답변 감사합니다. ^^

0

안녕하세요.

좋은 질문 감사합니다.

검증에서 rmse값 하나만 뽑아내는 것이기 때문에 텐서로 출력할 이유가 없습니다.

mean_squared_error은 입력값들을 텐서로 받아도 넘파이로 결과 내보내 줍니다. 그래서 바로 숫자로 출력이 됩니다.

MSELoss 경우 출력 값이 텐서라서 결과를 출력할 때 .item() 붙여줘야 숫자로 출력됩니다.

 

즉, 한 번에 텐서에서 숫자값을 바로 뽑아낼 수 있는 mean_squared_error를 사용하였습니다 :)

하지만 둘 다 가능한 계산 방법이니 상황에 맞게 사용하시면 됩니다!