class_docstr: Base optimizer class.
  
  Constructor of subclasses must take `learning_rate` as an argument.
docstr: Update variable and accumulators.
  
  Args:
    grad: a Tensor
    var: a Variablle
  Returns:
    a list of Operations
docstr_tok: ["Update","variable","and","accumulators",".","Args",":","grad",":","a","Tensor","var",":","a","Variablle","Returns",":","a","list","of","Operations"]
code: def apply_grad(self, grad, var):
      """Update variable and accumulators.
  
      Args:
        grad: a Tensor
        var: a Variablle
      Returns:
        a list of Operations
      """
      raise ValueError("apply_grad not implemented %s %s" % (grad, var))
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import functools
  import re
  import gin
  from mesh_tensorflow import layers
  from mesh_tensorflow import ops_with_redefined_builtins
  import tensorflow.compat.v1
label_desc: Use image node_id 2 for calling the Optimizer obj's underlying member method code with example usage: obj.apply_grad(grad, var) without return types