コード例 #1
0
    def test_ragged_input_pad_and_mask(self):
        input_data = ragged_factory_ops.constant([[1, 2, 3, 4, 5], []])
        expected_mask = np.array([True, False])

        output = ToDense(pad_value=-1, mask=True)(input_data)
        self.assertTrue(hasattr(output, "_keras_mask"))
        self.assertIsNot(output._keras_mask, None)
        self.assertAllEqual(K.get_value(output._keras_mask), expected_mask)
コード例 #2
0
    def test_sparse_input_pad_and_mask(self):
        input_data = sparse_tensor.SparseTensor(indices=[[0, 0], [1, 2]],
                                                values=[1, 2],
                                                dense_shape=[3, 4])

        expected_mask = np.array([True, True, False])

        output = ToDense(pad_value=-1, mask=True)(input_data)
        self.assertTrue(hasattr(output, "_keras_mask"))
        self.assertIsNot(output._keras_mask, None)
        self.assertAllEqual(K.get_value(output._keras_mask), expected_mask)
コード例 #3
0
ファイル: todense_test.py プロジェクト: vermeerlee/chromium
    def SKIP_test_ragged_input_default_padding(self):
        input_data = get_input_dataset(
            ragged_factory_ops.constant([[1, 2, 3, 4, 5], [2, 3]]))
        expected_output = np.array([[1, 2, 3, 4, 5], [2, 3, 0, 0, 0]])

        layers = [ToDense(), Final()]
        model = testing_utils.get_model_from_layers(layers,
                                                    input_shape=(None, ),
                                                    input_ragged=True,
                                                    input_dtype=dtypes.int32)
        model.compile(optimizer="sgd",
                      loss="mse",
                      metrics=["accuracy"],
                      run_eagerly=testing_utils.should_run_eagerly())
        output = model.predict(input_data)
        self.assertAllEqual(output, expected_output)
コード例 #4
0
ファイル: todense_test.py プロジェクト: vermeerlee/chromium
    def test_sparse_input_shape(self):
        input_data = get_input_dataset(
            sparse_tensor.SparseTensor(indices=[[0, 0], [1, 2]],
                                       values=[1, 2],
                                       dense_shape=[3, 4]))

        expected_output = np.array([[1., 0., 0., 0.], [0., 0., 2., 0.],
                                    [0., 0., 0., 0.]])

        layers = [ToDense(shape=[3, 4]), Final()]
        model = testing_utils.get_model_from_layers(layers,
                                                    input_shape=(None, ),
                                                    input_sparse=True,
                                                    input_dtype=dtypes.int32)
        model.compile(optimizer="sgd",
                      loss="mse",
                      metrics=["accuracy"],
                      run_eagerly=testing_utils.should_run_eagerly())
        output = model.predict(input_data)
        self.assertAllEqual(output, expected_output)
コード例 #5
0
    def SKIP_test_ragged_input_with_padding(self):
        input_data = get_input_dataset(
            ragged_factory_ops.constant([[[1, 2, 3, 4, 5]], [[2], [3]]]))
        expected_output = np.array([[[1., 2., 3., 4., 5.],
                                     [-1., -1., -1., -1., -1.]],
                                    [[2., -1., -1., -1., -1.],
                                     [3., -1., -1., -1., -1.]]])

        layers = [ToDense(pad_value=-1), Final()]
        model = testing_utils.get_model_from_layers(layers,
                                                    input_shape=(None, None),
                                                    input_ragged=True,
                                                    input_dtype=dtypes.int32)
        model.compile(optimizer="sgd",
                      loss="mse",
                      metrics=["accuracy"],
                      run_eagerly=testing_utils.should_run_eagerly(),
                      experimental_run_tf_function=testing_utils.
                      should_run_tf_function())
        output = model.predict(input_data)
        self.assertAllEqual(output, expected_output)
コード例 #6
0
    def SKIP_test_sparse_input_with_padding(self):
        input_data = get_input_dataset(
            sparse_tensor.SparseTensor(indices=[[0, 0], [1, 2]],
                                       values=[1, 2],
                                       dense_shape=[3, 4]))

        expected_output = np.array([[1., -1., -1., -1.], [-1., -1., 2., -1.],
                                    [-1., -1., -1., -1.]])

        layers = [ToDense(pad_value=-1, trainable=False), Final()]
        model = testing_utils.get_model_from_layers(layers,
                                                    input_shape=(None, ),
                                                    input_sparse=True,
                                                    input_dtype=dtypes.int32)
        model.compile(optimizer="sgd",
                      loss="mse",
                      metrics=["accuracy"],
                      run_eagerly=testing_utils.should_run_eagerly(),
                      experimental_run_tf_function=testing_utils.
                      should_run_tf_function())
        output = model.predict(input_data)
        self.assertAllEqual(output, expected_output)
コード例 #7
0
ファイル: todense_test.py プロジェクト: vermeerlee/chromium
    def SKIP_test_ragged_input_RNN_layer(self, layer):
        input_data = get_input_dataset(
            ragged_factory_ops.constant([[1, 2, 3, 4, 5], [5, 6]]))

        layers = [
            ToDense(pad_value=7, mask=True),
            keras.layers.Embedding(8, 16),
            layer(16),
            keras.layers.Dense(3, activation="softmax"),
            keras.layers.Dense(1, activation="sigmoid")
        ]
        model = testing_utils.get_model_from_layers(layers,
                                                    input_shape=(None, ),
                                                    input_ragged=True,
                                                    input_dtype=dtypes.int32)
        model.compile(optimizer="rmsprop",
                      loss="binary_crossentropy",
                      metrics=["accuracy"],
                      run_eagerly=testing_utils.should_run_eagerly())

        output = model.predict(input_data)
        self.assertAllEqual(np.zeros((2, 1)).shape, output.shape)