tf.tpu.experimental.embedding.Adagrad
Параметры оптимизации для Adagrad с TPU встраиванием.
tf.tpu.experimental.embedding.Adagrad(
learning_rate=0.001, initial_accumulator_value=0.1,
use_gradient_accumulation=True, clip_weight_min=None, clip_weight_max=None,
weight_decay_factor=None, multiply_weight_decay_factor_by_learning_rate=None,
slot_variable_creation_fn=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. Если вы хотите напрямую контролировать создание переменных слотов, установите это в вызываемую функцию с двумя параметрами: переменной и списком имён слотов, которые нужно создать для неё. Эта функция должна возвращать словарь с именами слотов в качестве ключей и созданными переменными в качестве значений. При установке в None (по умолчанию) используется встроенное создание переменных. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/tpu/experimental/embedding/Adagrad