【发布时间】:2019-03-06 19:01:17
【问题描述】:
我想使用 Keras 定义一个自定义损失函数,其中包含 y_true 和 y_pred 之间差异的梯度。
我发现numpy.gradient 可以帮助我得到一个数组的梯度。
所以我的损失函数部分代码如下所示:
def loss(y_true, y_pred):
d = y_true - y_pred
gradient_x = np.gradient(d, axis=0)
gradient_y = np.gradient(d, axis=1)
但事实证明 d 是一个 Tensorflow 张量类,numpy.gradient 无法处理它。
我对 Keras 和 Tensorflow 有点陌生。
有没有其他功能可以帮助我做到这一点?还是我必须自己计算梯度?
【问题讨论】:
标签: python tensorflow keras deep-learning loss-function