ResourceSparseApplyMomentum

public final class ResourceSparseApplyMomentum

Update relevant entries in '*var' and '*accum' according to the momentum scheme.

Set use_nesterov = True if you want to use Nesterov momentum.

That is for rows we have grad for, we update var and accum as follows:

accum = accum * momentum + grad var -= lr * accum

Nested Classes

class ResourceSparseApplyMomentum.Options Optional attributes for ResourceSparseApplyMomentum  

Constants

String OP_NAME The name of this op, as known by TensorFlow core engine

Public Methods

static <T extends TType> ResourceSparseApplyMomentum
create(Scope scope, Operand<?> var, Operand<?> accum, Operand<T> lr, Operand<T> grad, Operand<? extends TNumber> indices, Operand<T> momentum, Options... options)
Factory method to create a class wrapping a new ResourceSparseApplyMomentum operation.
static ResourceSparseApplyMomentum.Options
useLocking(Boolean useLocking)
static ResourceSparseApplyMomentum.Options
useNesterov(Boolean useNesterov)

Inherited Methods

Constants

public static final String OP_NAME

The name of this op, as known by TensorFlow core engine

Constant Value: "ResourceSparseApplyMomentum"

Public Methods

public static ResourceSparseApplyMomentum create (Scope scope, Operand<?> var, Operand<?> accum, Operand<T> lr, Operand<T> grad, Operand<? extends TNumber> indices, Operand<T> momentum, Options... options)

Factory method to create a class wrapping a new ResourceSparseApplyMomentum operation.

Parameters
scope current scope
var Should be from a Variable().
accum Should be from a Variable().
lr Learning rate. Must be a scalar.
grad The gradient.
indices A vector of indices into the first dimension of var and accum.
momentum Momentum. Must be a scalar.
options carries optional attributes values
Returns
  • a new instance of ResourceSparseApplyMomentum

public static ResourceSparseApplyMomentum.Options useLocking (Boolean useLocking)

Parameters
useLocking 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.

public static ResourceSparseApplyMomentum.Options useNesterov (Boolean useNesterov)

Parameters
useNesterov 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.