loss_fn_str="mse"
)
lstm = K.layers.LSTM(2, recurrent_activation='sigmoid', activation='tanh', return_sequences=True)
- lstm_layer_return_sequence_with_batch_n(lstm)(file_name="lstm_return_sequence_with_batch_n.info", debug=["summary", "initial_weights", "dx", "output", "layer_name", "label","weights","gradients"],)
+ lstm_layer_return_sequence_with_batch_n(lstm)(file_name="lstm_return_sequence_with_batch_n.info", debug=["summary", "initial_weights", "dx", "output", "layer_name", "label","weights","gradients"],)
+ multi_lstm_layer_return_sequence = partial(
+ record,
+ model=[
+ K.Input(batch_shape=(1, 2, 1)),
+ K.layers.LSTM(2, recurrent_activation='sigmoid', activation='tanh', return_sequences=True),
+ K.layers.LSTM(2, recurrent_activation='sigmoid', activation='tanh'),
+ K.layers.Dense(1)
+ ],
+ optimizer=opt.SGD(learning_rate=0.1),
+ iteration=1,
+ input_shape=(1,2,1),
+ label_shape=(1,1,1),
+ is_onehot=False,
+ loss_fn_str="mse"
+ )
+ multi_lstm_layer_return_sequence(file_name="multi_lstm_return_sequence.info", debug=["summary", "initial_weights", "dx", "output", "layer_name", "label","weights","gradients"],)
+
+ multi_lstm_layer_return_sequence_with_batch_n = partial(
+ record,
+ model=[
+ K.Input(batch_shape=(2, 2, 1)),
+ K.layers.LSTM(2, recurrent_activation='sigmoid', activation='tanh', return_sequences=True),
+ K.layers.LSTM(2, recurrent_activation='sigmoid', activation='tanh'),
+ K.layers.Dense(1)
+ ],
+ optimizer=opt.SGD(learning_rate=0.1),
+ iteration=2,
+ input_shape=(2,2,1),
+ label_shape=(2,1),
+ is_onehot=False,
+ loss_fn_str="mse"
+ )
+ multi_lstm_layer_return_sequence_with_batch_n(file_name="multi_lstm_return_sequence_with_batch_n.info", debug=["summary", "initial_weights", "dx", "output", "layer_name", "label","weights","gradients"],)
}
);
+INI multi_lstm_return_sequence(
+ "multi_lstm_return_sequence",
+ {
+ nn_base + "loss=mse | batch_size=1",
+ sgd_base + "learning_rate = 0.1",
+ I("input") + input_base + "input_shape=1:2:1",
+ I("lstm") + lstm_base +
+ "unit = 2" + "input_layers=input"+ "return_sequences=true",
+ I("lstm2") + lstm_base +
+ "unit = 2" + "input_layers=lstm",
+ I("outputlayer") + fc_base + "unit = 1" + "input_layers=lstm2"
+ }
+);
+
+
+INI multi_lstm_return_sequence_with_batch_n(
+ "multi_lstm_return_sequence_with_batch_n",
+ {
+ nn_base + "loss=mse | batch_size=2",
+ sgd_base + "learning_rate = 0.1",
+ I("input") + input_base + "input_shape=1:2:1",
+ I("lstm") + lstm_base +
+ "unit = 2" + "input_layers=input"+ "return_sequences=true",
+ I("lstm2") + lstm_base +
+ "unit = 2" + "input_layers=lstm",
+ I("outputlayer") + fc_base + "unit = 1" + "input_layers=lstm2"
+ }
+);
+
+
INSTANTIATE_TEST_CASE_P(
nntrainerModelAutoTests, nntrainerModelTest, ::testing::Values(
mkModelTc(lstm_basic, "1:1:1:1", 1),
mkModelTc(lstm_return_sequence, "1:1:2:1", 1),
mkModelTc(lstm_return_sequence_with_batch, "2:1:2:1", 1),
- mkModelTc(lstm_return_sequence_with_batch_n, "2:1:2:1", 2)
+ mkModelTc(lstm_return_sequence_with_batch_n, "2:1:2:1", 2),
+ mkModelTc(multi_lstm_return_sequence, "1:1:1:1", 1),
+ mkModelTc(multi_lstm_return_sequence_with_batch_n, "2:1:1:1", 2)
// / #if gtest_version <= 1.7.0
));
/// #else gtest_version > 1.8.0