diff --git a/tensorflow/python/keras/layers/preprocessing/category_crossing.py b/tensorflow/python/keras/layers/preprocessing/category_crossing.py index fa0237595ac..594b9741946 100644 --- a/tensorflow/python/keras/layers/preprocessing/category_crossing.py +++ b/tensorflow/python/keras/layers/preprocessing/category_crossing.py @@ -142,8 +142,8 @@ class CategoryCrossing(Layer): def _preprocess_input(self, inp): if isinstance(inp, (list, tuple, np.ndarray)): inp = ops.convert_to_tensor(inp) - if inp.shape.rank == 1: - inp = array_ops.expand_dims(inp, axis=-1) + if inp.shape.rank == 1: + inp = array_ops.expand_dims(inp, axis=-1) return inp def call(self, inputs): diff --git a/tensorflow/python/keras/layers/preprocessing/category_crossing_test.py b/tensorflow/python/keras/layers/preprocessing/category_crossing_test.py index 83e78c4dd46..0f320196080 100644 --- a/tensorflow/python/keras/layers/preprocessing/category_crossing_test.py +++ b/tensorflow/python/keras/layers/preprocessing/category_crossing_test.py @@ -191,6 +191,11 @@ class CategoryCrossingTest(keras_parameterized.TestCase): output = layer([inputs_0, inputs_1]) self.assertAllEqual([[b'1_X_1'], [b'2_X_3']], output) + inputs_0 = np.asarray([1, 2]) + inputs_1 = np.asarray([1, 3]) + output = layer([inputs_0, inputs_1]) + self.assertAllEqual([[b'1_X_1'], [b'2_X_3']], output) + def test_crossing_dense_inputs_depth_int(self): layer = category_crossing.CategoryCrossing(depth=1) inputs_0 = constant_op.constant([['a'], ['b'], ['c']]) diff --git a/tensorflow/python/keras/layers/preprocessing/hashing.py b/tensorflow/python/keras/layers/preprocessing/hashing.py index f4a4ae0ccc8..faeeec63a86 100644 --- a/tensorflow/python/keras/layers/preprocessing/hashing.py +++ b/tensorflow/python/keras/layers/preprocessing/hashing.py @@ -19,11 +19,14 @@ from __future__ import division from __future__ import print_function import functools +import numpy as np from tensorflow.python.framework import dtypes +from tensorflow.python.framework import ops from tensorflow.python.framework import sparse_tensor from tensorflow.python.framework import tensor_shape from tensorflow.python.framework import tensor_spec +from tensorflow.python.framework import tensor_util from tensorflow.python.keras.engine.base_layer import Layer from tensorflow.python.ops import gen_sparse_ops from tensorflow.python.ops import sparse_ops @@ -58,7 +61,7 @@ class Hashing(Layer): Example (FarmHash64): >>> layer = tf.keras.layers.experimental.preprocessing.Hashing(num_bins=3) - >>> inp = np.asarray([['A'], ['B'], ['C'], ['D'], ['E']]) + >>> inp = [['A'], ['B'], ['C'], ['D'], ['E']] >>> layer(inp) + Example (FarmHash64) with list of inputs: + >>> layer = tf.keras.layers.experimental.preprocessing.Hashing(num_bins=3) + >>> inp_1 = [['A'], ['B'], ['C'], ['D'], ['E']] + >>> inp_2 = np.asarray([[5], [4], [3], [2], [1]]) + >>> layer([inp_1, inp_2]) + + + Example (SipHash64): >>> layer = tf.keras.layers.experimental.preprocessing.Hashing(num_bins=3, ... salt=[133, 137]) - >>> inp = np.asarray([['A'], ['B'], ['C'], ['D'], ['E']]) + >>> inp = [['A'], ['B'], ['C'], ['D'], ['E']] >>> layer(inp) >> layer = tf.keras.layers.experimental.preprocessing.Hashing(num_bins=3, ... salt=133) - >>> inp = np.asarray([['A'], ['B'], ['C'], ['D'], ['E']]) + >>> inp = [['A'], ['B'], ['C'], ['D'], ['E']] >>> layer(inp)