Skip to content

[已解決][PyTorch] RuntimeError: bool value of Tensor with more than one value is ambiguous

Last Updated on 2021-07-05 by Clay

在 PyTorch 當中,這是非常常見的一個問題。

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

最常見的地方在於 Loss Function 的使用,通常是誤用了 Class 作為輸入。如果得到了這個報錯,可以檢查是否 Loss function 的地方有誤用。

看個會發生的報錯案例:

以上這是我的 Loss Function,看起來沒什麼問題,對吧?然而事實並非如此。

nn.NLLLoss() 是一個 Class,我們需要將其建立為物件才可以輸入『預測結果』與『正確答案』。

那麼,在這種情況的寫法是什麼呢?

是這樣的,我需要小心警告自己別再犯同樣的錯誤了。目前為止,我已經因為這個報錯上網找答案三四次了。

(順帶一提,多分類的輸出只需要使用 LogSoftmax() 加上 NLLLoss() 即可)


References

Leave a Reply取消回覆

Exit mobile version