gpt4 book ai didi

python - tf.gradient 的行为类似于 tfp.math.diag_jacobian

转载 作者:太空宇宙 更新时间:2023-11-03 21:10:10 26 4
gpt4 key购买 nike

我尝试使用输入数据中损失函数的梯度来计算输入数据的噪声:

my_grad = tf.gradients(损失,输入)

loss 是一个大小为 (n x 1) 的数组,其中 n 是数据集的数量,m 是数据集的大小,输入是一个 (n x m) 的数组,其中 m 是单个数据集的大小。

我需要 my_grad 的大小为 (n x m) - 因此对于每个数据集都会计算梯度。但根据定义,i!=j 处的梯度为零 - 但 tf.gradients 分配大量内存并运行几乎永远...

一个版本,它只在 i=j 的地方计算梯度会很棒 - 有什么想法如何到达那里吗?

最佳答案

我想我已经找到了解决方案:

my_grad = tf.gradients(tf.reduce_sum(loss), 输入)

确保交叉依赖 i!=j 被忽略 - 这工作得非常好而且快..

关于python - tf.gradient 的行为类似于 tfp.math.diag_jacobian,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55121377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com