Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
тензорный поток:: опс:: РазреженныйApplyMomentum
#include <training_ops.h>
Обновите соответствующие записи в «*var» и «*accum» в соответствии со схемой импульса.
Краткое содержание
Установите use_nesterov = True, если вы хотите использовать импульс Нестерова.
То есть для строк, для которых у нас есть grad, мы обновляем var и accum следующим образом:
$$accum = accum * momentum + grad$$ $$var -= lr * accum$$
Аргументы:
- область: объект области.
- var: Должно быть из переменной().
- accum: Должно быть из переменной().
- lr: Скорость обучения. Должно быть скаляр.
- град: Градиент.
- индексы: вектор индексов в первом измерении var и accum.
- импульс: импульс. Должно быть скаляр.
Необязательные атрибуты (см. Attrs
):
- use_locking: если
True
, обновление тензоров var и accum будет защищено блокировкой; в противном случае поведение не определено, но может вызывать меньше конфликтов. - use_nesterov: Если
True
, тензор, передаваемый для вычисления градиента, будет иметь вид var - lr * импульс * аккум, поэтому в конечном итоге вы получите var - lr * импульс * аккум.
Возврат:
Конструкторы и деструкторы |
---|
SparseApplyMomentum (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input lr, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input momentum)
|
SparseApplyMomentum (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input lr, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input momentum, const SparseApplyMomentum::Attrs & attrs) |
Публичные атрибуты
Общественные функции
узел
::tensorflow::Node * node() const
operator::tensorflow::Input() const
оператор::tensorflow::Выход
operator::tensorflow::Output() const
Публичные статические функции
Использование блокировки
Attrs UseLocking(
bool x
)
УсеНестеров
Attrs UseNesterov(
bool x
)
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-25 UTC.
[null,null,["Последнее обновление: 2025-07-25 UTC."],[],[],null,["# tensorflow::ops::SparseApplyMomentum Class Reference\n\ntensorflow::ops::SparseApplyMomentum\n====================================\n\n`#include \u003ctraining_ops.h\u003e`\n\nUpdate relevant entries in '\\*var' and '\\*accum' according to the momentum scheme.\n\nSummary\n-------\n\nSet use_nesterov = True if you want to use Nesterov momentum.\n\nThat is for rows we have grad for, we update var and accum as follows:\n\n$$accum = accum \\* momentum + grad$$ $$var -= lr \\* accum$$\n\nArguments:\n\n- scope: A [Scope](/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- var: Should be from a Variable().\n- accum: Should be from a Variable().\n- lr: Learning rate. Must be a scalar.\n- grad: The gradient.\n- indices: A vector of indices into the first dimension of var and accum.\n- momentum: Momentum. Must be a scalar.\n\n\u003cbr /\u003e\n\nOptional attributes (see [Attrs](/versions/r1.15/api_docs/cc/struct/tensorflow/ops/sparse-apply-momentum/attrs#structtensorflow_1_1ops_1_1_sparse_apply_momentum_1_1_attrs)):\n\n- use_locking: If `True`, updating of the var and accum tensors will be protected by a lock; otherwise the behavior is undefined, but may exhibit less contention.\n- use_nesterov: If `True`, the tensor passed to compute grad will be var - lr \\* momentum \\* accum, so in the end, the var you get is actually var - lr \\* momentum \\* accum.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): Same as \"var\".\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [SparseApplyMomentum](#classtensorflow_1_1ops_1_1_sparse_apply_momentum_1aad6f0afa69fbbc1896aceb60f9651bc8)`(const ::`[tensorflow::Scope](/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` var, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` accum, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` lr, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` grad, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` indices, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` momentum)` ||\n| [SparseApplyMomentum](#classtensorflow_1_1ops_1_1_sparse_apply_momentum_1a769bc8a904000fccba7f122e985687c9)`(const ::`[tensorflow::Scope](/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` var, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` accum, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` lr, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` grad, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` indices, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` momentum, const `[SparseApplyMomentum::Attrs](/versions/r1.15/api_docs/cc/struct/tensorflow/ops/sparse-apply-momentum/attrs#structtensorflow_1_1ops_1_1_sparse_apply_momentum_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_sparse_apply_momentum_1a30b8c7c6bf9f92ee2be7ac7297df6fa2) | [Operation](/versions/r1.15/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [out](#classtensorflow_1_1ops_1_1_sparse_apply_momentum_1a64f0643f05faf59221caf6fce9bbe4b5) | `::`[tensorflow::Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\n| ### Public functions ||\n|---------------------------------------------------------------------------------------------------------------------------------|------------------------|\n| [node](#classtensorflow_1_1ops_1_1_sparse_apply_momentum_1a79f23cdeb4f72f3271572314b76661a4)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_sparse_apply_momentum_1a1be0ad2b688da68c70f65c7ae802a258)`() const ` | ` ` ` ` |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_sparse_apply_momentum_1a8eb81a827b3a21e7a6feaef16e6df395)`() const ` | ` ` ` ` |\n\n| ### Public static functions ||\n|---------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|\n| [UseLocking](#classtensorflow_1_1ops_1_1_sparse_apply_momentum_1a91893d64df26bd060d9da800107c6e3c)`(bool x)` | [Attrs](/versions/r1.15/api_docs/cc/struct/tensorflow/ops/sparse-apply-momentum/attrs#structtensorflow_1_1ops_1_1_sparse_apply_momentum_1_1_attrs) |\n| [UseNesterov](#classtensorflow_1_1ops_1_1_sparse_apply_momentum_1a90b8463d951fbf572ba63b9ec8ca3946)`(bool x)` | [Attrs](/versions/r1.15/api_docs/cc/struct/tensorflow/ops/sparse-apply-momentum/attrs#structtensorflow_1_1ops_1_1_sparse_apply_momentum_1_1_attrs) |\n\n| ### Structs ||\n|------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::SparseApplyMomentum::Attrs](/versions/r1.15/api_docs/cc/struct/tensorflow/ops/sparse-apply-momentum/attrs) | Optional attribute setters for [SparseApplyMomentum](/versions/r1.15/api_docs/cc/class/tensorflow/ops/sparse-apply-momentum#classtensorflow_1_1ops_1_1_sparse_apply_momentum). |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### out\n\n```text\n::tensorflow::Output out\n``` \n\nPublic functions\n----------------\n\n### SparseApplyMomentum\n\n```gdscript\n SparseApplyMomentum(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input var,\n ::tensorflow::Input accum,\n ::tensorflow::Input lr,\n ::tensorflow::Input grad,\n ::tensorflow::Input indices,\n ::tensorflow::Input momentum\n)\n``` \n\n### SparseApplyMomentum\n\n```gdscript\n SparseApplyMomentum(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input var,\n ::tensorflow::Input accum,\n ::tensorflow::Input lr,\n ::tensorflow::Input grad,\n ::tensorflow::Input indices,\n ::tensorflow::Input momentum,\n const SparseApplyMomentum::Attrs & attrs\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n``` \n\nPublic static functions\n-----------------------\n\n### UseLocking\n\n```text\nAttrs UseLocking(\n bool x\n)\n``` \n\n### UseNesterov\n\n```text\nAttrs UseNesterov(\n bool x\n)\n```"]]