看板 DataScience 關於我們 聯絡資訊
作業系統: Win10 問題類別: 簡單CNN 使用工具: Pytorch 問題內容: 剛入門深~度學習,在學習Pytorch發現一個問題, 先附一張圖,取自Pytorch官方教學範例。 https://imgur.com/a/JeXGTxr loss.backward() ------> 這個應該計算每個層的 gradient 問題: optimizer.step() -----> 為何知道要把loss這個物件的 gradient 更新到 optimizer 物件? 因為我想在在每個 batch 的迴圈中 放入驗證資料,想要在學習的時候可以看到每次跌代的過程 valid_outputs = net(valid_inputs) valid_loss = criterion(valid_outputs, valid_labels) 但卻看到 Loss 不會變動 因此覺得是對上面這個過程不夠理解 有人做交叉驗證遇到同樣的問題嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.20 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1542965409.A.8EB.html
yiefaung: optimizer initialize的時候不就要塞你要update的weight 11/23 21:42
yiefaung: 不太懂你說什麼Loss不會變動 11/23 21:44
yoyololicon: 看不懂你想問啥... 11/23 23:14
kiazo: optimizer裡頭有一套演算法,它會針對你給它的loss,採取某 12/03 08:56
kiazo: 一套方法來降低loss,之後透過backprop來更新weight matrix 12/03 08:58