[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2021-05-14 UTC."],[],[],null,["# tensorflow::ops::ScatterAdd Class Reference\n\ntensorflow::\nops::\nScatterAdd\n=============================\n\n`\n#include \u003cstate_ops.h\u003e\n`\n\n\nAdds sparse updates to a variable reference.\n\nSummary\n-------\n\n\nThis operation computes \n\n```transact-sql\n# Scalar indices\nref[indices, ...] += updates[...]\n\n# Vector indices (for each i)\nref[indices[i], ...] += updates[i, ...]\n\n# High rank indices (for each i, ..., j)\nref[indices[i, ..., j], ...] += updates[i, ..., j, ...]\n```\n\n\u003cbr /\u003e\n\n\nThis operation outputs\n`\nref\n`\nafter the update is done. This makes it easier to chain operations that need to use the reset value.\n\n\nDuplicate entries are handled correctly: if multiple\n`\nindices\n`\nreference the same location, their contributions add.\n\n\nRequires\n`\nupdates.shape = indices.shape + ref.shape[1:]\n`\nor\n`\nupdates.shape = []\n`\n.\n\n\n\u003cbr /\u003e\n\n\nArgs:\n\n- scope: A [Scope](/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- ref: Should be from a `\n `[Variable](/versions/r2.5/api_docs/cc/class/tensorflow/ops/variable#classtensorflow_1_1ops_1_1_variable)`\n ` node.\n- indices: A tensor of indices into the first dimension of `\n ref\n ` .\n- updates: A tensor of updated values to add to `\n ref\n ` .\n\n\u003cbr /\u003e\n\n\nOptional attributes (see\n`\n`[Attrs](/versions/r2.5/api_docs/cc/struct/tensorflow/ops/scatter-add/attrs#structtensorflow_1_1ops_1_1_scatter_add_1_1_attrs)`\n`\n):\n\n- use_locking: If True, the addition will be protected by a lock; otherwise the behavior is undefined, but may exhibit less contention.\n\n\u003cbr /\u003e\n\n\nReturns:\n\n- `\n `[Output](/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output)`\n ` : = Same as `\n ref\n ` . Returned as a convenience for operations that want to use the updated values after the update is done.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| ` `[ScatterAdd](#classtensorflow_1_1ops_1_1_scatter_add_1aebad5eb3382d85a98694a67516fb31be)` (const :: `[tensorflow::Scope](/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` ref, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` indices, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` updates) ` ||\n| ` `[ScatterAdd](#classtensorflow_1_1ops_1_1_scatter_add_1a784b3e2e01f007a9c99a4bed4d2a52a7)` (const :: `[tensorflow::Scope](/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` ref, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` indices, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` updates, const `[ScatterAdd::Attrs](/versions/r2.5/api_docs/cc/struct/tensorflow/ops/scatter-add/attrs#structtensorflow_1_1ops_1_1_scatter_add_1_1_attrs)` & attrs) ` ||\n\n| ### Public attributes ||\n|------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|\n| ` `[operation](#classtensorflow_1_1ops_1_1_scatter_add_1a3f10d947b38ba138d7b4b3841a6f86e9)` ` | ` `[Operation](/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation)` ` |\n| ` `[output_ref](#classtensorflow_1_1ops_1_1_scatter_add_1a10b0695ddf8f2320ea456a07d4d203b6)` ` | ` :: `[tensorflow::Output](/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output)` ` |\n\n| ### Public functions ||\n|---------------------------------------------------------------------------------------------------------------------------|--------------------------|\n| ` `[node](#classtensorflow_1_1ops_1_1_scatter_add_1a1dc28df0910552341f7da76eee369656)` () const ` | ` ::tensorflow::Node * ` |\n| ` `[operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_scatter_add_1a038d19ab294d54a525dd26c1f4c6a44c)` () const ` | ` ` |\n| ` `[operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_scatter_add_1af3d320c18d631efb10dafef8fc14483e)` () const ` | ` ` |\n\n| ### Public static functions ||\n|---------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|\n| ` `[UseLocking](#classtensorflow_1_1ops_1_1_scatter_add_1aaf4c7b793661818e64f807275f07c01e)` (bool x) ` | ` `[Attrs](/versions/r2.5/api_docs/cc/struct/tensorflow/ops/scatter-add/attrs#structtensorflow_1_1ops_1_1_scatter_add_1_1_attrs)` ` |\n\n| ### Structs ||\n|-------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow:: ops:: ScatterAdd:: Attrs](/versions/r2.5/api_docs/cc/struct/tensorflow/ops/scatter-add/attrs) | Optional attribute setters for [ScatterAdd](/versions/r2.5/api_docs/cc/class/tensorflow/ops/scatter-add#classtensorflow_1_1ops_1_1_scatter_add) . |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### output_ref\n\n```scdoc\n::tensorflow::Output output_ref\n``` \n\nPublic functions\n----------------\n\n### ScatterAdd\n\n```gdscript\n ScatterAdd(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input ref,\n ::tensorflow::Input indices,\n ::tensorflow::Input updates\n)\n``` \n\n### ScatterAdd\n\n```gdscript\n ScatterAdd(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input ref,\n ::tensorflow::Input indices,\n ::tensorflow::Input updates,\n const ScatterAdd::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```"]]