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))
В приведенной выше конфигурации две таблицы и три признака. Первые два признака будут искаться в первой таблице, а третий — во второй.
Также можно задать форму выходных данных для каждого признака. Форма выходных данных должна соответствовать ожидаемой форме активации без измерения таблицы. Для плотного и разреженного тензоров форма выходных данных должна совпадать с формой входных данных без последнего измерения. Для ragged-тензора формы входных и выходных данных могут не совпадать.
Примечание: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 | Если значение равно true, при обслуживании используется safe_embedding_lookup, что гарантирует отсутствие пустых строк и положительные значения всех весов и идентификаторов за счет дополнительных вычислительных затрат. |
output_shape | Необязательный аргумент для настройки формы активации признака на выходе. Если он указан, форма признака, передаваемого в embedding.enqueue, должна совпадать с этой формой (для ragged-тензора формы входных и выходных данных могут не совпадать). Если аргумент не указан, форму можно задать в 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