作者wheado (principal component QQ)
看板DataScience
標題[問題] Pytorch upadate gradient 問題
時間Fri Nov 23 17:30:07 2018
作業系統: 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