tf.tpu.experimental.embedding.Adagrad
Параметры оптимизации для Adagrad с TPU-вложениями.
tf.tpu.experimental.embedding.Adagrad(
learning_rate: Union[float, Callable[[], float]] = 0.001,
initial_accumulator_value: float = 0.1,
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.Adagrad(0.1))
Это также можно использовать в tf.tpu.experimental.embedding.TableConfig в качестве параметра оптимизатора для установки оптимизатора, специфичного для таблицы. Это переопределит оптимизатор и параметры для глобального оптимизатора вложений, определённого выше:
table_one = tf.tpu.experimental.embedding.TableConfig(
vocabulary_size=...,
dim=...,
optimizer=tf.tpu.experimental.embedding.Adagrad(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.Adagrad(0.1))
В приведенном выше примере первое свойство будет извлекаться из таблицы с коэффициентом обучения 0,2, а второе — из таблицы с коэффициентом обучения 0,1.
См. 'tensorflow/core/protobuf/tpu/optimization_parameters.proto' для полного описания этих параметров и их влияния на алгоритм оптимизатора.
| Аргументы | |
|---|---|
learning_rate | Скорость обучения. Должно быть число с плавающей запятой или вызываемый без аргументов для динамической скорости обучения. |
initial_accumulator_value | начальный накопитель для 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, то обрезки в этом направлении не будет. |
© 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/Adagrad