0
我可以得到梯度w.r.t輸出的網絡(通過其他方式計算),我可以反向傳播梯度到所有參數,然後將它們應用到整個網絡?使用張量流,我可以將已計算出的梯度向後傳播到所有參數,然後將梯度應用到整個網絡?
我可以得到梯度w.r.t輸出的網絡(通過其他方式計算),我可以反向傳播梯度到所有參數,然後將它們應用到整個網絡?使用張量流,我可以將已計算出的梯度向後傳播到所有參數,然後將梯度應用到整個網絡?
您可以點擊這裏查看該link。
trainable_variables = tf.trainable_variables()
grads = tf.gradients(self.cost, trainable_variables)
if self.hps.optimizer == 'sgd':
optimizer = tf.train.GradientDescentOptimizer(self.lrn_rate)
elif self.hps.optimizer == 'mom':
optimizer = tf.train.MomentumOptimizer(self.lrn_rate, 0.9)
apply_op = optimizer.apply_gradients(
zip(grads, trainable_variables),
global_step=self.global_step, name='train_step')
在那裏你可以更換gradients
如果計算出的梯度也tensors
或variables
。
但是,如果您計算的梯度是數值,我不確定tensorflow可以輕鬆做到這一點。
我認爲,通過這種方式,你應該得到所有的畢業生,然後應用它們。但我只能爲最後一層創建漸變,我想要的是先將最後一個圖層漸變到前一個圖層,然後獲取所有漸變,然後再應用它們。謝謝! –