gpt4 book ai didi

tensorflow - 在自己的损失函数中计算预测导数

转载 作者:行者123 更新时间:2023-11-30 09:16:49 24 4
gpt4 key购买 nike

除了 y_true 和 y_predict 的 MSE 之外,我还想在成本函数中使用 y_true 的二阶导数,因为我的模型目前非常动态。假设我有 y_predicted (256, 100, 1)。第一个维度对应于样本(每个样本之间的delta_t为0.1s)。现在我想通过第一个维度来区分,即

diff(diff(y_predicted[1, :, 1]))/delta_t**2

对于 y_predictied 中的每一行(0-dim)。

注意,我只想使用 y_predicted 和 delta_t 来区分

非常感谢,最大

最佳答案

要计算二阶导数,您可以使用tf.hessians,如下所示:

x = tf.Variable([7])
x2 = x * x
d2x2 = tf.hessians(x2, x)

评估 d2x2 yield :

[array([[2]], dtype=int32)]

就你的情况而言,你可以这样做

loss += lam_l1 * tf.hessians(y_pred, xs)

其中 xs 是您想要微分的张量。

如果您想直接使用 Keras,可以链接两次 keras.backend.gradients(loss, Variables),没有与 tf.hessians 等价的 Keras。

关于tensorflow - 在自己的损失函数中计算预测导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53805043/

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