【发布时间】:2022-08-04 02:50:55
【问题描述】:
因为我们知道自动微分是通过 python 中的tf.GradientTape 实现的,例如:
with tf.GradientTape(persistent=True) as tape1:
func_1 = u(x, y)
d_fun1_dx, d_fun1_dy = tape1.gradient(func_1, [x, y])
del tape1
它可以得到单个输出神经网络的导数。
我有一个有两个输入的神经网络x, y和两个输出f1, f2.我想获得 df1/dx、df1/dy、df2/dx、df2/dy,我该如何实现?
-
你需要使用纯张量流吗?否则,我建议你使用 Keras(它使用 tensorflow 作为后端)。它自动处理多个输入和输出的梯度流。
标签: tensorflow neural-network gradient