日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

TypeError: cannot unpack non-iterable NoneType object

發布時間:2024/7/5 90 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TypeError: cannot unpack non-iterable NoneType object 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TypeError: cannot unpack non-iterable NoneType object(類型錯誤:無法解包非迭代的NoneType對象)

情況:使用pytorch訓練模型,問題出現在 loss.backward() 這一行代碼

網上查了很多資料,大家相同的錯誤來源不同,別人的解決方式沒法解決我的問題。
沒有系統學習 pytorch 語法就直接上手寫代碼,著實難受,所以放下bug,去學習了一下語法知識。
分享一篇不錯的文章 深入理解 TORCH.NN
跟著練習了一遍懂了很多,然后一眼就看出自己代碼的問題在哪里了。

原代碼:

# Train and evaluate model = HeteroRGCN(G, 8, 8, 8) opt = torch.optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4) user_embedding, item_embedding = model(G)for epoch in range(100):for data in dataloader:user, item_p, item_n = data ···

修改后:

# Train and evaluate model = HeteroRGCN(G, 8, 8, 8) opt = torch.optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4)for epoch in range(2):for data in dataloader:user_embedding, item_embedding = model(G)user, item_p, item_n = data ···

關鍵:修改了 user_embedding, item_embedding = model(G) 的位置

執行 model = HeteroRGCN(G, 8, 8, 8) 這一行代碼的時候,是對模型進行初始化,即執行模型的 init 函數部分,
執行 user_embedding, item_embedding = model(G) 這一行代碼的時候,是對模型進行前向傳播,
(所以把他放在外面的時候,反向反向傳播就認為是 NoneType 對象???)

總結

以上是生活随笔為你收集整理的TypeError: cannot unpack non-iterable NoneType object的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。