logo

파이토치에서 'RuntimeError: Boolean value of Tensor with more than one value is ambiguous' 에러 해결 방법 📂머신러닝

파이토치에서 'RuntimeError: Boolean value of Tensor with more than one value is ambiguous' 에러 해결 방법

에러

손실함수인 nn.MESLoss()를 사용했을 때 다음과 같은 에러가 발생했다.

RuntimeError                              Traceback (most recent call last)
<ipython-input-75-8c6e9ea829d4> in <module>
----> 1 nn.MSELoss(y_pred, y)

2 frames
/usr/local/lib/python3.8/dist-packages/torch/nn/_reduction.py in legacy_get_string(size_average, reduce, emit_warning)
     33         reduce = True
     34 
---> 35     if size_average and reduce:
     36         ret = 'mean'
     37     elif reduce:

RuntimeError: Boolean value of Tensor with more than one value is ambiguous

해결1

코드를 다음과 같이 수정하면 해결된다.

nn.MSELoss(y_pred, y) $\to$ nn.MSELoss()(y_pred, y)

환경

  • Colab
  • Version: Python 3.8.10, PyTorch1.13.1+cu116