高版本pytorch出現IndexError: invalid index of a 0-dim tensor.問題解決辦法

最近使用pytorch1.4版本訓練網絡,在運用loss.data()時,目的時爲了讓loss函數的值相加,但出現問題IndexError: invalid index of a 0-dim tensor.問題解決辦法。
經查找,發現問題的原因
loss += loss.data[0] 是pytorch0.3.1版本代碼,在0.4-0.5版本的pytorch會出現警告,不會報錯,但是0.5版本以上的pytorch就會報錯,總的來說是版本更新問題.
該問題的解決辦法:
第一種:
如果不想更改代碼,則需要安裝低版本的pytorch。
但不推薦這種做法。因爲低版本的在現在很多開源新算法中已經被拋棄了。
第二種:
將代碼中的







loss+=loss.data[0]

修改爲:

train_loss+=loss.item()

改完之後就會愉快的進行網絡的訓練了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章