Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.estimator.tpu.experimental.EmbeddingConfigSpec

Класс для отслеживания спецификаций для TPU-встраиваний.

tf.compat.v1.estimator.tpu.experimental.EmbeddingConfigSpec(
    feature_columns=None, optimization_parameters=None, clipping_limit=None,
    pipeline_execution_with_tensor_core=False,
    experimental_gradient_multiplier_fn=None, feature_to_config_dict=None,
    table_to_config_dict=None, partition_strategy='div',
    profile_data_directory=None
)

Передайте этот класс в tf.estimator.tpu.TPUEstimator через параметр embedding_config_spec. Как минимум, вам необходимо указать feature_columns и optimization_parameters. Столбцы признаков, которые передаются, должны быть созданы с помощью какой-либо комбинации tf.tpu.experimental.embedding_column и tf.tpu.experimental.shared_embedding_columns.

TPU-встраивания не поддерживают произвольные оптимизаторы TensorFlow, и основной оптимизатор, который вы используете для вашей модели, будет проигнорирован для переменных таблицы встраивания. Вместо этого TPU-встраивания поддерживают фиксированный набор предопределенных оптимизаторов, из которых вы можете выбрать и настроить параметры. К ним относятся adagrad, adam и стохастический градиентный спуск. Каждый поддерживаемый оптимизатор имеет класс Parameters в пространстве имен tf.tpu.experimental.

column_a = tf.feature_column.categorical_column_with_identity(...)
column_b = tf.feature_column.categorical_column_with_identity(...)
column_c = tf.feature_column.categorical_column_with_identity(...)
tpu_shared_columns = tf.tpu.experimental.shared_embedding_columns(
    [column_a, column_b], 10)
tpu_non_shared_column = tf.tpu.experimental.embedding_column(
    column_c, 10)
tpu_columns = [tpu_non_shared_column] + tpu_shared_columns
...
def model_fn(features):
  dense_features = tf.keras.layers.DenseFeature(tpu_columns)
  embedded_feature = dense_features(features)
  ...

estimator = tf.estimator.tpu.TPUEstimator(
    model_fn=model_fn,
    ...
    embedding_config_spec=tf.estimator.tpu.experimental.EmbeddingConfigSpec(
        column=tpu_columns,
        optimization_parameters=(
            tf.estimator.tpu.experimental.AdagradParameters(0.1))))
Аргументы
feature_columns Все встраивания FeatureColumn используемые моделью.
optimization_parameters Экземпляр AdagradParameters, AdamParameters или StochasticGradientDescentParameters. Этот оптимизатор будет применён ко всем переменным встраивания, указанным в feature_columns.
clipping_limit (Необязательно) Предел ограничения по величине (абсолютное значение).
pipeline_execution_with_tensor_core Установка этого значения в True ускоряет обучение, но обученная модель будет отличаться, если шаг N и шаг N+1 включают один и тот же набор идентификаторов встраивания. Подробнее см. tpu_embedding_configuration.proto
experimental_gradient_multiplier_fn (Необязательно) Функция, принимающая глобальный шаг в качестве входных данных и возвращающая текущий множитель для всех градиентов встраивания.
feature_to_config_dict Словарь, сопоставляющий имена признаков с экземплярами класса FeatureConfig. Должны быть указаны либо features_columns, либо пара feature_to_config_dict и table_to_config_dict.
table_to_config_dict Словарь, сопоставляющий имена признаков с экземплярами класса TableConfig. Должны быть указаны либо features_columns, либо пара feature_to_config_dict и table_to_config_dict.
partition_strategy Строка, определяющая, как тензоры фрагментированы для TPU-узлов. Более подробную информацию см. в tf.nn.safe_embedding_lookup_sparse. Разрешённые значения "div" и "mod"'. If"mod"is used, evaluation and exporting the model to CPU will not work as expected. </td> </tr><tr> <td>profile_data_directory` Директория, в которой хранятся статистические данные о поиске встраиваний. Эти статистические данные обобщают информацию о входных данных в операцию поиска встраивания, в частности, среднее количество идентификаторов встраивания на пример и насколько хорошо идентификаторы встраивания сбалансированы по системе. Статистические данные поиска используются во время инициализации TPU для разделения таблиц встраивания. Сбор статистических данных поиска выполняется во время выполнения путём профилирования входных данных встраивания: только 3% образцов входных данных профилируются для минимизации нагрузки на процессор хост-системы. Как только будет профилировано достаточное количество образцов, статистические данные поиска сохраняются в файлы, относящиеся к каждой таблице, в директории профиля, обычно в конце цикла обучения TPU. Имя файла, соответствующее каждой таблице, получается путём хеширования параметров, специфичных для таблицы (например, имя таблицы и количество признаков), и параметров глобальной конфигурации (например, стратегии фрагментации и количества задач). Одну и ту же директорию данных профиля можно использовать для нескольких моделей для повторного использования статистических данных о поиске встраиваний.
Исключения
ValueError Если не указаны feature_columns.
TypeError Если столбцы признаков не соответствуют требуемому типу (один из _SUPPORTED_FEATURE_COLUMNS, _TPU_EMBEDDING_COLUMN_CLASSES или _EMBEDDING_COLUMN_CLASSES).
ValueError Если optimization_parameters не является одним из требуемых типов.
Атрибуты
feature_columns
tensor_core_feature_columns
optimization_parameters
clipping_limit
pipeline_execution_with_tensor_core
experimental_gradient_multiplier_fn
feature_to_config_dict
table_to_config_dict
partition_strategy
profile_data_directory

© 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.4/api_docs/python/tf/compat/v1/estimator/tpu/experimental/EmbeddingConfigSpec

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API