tf.tpu.experimental.embedding.SGD
Параметры оптимизации для стохастического градиентного спуска для TPU встраиваний.
tf.tpu.experimental.embedding.SGD(
learning_rate: Union[float, Callable[[], float]] = 0.01,
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 | Скорость обучения. Это должно быть число с плавающей точкой или вызываемая функция без аргументов для динамической скорости обучения. |
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-встраивания. |
© 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.4/api_docs/python/tf/tpu/experimental/embedding/SGD