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 Использовать ли вариант импульса Нестерова. См. 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 Управляет обрезкой градиента. Установите либо одно положительное скалярное значение для обрезки, либо кортеж скалярных значений (мин, макс) для задания отдельного максимального или минимального значения. Если одно из двух значений равно None, то обрезка в этом направлении не будет выполнена.
low_dimensional_packing_status Состояние оптимизации упаковки вложений малой размерности управляет тем, оптимизировать ли упаковку одномерных, двумерных и четырёхмерных таблиц вложений в памяти.

Методы

__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