tensorflow::ops::ResourceApplyAdam
#include <training_ops.h>
Обновить '*var' в соответствии с алгоритмом Adam.
Краткое описание
$$\text{lr}_t := \mathrm{lr} \cdot \frac{\sqrt{1 - \beta_2^t} }{1 - \beta_1^t}$$ $$m_t := \beta_1 \cdot m_{t-1} + (1 - \beta_1) \cdot g$$ $$v_t := \beta_2 \cdot v_{t-1} + (1 - \beta_2) \cdot g^2$$ $$\text{var} := \begin{cases} \text{var} - (m_t \beta_1 + g \cdot (1 - \beta_1))\cdot\text{lr}_t/(\sqrt{v_t} + \epsilon), &\text{if use_nesterov}\\ \text{var} - m_t \cdot \text{lr}_t /(\sqrt{v_t} + \epsilon), &\text{otherwise} \end{cases}$$
Аргументы:
- scope: Объект Scope
- var: Должен быть получен из Variable().
- m: Должен быть получен из Variable().
- v: Должен быть получен из Variable().
- beta1_power: Должен быть скаляром.
- beta2_power: Должен быть скаляром.
- lr: Коэффициент масштабирования. Должен быть скаляром.
- beta1: Коэффициент инерции. Должен быть скаляром.
- beta2: Коэффициент инерции. Должен быть скаляром.
- epsilon: Поправочный член. Должен быть скаляром.
- grad: Градиент.
Необязательные атрибуты (см. Attrs):
- use_locking: Если
True, обновление тензоров var, m и v будет защищено блокировкой; в противном случае поведение не определено, но может быть менее конфликтным. - use_nesterov: Если
True, используется обновление Нестерова.
Возвращаемое значение:
- созданный
Operation
| Конструкторы и деструкторы | |
|---|---|
ResourceApplyAdam(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) | |
ResourceApplyAdam(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 ResourceApplyAdam::Attrs & attrs) |
| Общедоступные атрибуты | |
|---|---|
operation | |
| Общедоступные функции | |
|---|---|
operator::tensorflow::Operation() const | |
| Общедоступные статические функции | |
|---|---|
UseLocking(bool x) | |
UseNesterov(bool x) | |
| Структуры | |
|---|---|
| tensorflow::ops::ResourceApplyAdam::Attrs | Необязательные настройки атрибутов для ResourceApplyAdam. |
Общедоступные атрибуты
operation
Operation operation
Общедоступные функции
ResourceApplyAdam
ResourceApplyAdam( 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 )
ResourceApplyAdam
ResourceApplyAdam( 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 ResourceApplyAdam::Attrs & attrs )
оператор::tensorflow::Operation
operator::tensorflow::Operation() const
Общедоступные статические функции
UseLocking
Attrs UseLocking( bool x )
UseNesterov
Attrs UseNesterov( bool x )
© 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/cc/class/tensorflow/ops/resource-apply-adam