tensorflow::ops::ScatterAdd

#include <state_ops.h>

Adds sparse updates to a variable reference.

Summary

This operation computes

# Scalar indices
ref[indices, ...] += updates[...]

# Vector indices (for each i)
ref[indices[i], ...] += updates[i, ...]

# High rank indices (for each i, ..., j)
ref[indices[i, ..., j], ...] += updates[i, ..., j, ...]

This operation outputs ref after the update is done. This makes it easier to chain operations that need to use the reset value.

Duplicate entries are handled correctly: if multiple indices reference the same location, their contributions add.

Requires updates.shape = indices.shape + ref.shape[1:] or updates.shape = [].

Args:

  • scope: A Scope object
  • ref: Should be from a Variable node.
  • indices: A tensor of indices into the first dimension of ref.
  • updates: A tensor of updated values to add to ref.

Optional attributes (see Attrs):

  • use_locking: If True, the addition will be protected by a lock; otherwise the behavior is undefined, but may exhibit less contention.

Returns:

  • Output: = Same as ref. Returned as a convenience for operations that want to use the updated values after the update is done.

Constructors and Destructors

ScatterAdd(const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates)
ScatterAdd(const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates, const ScatterAdd::Attrs & attrs)

Public attributes

operation
output_ref

Public functions

node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

Public static functions

UseLocking(bool x)

Structs

tensorflow::ops::ScatterAdd::Attrs

Optional attribute setters for ScatterAdd.

Public attributes

operation

Operation operation

output_ref

::tensorflow::Output output_ref

Public functions

ScatterAdd

 ScatterAdd(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input ref,
  ::tensorflow::Input indices,
  ::tensorflow::Input updates
)

ScatterAdd

 ScatterAdd(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input ref,
  ::tensorflow::Input indices,
  ::tensorflow::Input updates,
  const ScatterAdd::Attrs & attrs
)

node

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const 

Public static functions

UseLocking

Attrs UseLocking(
  bool x
)