- discriminator loss始終是一個常數,沒有隨着迭代次數的增加而更新
將disciminator loss中的各個分量打印出來,查看原因。
最後發現是因爲netD輸出的是經過sigmoid激活後的值,而在使用criterion是卻採用了BCEWithLogitsLoss
- input的data range [-1, 1]
- 注意使用LeakyReLU(inplace=True) 這裏的inplace會替換前一layer的值,如果網絡搭建錯很可能會修改輸入數據
將disciminator loss中的各個分量打印出來,查看原因。
最後發現是因爲netD輸出的是經過sigmoid激活後的值,而在使用criterion是卻採用了BCEWithLogitsLoss