コード例 #1
0
    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))
コード例 #2
0
 def testWrapperV2Build(self, wrapper):
     cell = legacy_cells.LSTMCell(10)
     wrapper = wrapper(cell)
     wrapper.build((1,))
     self.assertTrue(cell.built)