tensorflow::ops::ApplyAdam
#include <training_ops.h>
Обновление '*var' в соответствии с алгоритмом Adam.
Summary
$$lr_t := {learning_rate} * {1 - beta_2^t} / (1 - beta_1^t)$$
$$m_t := beta_1 * m_{t-1} + (1 - beta_1) * g$$
$$v_t := beta_2 * v_{t-1} + (1 - beta_2) * g * g$$
$$variable := variable - lr_t * m_t / ({v_t} + )$$
Аргументы:
- scope: Объект Scope
- var: Должен быть из Variable().
- m: Должен быть из Variable().
- v: Должен быть из Variable().
- beta1_power: Должен быть скаляром.
- beta2_power: Должен быть скаляром.
- lr: Коэффициент масштабирования. Должен быть скаляром.
- beta1: Коэффициент импульса. Должен быть скаляром.
- beta2: Коэффициент импульса. Должен быть скаляром.
- epsilon: Слагаемое ridge. Должен быть скаляром.
- grad: Градиент.
Необязательные атрибуты (см. Attrs):
- use_locking: Если
True, обновление тензоров var, m и v будет защищено блокировкой; в противном случае поведение не определено, но может наблюдаться меньшая конкуренция. - use_nesterov: Если
True, используется обновление Nesterov.
Возвращает:
-
Output: То же самое, что и "var".
| Конструкторы и деструкторы | |
|---|---|
ApplyAdam(const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input m, ::tensorflow::Input v, ::tensorflow::Input beta1_power, ::tensorflow::Input beta2_power, ::tensorflow::Input lr, ::tensorflow::Input beta1, ::tensorflow::Input beta2, ::tensorflow::Input epsilon, ::tensorflow::Input grad) | |
ApplyAdam(const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input m, ::tensorflow::Input v, ::tensorflow::Input beta1_power, ::tensorflow::Input beta2_power, ::tensorflow::Input lr, ::tensorflow::Input beta1, ::tensorflow::Input beta2, ::tensorflow::Input epsilon, ::tensorflow::Input grad, const ApplyAdam::Attrs & attrs) |
| Публичные атрибуты | |
|---|---|
operation | |
out | |
| Публичные функции | |
|---|---|
node() const | ::tensorflow::Node * |
operator::tensorflow::Input() const | |
operator::tensorflow::Output() const | |
| Публичные статические функции | |
|---|---|
UseLocking(bool x) | |
UseNesterov(bool x) | |
| Структуры | |
|---|---|
| tensorflow::ops::ApplyAdam::Attrs | Необязательные настройки атрибутов для ApplyAdam. |
Публичные атрибуты
operation
Operation operation
out
::tensorflow::Output out
Публичные функции
ApplyAdam
ApplyAdam( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input m, ::tensorflow::Input v, ::tensorflow::Input beta1_power, ::tensorflow::Input beta2_power, ::tensorflow::Input lr, ::tensorflow::Input beta1, ::tensorflow::Input beta2, ::tensorflow::Input epsilon, ::tensorflow::Input grad )
ApplyAdam
ApplyAdam( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input m, ::tensorflow::Input v, ::tensorflow::Input beta1_power, ::tensorflow::Input beta2_power, ::tensorflow::Input lr, ::tensorflow::Input beta1, ::tensorflow::Input beta2, ::tensorflow::Input epsilon, ::tensorflow::Input grad, const ApplyAdam::Attrs & attrs )
node
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Публичные статические функции
UseLocking
Attrs UseLocking( bool x )
UseNesterov
Attrs UseNesterov( bool x )
© 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/cc/class/tensorflow/ops/apply-adam