我就废话不多说了,直接上代码吧!
进口tensorflow特遣部队 w1=tf.Variable ([[1, 2]]) w2=tf.Variable ([[3,4]]) res=特遣部队。matmul (w1, [[2], [1]]) (w1)毕业生=tf.gradients (res) 与tf.Session税(): .run tf.global_variables_initializer () () 打印sess.run (res) 打印sess.run(毕业生) >之前输出结果为:
[[4]] 数组([[2 1]],dtype=int32)]可以这样看res与w1有关,w1的参数设为[a1, a2],则:
2 * a1 + a2=res
所以res对a1, a2求导可得[[2 1]]为w1对应的梯度信息。
进口tensorflow特遣部队 def gradient_clip(渐变max_gradient_norm): ”““剪切梯度模型。”“ clipped_gradients gradient_norm=tf.clip_by_global_norm ( 梯度,max_gradient_norm) (tf.summary gradient_norm_summary=1炅?“grad_norm”, gradient_norm)] gradient_norm_summary.append ( tf.summary。标量(“clipped_gradient tf.global_norm (clipped_gradients))) 返回clipped_gradients w1=tf.Variable ([[3.0, 2.0]]) # w2=tf.Variable ([[3,4]]) params=tf.trainable_variables () res=特遣部队。matmul (w1, [[3.0], [1]]) 选择=tf.train.GradientDescentOptimizer (1.0) (w1)毕业生=tf.gradients (res) 2.0 clipped_gradients=gradient_clip(毕业生) global_step=特遣部队。变量(0,name=' global_step ',可训练的=False) #更新=opt.apply_gradients (zip (clipped_gradients params) global_step=global_step) 与tf.Session税(): .run tf.global_variables_initializer () () 打印sess.run (res) 打印sess.run(毕业生) 打印sess.run (clipped_gradients) >之前以上这篇TensorFlow梯度求解tf.gradients实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
TensorFlow梯度求解tf.gradients实例