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