индивидуальные потери в весе для Keras LSTM с несколькими выходами - PullRequest
0 голосов
/ 19 февраля 2019

Я работаю с Keras-LSTM для прогнозирования двух разных выходов, используя одни и те же входные данные.Моя модель ниже работает без каких-либо ошибок.Вот мои вопросы: если есть способ изменить loss_weights в строке model.compile.

При текущем параметре окончательная потеря определяется как 0.5 x loss_output1 + 0.5 x loss_output2, однако я хочу рассчитать окончательную потерю как sqrt(loss_output1^2 + loss_output1^2).

def rmse_loss(y_true, y_pred):
     return (K.sqrt(K.mean(K.square(y_pred - y_true), axis=-1)))/K.mean(y_true) 

inputs=Input((data_tensor["X"].shape[1], data_tensor["X"].shape[2]), name='input')

model= LSTM(units=nHid, return_sequences=True)(inputs)
model= Dropout(dropout)(model)
model= LSTM(units=nHid, activation='linear')(model)
model= Dropout(dropout)(model)

output1= Dense(activation="relu", output_dim=1)(model)
output2= Dense(activation="relu", output_dim=1)(model)

model=Model(inputs=[inputs], outputs=[output1, output2])

# complie model
model.compile(loss=[rmse_loss, rmse_loss], optimizer=Adam, loss_weights=[0.5,0.5])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...