ResourceApplyKerasMomentum

public final class ResourceApplyKerasMomentum

Update '*var' according to the momentum scheme.

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

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

Nested Classes

class ResourceApplyKerasMomentum.Options Optional attributes for ResourceApplyKerasMomentum  

Public Methods

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

Inherited Methods

Public Methods

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

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

Parameters
scope current scope
var Should be from a Variable().
accum Should be from a Variable().
lr Scaling factor. Must be a scalar.
grad The gradient.
momentum Momentum. Must be a scalar.
options carries optional attributes values
Returns
  • a new instance of ResourceApplyKerasMomentum

public static ResourceApplyKerasMomentum.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 ResourceApplyKerasMomentum.Options useNesterov (Boolean useNesterov)

Parameters
useNesterov If `True`, the tensor passed to compute grad will be var + momentum * accum, so in the end, the var you get is actually var + momentum * accum.