View source on GitHub
|
A preprocessing layer which crosses categorical features.
tf.keras.layers.experimental.preprocessing.CategoryCrossing(
depth=None, name=None, separator='_X_', **kwargs
)
This layer concatenates multiple categorical inputs into a single categorical output (similar to Cartesian product). The output dtype is string.
For an overview and full list of preprocessing layers, see the preprocessing guide.
Usage:
inp_1 = ['a', 'b', 'c']inp_2 = ['d', 'e', 'f']layer = tf.keras.layers.experimental.preprocessing.CategoryCrossing()layer([inp_1, inp_2])<tf.Tensor: shape=(3, 1), dtype=string, numpy=array([[b'a_X_d'],[b'b_X_e'],[b'c_X_f']], dtype=object)>
inp_1 = ['a', 'b', 'c']inp_2 = ['d', 'e', 'f']layer = tf.keras.layers.experimental.preprocessing.CategoryCrossing(separator='-')layer([inp_1, inp_2])<tf.Tensor: shape=(3, 1), dtype=string, numpy=array([[b'a-d'],[b'b-e'],[b'c-f']], dtype=object)>
Input shape: a list of string or int tensors or sparse tensors of shape
[batch_size, d1, ..., dm]
Output shape: a single string or int tensor or sparse tensor of shape
[batch_size, d1, ..., dm]
Returns | |
|---|---|
If any input is RaggedTensor, the output is RaggedTensor.
Else, if any input is SparseTensor, the output is SparseTensor.
Otherwise, the output is Tensor.
|
Example: (depth=None)
If the layer receives three inputs:
a=[[1], [4]], b=[[2], [5]], c=[[3], [6]]
the output will be a string tensor:
[[b'1_X_2_X_3'], [b'4_X_5_X_6']]
Example: (depth is an integer)
With the same input above, and if depth=2,
the output will be a list of 6 string tensors:
[[b'1'], [b'4']]
[[b'2'], [b'5']]
[[b'3'], [b'6']]
[[b'1_X_2'], [b'4_X_5']],
[[b'2_X_3'], [b'5_X_6']],
[[b'3_X_1'], [b'6_X_4']]
Example: (depth is a tuple/list of integers)
With the same input above, and if depth=(2, 3)
the output will be a list of 4 string tensors:
[[b'1_X_2'], [b'4_X_5']],
[[b'2_X_3'], [b'5_X_6']],
[[b'3_X_1'], [b'6_X_4']],
[[b'1_X_2_X_3'], [b'4_X_5_X_6']]
Methods
partial_crossing
partial_crossing(
partial_inputs, ragged_out, sparse_out
)
Gets the crossed output from a partial list/tuple of inputs.
View source on GitHub