tf.keras.layers.experimental.preprocessing.CategoryCrossing
Слой перекрёстного категорирования.
Наследуется от: Layer
tf.keras.layers.experimental.preprocessing.CategoryCrossing(
depth=None, name=None, separator=None, **kwargs
)
Этот слой конкатенирует несколько категориальных входных данных в единый категориальный выход (аналогично декартову произведению). Тип данных выходных данных — строковый.
Использование:
inp_1 = ['a', 'b', 'c'] inp_2 = ['d', 'e', 'f'] layer = tf.keras.layers.experimental.preprocessing.CategoryCrossing() layer([inp_1, inp_2])
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)>
| Аргументы | |
|---|---|
depth | глубина перекрёстного соединения. По умолчанию None, все входы соединяются в один выход. Также может быть целым числом или кортежем/списком целых чисел. Передача целого числа создаст комбинации перекрёстных выходов с глубиной до этого целого числа, т.е., [1, 2, ..., depth), а передача кортежа целых чисел создаст перекрёстные выходы с глубиной для указанных значений в кортеже, т.е., depth=(N1, N2) создаст все возможные перекрёстные выходы с глубиной, равной N1 или N2. Передача None означает одиночный перекрёстный выход со всеми входами. Например, с входами a, b и c, depth=2 означает, что выход будет [a;b;c;cross(a, b);cross(bc);cross(ca)]. |
separator | Строка, добавляемая между каждым соединённым входом. По умолчанию 'X'. |
name | Имя, которое нужно дать слою. |
**kwargs | Параметры ключевых слов для построения слоя. |
Форма входных данных: список строковых или целочисленных тензоров или разреженных тензоров формы [batch_size, d1, ..., dm]
Форма выходных данных: один строковый или целочисленный тензор или разреженный тензор формы [batch_size, d1, ..., dm]
| Возвращаемое значение | |
|---|---|
Если какой-либо вход является RaggedTensor, выход — RaggedTensor. Иначе, если какой-либо вход является SparseTensor, выход — SparseTensor. В противном случае выход — Tensor. |
Пример: (depth=None) Если слой получает три входа: a=[[1], [4]], b=[[2], [5]], c=[[3], [6]] выход будет строковым тензором: [[b'1_X_2_X_3'], [b'4_X_5_X_6']]
Пример: (depth — целое число) С теми же входными данными выше, и если depth=2, выход будет списком из 6 строковых тензоров: [[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']]
Пример: (depth — кортеж/список целых чисел) С теми же входными данными выше, и если depth=(2, 3) выход будет списком из 4 строковых тензоров: [[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']]
Методы
partial_crossing
partial_crossing(
partial_inputs, ragged_out, sparse_out
)
Получение перекрёстного выхода из частичного списка/кортежа входов.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/layers/experimental/preprocessing/CategoryCrossing