tf.contrib.opt.extend_with_decoupled_weight_decay
Функция-фабрика, возвращающая класс оптимизатора с раздельным разложением весов.
tf.contrib.opt.extend_with_decoupled_weight_decay(
base_optimizer
)
Возвращает класс оптимизатора. Экземпляр возвращаемого класса вычисляет шаг обновления base_optimizer и дополнительно разлагает веса. Например, класс, возвращаемый extend_with_decoupled_weight_decay(tf.compat.v1.train.AdamOptimizer) , эквивалентен tf.contrib.opt.AdamWOptimizer.
API нового класса оптимизатора немного отличается от API базового оптимизатора:
- Первый аргумент конструктора — скорость разложения весов.
-
minimizeиapply_gradientsпринимают необязательный ключевой аргументdecay_var_list, который указывает переменные, которые должны быть разложены. ЕслиNone, все оптимизируемые переменные разлагаются.
Пример использования:
# MyAdamW is a new class MyAdamW = extend_with_decoupled_weight_decay(tf.compat.v1.train.AdamOptimizer) # Create a MyAdamW object optimizer = MyAdamW(weight_decay=0.001, learning_rate=0.001) sess.run(optimizer.minimize(loss, decay_variables=[var1, var2])) Note that this extension decays weights BEFORE applying the update based on the gradient, i.e. this extension only has the desired behaviour for optimizers which do not depend on the value of'var' in the update step!
| Аргументы | |
|---|---|
base_optimizer | Класс оптимизатора, который наследуется от tf.train.Optimizer. |
| Возвращаемое значение | |
|---|---|
| Новый класс оптимизатора, который наследуется от DecoupledWeightDecayExtension и base_optimizer. |
© 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/r1.15/api_docs/python/tf/contrib/opt/extend_with_decoupled_weight_decay