tensorflow2对于python循环的计算

    技术2022-07-11  72

    对于以下代码这种机制 def f(x, y): output = 1.0 for i in range(y): if i> 1 : output = tf.multiply(output, x) return output def grad(x, y): with tf.GradientTape() as t: t.watch(x) out = f(x, y) return t.gradient(out, x) x = tf.convert_to_tensor(2.0) print(grad(x, 3)) print(grad(x, 4)) print(grad(x, 5)) tf.Tensor(1.0, shape=(), dtype=float32) tf.Tensor(4.0, shape=(), dtype=float32) tf.Tensor(12.0, shape=(), dtype=float32) grad(x, 3)表示对x求导,grad(x, 4)对x的平方求导,grad(x, 5)对x的三次方求导,(与下文代码做对比观看)
    Processed: 0.014, SQL: 9