Spec-Zone.ru › TensorFlow

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: Optional[bool] = None,
    slot_variable_creation_fn: Optional[SlotVarCreationFnType] = None,
    clipvalue: Optional[ClipValueType] = None,
    low_dimensional_packing_status: bool = False
)

Передайте это в 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 Если значение истинно, weight_decay_factor умножается на текущую скорость обучения.
slot_variable_creation_fn Чтобы напрямую управлять созданием переменных слотов, задайте вызываемый объект с тремя параметрами: переменной таблицы, списком имён создаваемых для неё слотов и списком инициализаторов. Эта функция должна возвращать словарь, где ключами служат имена слотов, а значениями — созданные переменные с типами, соответствующими переменной таблицы. Если задано значение None (по умолчанию), используется встроенный механизм создания переменных.
clipvalue Управляет ограничением градиента. Задайте одно положительное скалярное значение для включения ограничения либо кортеж скалярных значений (min, max), чтобы задать отдельные максимальное и минимальное значения. Если одна из двух записей равна None, ограничение в соответствующем направлении не применяется.
low_dimensional_packing_status Состояние оптимизации упаковки низкоразмерных встраиваний: определяет, оптимизировать ли упаковку в памяти таблиц встраиваний размерностью 1, 2 и 4.

Методы

__eq__

Просмотреть исходный код

__eq__(
    other: Any
) -> Union[Any, bool]

Возвращает результат сравнения self==value.

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

Spec-Zone.ru

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