问题描述
需要我的损失函数来计算雅可比矩阵行列式的对数。所以,我写了下面的代码
def gradient_update(self,X,optimizer):
with tf.GradientTape() as t,tf.GradientTape() as j:
Y = self(X)
out = -self.distribution(Y) - tf.math.log(tf.linalg.det(j.jacobian(Y,X)))
Loss = tf.math.reduce_sum(out)
grads = t.gradient(Loss,self.trainable_weights)
optimizer.apply_gradients(zip(grads,self.trainable_weights))
return Loss
这给了我以下错误
ValueError: Tape is still recording,This can happen if you try to re-enter an already-active tape.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)