Spec-Zone.ru › TensorFlow 2.9

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
)

Переход к TF2

Внимание: Этот API был разработан для TensorFlow v1. Продолжайте чтение, чтобы узнать, как мигрировать с этого API на эквивалент в чистом TensorFlow v2. Обратитесь к руководству по миграции TensorFlow v1 в TensorFlow v2 для получения инструкций по миграции остальной части вашего кода.

TPU Estimator управляет собственной графой TensorFlow и сессией, поэтому он несовместим с поведением TF2. Мы рекомендуем вам перейти к более новому tf.distribute.TPUStrategy. Подробности см. в руководстве по TPU.

Описание

Передайте этот класс в 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 для разбиения таблиц встраивания. Сбор статистических данных поиска встраивания выполняется во время выполнения, путём профилирования входов в поиск встраивания, только небольшая часть входных выборок профилируется, чтобы минимизировать загрузку ЦП на хост. Как только подходящее количество выборок будет профилировано, статистические данные поиска встраивания сохраняются в файлы, специфичные для таблицы, в каталоге профилей, обычно в конце цикла обучения TPU. Имя файла, соответствующее каждой таблице, получается путём хэширования параметров, специфичных для таблицы (например, имя таблицы и количество признаков), и глобальных параметров конфигурации (например, стратегии фрагментации и количества задач). Один и тот же каталог данных профиля может быть совместно использован между несколькими моделями для повторного использования статистических данных поиска встраивания.
Исключения
ValueError Если `feature_columns` не указаны.
TypeError Если столбцы признаков не соответствуют требуемому типу (один из _SUPPORTED_FEATURE_COLUMNS, _TPU_EMBEDDING_COLUMN_CLASSES или _EMBEDDING_COLUMN_CLASSES).
ValueError Если optimization_parameters не является одним из требуемых типов.
Атрибуты
feature_columns Псевдоним namedtuple для поля номер 0
tensor_core_feature_columns Псевдоним namedtuple для поля номер 1
optimization_parameters Псевдоним namedtuple для поля номер 2
clipping_limit Псевдоним namedtuple для поля номер 3
pipeline_execution_with_tensor_core Псевдоним namedtuple для поля номер 4
experimental_gradient_multiplier_fn Псевдоним namedtuple для поля номер 5
feature_to_config_dict Псевдоним namedtuple для поля номер 6
table_to_config_dict Псевдоним namedtuple для поля номер 7
partition_strategy Псевдоним namedtuple для поля номер 8
profile_data_directory Псевдоним namedtuple для поля номер 9

© 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/compat/v1/estimator/tpu/experimental/EmbeddingConfigSpec

Spec-Zone.ru

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