如何在Keras中使用fft创建自定义损失函数

时间:2019-10-24 07:34:23

标签: tensorflow keras fft recurrent-neural-network loss-function

我想计算损失函数,但在使用fft函数时遇到问题。 这里是numpy的代码:

def bidule(y_true, y_pred):
product = np.fft.fft(y_true) * np.fft.fft( y_pred).conj()
cc = np.fft.fftshift(np.fft.ifft(product))
return np.argmax(cc.real)

我想使用Keras后端,但是当我用K替换np时,代码无法运行。 “模块'keras.backend'没有属性'fft'”

有人可以帮我吗?

谢谢

尼古拉斯

1 个答案:

答案 0 :(得分:0)

请首先检查Keras Backend Documentation,看看是否有.fft属性。 .fft中没有keras.backend。但是,您可以通过使用带有Keras的tf.signal.fft层来使用TensorFlow和Lambda来实现。在下面的link中,将Lambda与频谱傅立叶函数一起使用的示例。您可以使用给定的链接来实现。