當前位置:
首頁 >
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android官方开发文档Trainin
- 下一篇: 基于主动学习算法减少人工标注量,提升文本