我正在尝试在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]))
我不知道如何实现这个,有人能给我一些建议吗?非常感谢!