tf.tpu.experimental.embedding.AdagradMomentum
Параметры оптимизации для Adagrad + Momentum с TPU вложениями.
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