def test_timeseries_classification_sequential_tf_rnn(self): np.random.seed(1337) (x_train, y_train), _ = test_utils.get_test_data( train_samples=100, test_samples=0, input_shape=(4, 10), num_classes=2, ) y_train = utils.to_categorical(y_train) with base_layer.keras_style_scope(): model = keras.models.Sequential() model.add( keras.layers.RNN( legacy_cells.LSTMCell(5), return_sequences=True, input_shape=x_train.shape[1:], ) ) model.add( keras.layers.RNN( legacy_cells.GRUCell( y_train.shape[-1], activation="softmax", dtype=tf.float32, ) ) ) model.compile( loss="categorical_crossentropy", optimizer=keras.optimizers.optimizer_v2.adam.Adam(0.005), metrics=["acc"], run_eagerly=test_utils.should_run_eagerly(), ) history = model.fit( x_train, y_train, epochs=15, batch_size=10, validation_data=(x_train, y_train), verbose=2, ) self.assertGreater(history.history["val_acc"][-1], 0.7) _, val_acc = model.evaluate(x_train, y_train) self.assertAlmostEqual(history.history["val_acc"][-1], val_acc) predictions = model.predict(x_train) self.assertEqual(predictions.shape, (x_train.shape[0], 2))
def testWrapperV2Build(self, wrapper): cell = legacy_cells.LSTMCell(10) wrapper = wrapper(cell) wrapper.build((1,)) self.assertTrue(cell.built)