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:
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.Tensors, tf.SparseTensors или tf.RaggedTensors. Если аргумент 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 | Необязательная строка, используемая для именования таблицы. Должна быть определена при работе с SparseCore. |
| Исключения | |
|---|---|
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/api_docs/python/tf/tpu/experimental/embedding/FeatureConfig