Spec-Zone.ru › TensorFlow 2.9

tf.tpu.experimental.embedding.AdagradMomentum

Параметры оптимизации для Adagrad + Momentum с TPU встраиванием.

Просмотр псевдонимов

Псевдонимы для миграции

Для получения дополнительной информации см. Руководство по миграции.

tf.compat.v1.tpu.experimental.embedding.AdagradMomentum

tf.tpu.experimental.embedding.AdagradMomentum(
    learning_rate: Union[float, Callable[[], float]] = 0.001,
    momentum: float = 0.0,
    use_nesterov: bool = False,
    exponent: float = 2,
    beta2: float = 1,
    epsilon: float = 1e-10,
    use_gradient_accumulation: bool = True,
    clip_weight_min: Optional[float] = None,
    clip_weight_max: Optional[float] = None,
    weight_decay_factor: Optional[float] = None,
    multiply_weight_decay_factor_by_learning_rate: bool = None,
    slot_variable_creation_fn: Optional[SlotVarCreationFnType] = None,
    clipvalue: Optional[ClipValueType] = None
)

Передайте это в tf.tpu.experimental.embedding.TPUEmbedding через аргумент optimizer, чтобы установить глобальный оптимизатор и его параметры:

embedding = tf.tpu.experimental.embedding.TPUEmbedding(
    ...
    optimizer=tf.tpu.experimental.embedding.AdagradMomentum(0.1))

Это также можно использовать в tf.tpu.experimental.embedding.TableConfig в качестве параметра оптимизатора, чтобы установить оптимизатор, специфичный для таблицы. Это переопределит оптимизатор и параметры для глобального оптимизатора встраивания, определённого выше:

table_one = tf.tpu.experimental.embedding.TableConfig(
    vocabulary_size=...,
    dim=...,
    optimizer=tf.tpu.experimental.embedding.AdagradMomentum(0.2))
table_two = tf.tpu.experimental.embedding.TableConfig(
    vocabulary_size=...,
    dim=...)

feature_config = (
    tf.tpu.experimental.embedding.FeatureConfig(
        table=table_one),
    tf.tpu.experimental.embedding.FeatureConfig(
        table=table_two))

embedding = tf.tpu.experimental.embedding.TPUEmbedding(
    feature_config=feature_config,
    batch_size=...
    optimizer=tf.tpu.experimental.embedding.AdagradMomentum(0.1))

В приведённом выше примере первый признак будет ищется в таблице, имеющей скорость обучения 0,2, а второй признак — в таблице, имеющей скорость обучения 0,1.

См. «tensorflow/core/protobuf/tpu/optimization_parameters.proto» для полного описания этих параметров и их влияния на алгоритм оптимизации.

Аргументы
learning_rate Скорость обучения. Должно быть число с плавающей точкой или вызываемая функция без аргументов для динамической скорости обучения.
momentum Параметр скользящего среднего для аккумулятора импульса.
use_nesterov Использовать ли вариант Nesterov импульса. См. Sutskever et al., 2013.
exponent Экспонента для аккумулятора Adagrad.
beta2 Параметр скользящего среднего для аккумулятора Adagrad.
epsilon Изначальный накопитель для аккумулятора Adagrad.
use_gradient_accumulation Установка этого значения в False делает вычисление градиентов встраивания менее точным, но быстрее.
clip_weight_min Минимальное значение для обрезки; None означает -бесконечность.
clip_weight_max Максимальное значение для обрезки; None означает +бесконечность.
weight_decay_factor Величина применения распада весов; None означает, что веса не распадаются.
multiply_weight_decay_factor_by_learning_rate Если True, weight_decay_factor умножается на текущую скорость обучения.
slot_variable_creation_fn Если вы хотите напрямую управлять созданием переменных слотов, установите это в вызываемую функцию, принимающую три параметра: переменную таблицы, список имён слотов для её создания и список инициализаторов. Эта функция должна возвращать словарь с именами слотов в качестве ключей и созданными переменными в качестве значений с типами, соответствующими переменной таблицы. При установке в None (по умолчанию) используется встроенное создание переменных.
clipvalue Управление обрезкой градиента. Установите либо единственное положительное скалярное значение для обрезки, либо кортеж скалярных значений (min, max) для установки отдельного максимума или минимума. Если одно из двух значений None, то обрезки в этом направлении не будет.

© 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/AdagradMomentum

Spec-Zone.ru

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