tf.tpu.experimental.embedding.FeatureConfig
Данные конфигурации для одного признака вложения.
tf.tpu.experimental.embedding.FeatureConfig(
table: tf.tpu.experimental.embedding.TableConfig,
max_sequence_length: int = 0,
validate_weights_and_indices: bool = True,
output_shape: Optional[Union[List[int], tf.TensorShape]] = None,
name: Optional[Text] = None
)
Этот класс хранит данные конфигурации для одного признака вложения. Основное применение — назначение признаков tf.tpu.experimental.embedding.TableConfig через параметр таблицы:
table_config_one = tf.tpu.experimental.embedding.TableConfig(
vocabulary_size=...,
dim=...)
table_config_two = tf.tpu.experimental.embedding.TableConfig(
vocabulary_size=...,
dim=...)
feature_config = {
'feature_one': tf.tpu.experimental.embedding.FeatureConfig(
table=table_config_one),
'feature_two': tf.tpu.experimental.embedding.FeatureConfig(
table=table_config_one),
'feature_three': tf.tpu.experimental.embedding.FeatureConfig(
table=table_config_two)}
embedding = tf.tpu.experimental.embedding.TPUEmbedding(
feature_config=feature_config,
batch_size=...
optimizer=tf.tpu.experimental.embedding.Adam(0.1))
В приведенной выше конфигурации 2 таблицы и три признака. Первые два признака будут искать в первой таблице, а третий — во второй таблице.
Также можно указать форму вывода для каждого признака. Форма вывода должна соответствовать ожидаемой форме активации, исключая размер таблицы. Для плотных и разреженных тензоров форма вывода должна совпадать с формой входных данных, за исключением последнего измерения. Для разреженных тензоров форма вывода может отличаться от формы входных данных.
Примечание: Параметрmax_sequence_lengthбудет использоваться только в том случае, если входной тензор имеет ранг 2, аoutput_shapeне задан в конфигурации признака.
При подаче признаков в embedding.enqueue они могут быть tf.Tensor, tf.SparseTensor или tf.RaggedTensor. Когда аргумент max_sequence_length равен 0 (значение по умолчанию), ожидается вывод embedding.dequeue для данного признака с формой (batch_size, dim). Если max_sequence_length больше 0, признак вкладывается как последовательность и дополняется до заданной длины. Форма вывода для этого признака будет (batch_size, max_sequence_length, dim).
| Аргументы | |
|---|---|
table | Экземпляр tf.tpu.experimental.embedding.TableConfig, описывающий таблицу, в которой должен быть произведён поиск этого признака. |
max_sequence_length | Если положительно, признак является признаком последовательности с соответствующей максимальной длиной последовательности. Если последовательность длиннее, она будет усечена. Если 0, признак не является признаком последовательности. |
validate_weights_and_indices | Если истинно, используется безопасный поиск вложения при предоставлении данных, что гарантирует отсутствие пустых строк и положительные значения всех весов и идентификаторов за счёт дополнительных вычислительных затрат. |
output_shape | Необязательный аргумент для настройки формы вывода активации признака. Если задан, форма подачи признака в embedding.enqueue должна соответствовать указанной форме (для разреженных тензоров форма входных и выходных данных может отличаться). Если не задан, форма может быть указана в embedding.build или автоматически определена во время выполнения. |
name | Необязательное имя признака, полезное для отладки. |
| Исключения | |
|---|---|
ValueError | если table не является экземпляром tf.tpu.experimental.embedding.TableConfig. |
ValueError | если max_sequence_length не является целым числом или отрицательным. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/tpu/experimental/embedding/FeatureConfig