自动求梯度
一个简单的例子
tf.assgin 用法
该函数共有五个参数,分别是:被赋值的变量ref、要分配给变量的值value、是否验证形状validate_shape、是否进行锁定保护use_locking、名称name。
def assign(ref, value, validate_shape=None, use_locking=None, name=None)
tf.variable
tf.Variable当指定名称的图变量已经存在时表示获取它,当指定名称的图变量不存在时表示定义它
tf.Variable.init(initial_value, trainable=True, collections=None, validate_shape=True, name=None)
求导过程如下
x = tf.reshape(tf.Variable(range(4), dtype=tf.float32),(4,1))
x
with tf.GradientTape() as t:
t.watch(x)
y = 2 * tf.matmul(tf.transpose(x), x)
dy_dx = t.gradient(y, x)
dy_dx
对python控制流求梯度
def f(a):
b = a * 2
while tf.norm(b) < 1000:
b = b * 2
if tf.reduce_sum(b) > 0:
c = b
else:
c = 100 * b
return c
博客围绕TensorFlow2自动求梯度展开,介绍了一个简单例子,涉及tf.assgin函数的五个参数,以及tf.Variable在图变量存在与不存在时的不同作用,还提及了求导过程和对Python控制流求梯度。

1467

被折叠的 条评论
为什么被折叠?



