看板 DataScience 關於我們 聯絡資訊
作業系統:win10(ex:mac,win10,win8,win7,linux,etc...) 問題類別:RL(ex:ML,SVM,RL,DL,RNN,CNN,NLP,BD,Vis,etc...) 使用工具:PyTorch 1.10.0(ex:python,Java,C++,tensorflow,keras,MATLAB,etc...) 問題內容: 小弟的碩論要訓練一個MADDPG的模型 但是怎麼訓練效果都沒起來 直到現在才發現原來是反向傳播失敗了 我的actor根本沒有更新 發現問題後改了一下code卻報錯 是之前一直都沒有解決的inplace operation error 當時我在訓練的函式中 把actor的輸出detach()掉 程式便可運行,但我沒發現actor根本就沒計算到backward T^T 我有發一篇文在PyTorch Forum,詳情可以點進去連結看看 https://reurl.cc/p16bKb 真的很希望有好心人能幫我看看哪裡出了問題 現在都5月中了才發現這個bug...QQ 如果還是有任何不清楚的地方也歡迎站內信給我 我也願意付出一定的酬勞 再麻煩各位前輩不吝指教了,小弟感激不盡!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.170.132 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1652457140.A.872.html
yiche: 我記得原論文有提供程式碼,他的agent用物件封裝放在list05/14 00:08
yiche: 中,請問你是改那一份code嗎?05/14 00:08
yiche: 好 看起來不是 xd05/14 00:13
我是根據這部影片改的 https://youtu.be/tZTQ6S9PfkE
※ 編輯: chhuang17 (118.166.170.132 臺灣), 05/14/2022 01:27:19 ※ 編輯: chhuang17 (114.136.231.155 臺灣), 05/14/2022 01:47:17
RumiManiac: detach 的意思就是不計算梯度05/14 15:31
對啊,不過我後來改成DDPG的架構跑 反向傳播又可行了 實在是很納悶為何MADDPG不行QQ ※ 編輯: chhuang17 (114.136.231.155 臺灣), 05/15/2022 02:23:37
yoyololicon: 是不是你bn1重複跑很多次forward 的關係?你拆成不05/15 09:24
yoyololicon: 同的normalizing layer 試試05/15 09:24
animos: in-place error....good luck!05/15 15:56
這句真的超哭
yoyololicon: 我拿了你的actor簡單跑了個forward backward 沒有遇05/15 20:27
yoyololicon: 到問題 可能不是出在這 建議把所有的error 都貼出來05/15 20:27
已解決 後來找到強者幫我debug,似乎是pytorch語法的問題 解法是把所有agent的actor做完backward之後 再一起做optimizer.step() (但critic的部分不需要這樣改…就不知道為什麼了@@) ※ 編輯: chhuang17 (223.137.234.138 臺灣), 05/16/2022 07:29:01
yoyololicon: optimizer.step()的確會有inplace op 當作學經驗吧05/16 08:32
yoyololicon: 我簡單看了你的learn() 的確兩個loss能直接合在一起05/16 13:34
yoyololicon: 做backward 不太理解你拆開然後又retain_graph的用意05/16 13:34
yoyololicon: 另外還是建議你用個high level的package做refactor05/16 13:35
yoyololicon: pytorch-lightning或ignite都好05/16 13:35
yoyololicon: 不然目前這個code髒髒的不好debug05/16 13:35
yoyololicon: 有看到直接assign optimizer給nn.Module的05/16 13:36
yoyololicon: 你這次問題出在optimizer.step()就會不好debug05/16 13:36
感謝yoyo大的熱心回覆! 我對PyTorch還不到非常上手 之後等論文告一段落後我再來好好研究一下 ※ 編輯: chhuang17 (223.137.234.138 臺灣), 05/16/2022 15:09:06