keras/keras_core/layers/preprocessing/hashing_test.py
2023-05-08 19:05:12 -07:00

40 lines
1.4 KiB
Python

import numpy as np
from keras_core import backend
from keras_core import layers
from keras_core import testing
class TextVectorizationTest(testing.TestCase):
def test_config(self):
layer = layers.Hashing(
num_bins=8,
output_mode="int",
)
self.run_class_serialization_test(layer)
def test_correctness(self):
layer = layers.Hashing(num_bins=3)
inp = [["A"], ["B"], ["C"], ["D"], ["E"]]
output = layer(inp)
self.assertTrue(backend.is_tensor(output))
self.assertAllClose(output, np.array([[1], [0], [1], [1], [2]]))
layer = layers.Hashing(num_bins=3, mask_value="")
inp = [["A"], ["B"], [""], ["C"], ["D"]]
output = layer(inp)
self.assertTrue(backend.is_tensor(output))
self.assertAllClose(output, np.array([[1], [1], [0], [2], [2]]))
layer = layers.Hashing(num_bins=3, salt=[133, 137])
inp = [["A"], ["B"], ["C"], ["D"], ["E"]]
output = layer(inp)
self.assertTrue(backend.is_tensor(output))
self.assertAllClose(output, np.array([[1], [2], [1], [0], [2]]))
layer = layers.Hashing(num_bins=3, salt=133)
inp = [["A"], ["B"], ["C"], ["D"], ["E"]]
output = layer(inp)
self.assertTrue(backend.is_tensor(output))
self.assertAllClose(output, np.array([[0], [0], [2], [1], [0]]))