如何在Keras中定义自己的损失函数?

时间:2018-06-11 06:13:07

标签: keras python-3.5 lstm cudnn

我正在尝试在Keras中使用CuDNNLSTM处理一些具有多个输出的连续问题。我的代码编写如下:

inputs = Input(...)
lstm_outputs = CuDNNLSTM(n_neurons, return_sequences=True)(inputs)
outputs = TimeDistributed(Dense(3))(lstm_outputs)
model = Model(inputs=inputs, outputs=outputs)

当我在Keras中使用mean_square_error作为损失函数时,结果看起来像

  

error = np.mean(np.square(y_pred - y_real))

其中y_pred和y_real的要素编号为3。

但我想将损失函数定义如下:

  

error = np.mean(np.square(y_pred [:,:0] - y_real [:,:0])+   np.square(y_pred [:,:1] - y_real [:,:,1])+ np.square(y_pred [:,:,   2] - y_real [:,:,2]))

我不知道如何实现这个,有人能给我一些建议吗?非常感谢!

0 个答案:

没有答案