class_docstr: The Nesterov Adam optimizer.
  
  Much like Adam is essentially RMSprop with momentum,
  Nadam is Adam RMSprop with Nesterov momentum available
  at http://cs229.stanford.edu/proj2015/054_report.pdf.
  
  This optimizer accepts the following parameters in addition to those accepted
  by :class:`.Optimizer`.
  
  Parameters
  ----------
  learning_rate : float, default 0.001
      The initial learning rate. If None, the optimization will use the
      learning rate from ``lr_scheduler``. If not None, it will overwrite
      the learning rate in ``lr_scheduler``. If None and ``lr_scheduler``
      is also None, then it will be set to 0.01 by default.
  beta1 : float, default 0.9
      Exponential decay rate for the first moment estimates.
  beta2 : float, default 0.999
      Exponential decay rate for the second moment estimates.
  epsilon : float, default 1e-8
      Small value to avoid division by 0.
  schedule_decay : float, default 0.004
      Exponential decay rate for the momentum schedule
  use_fused_step : bool, default False
      Whether or not to use fused kernels for optimizer.
      When use_fused_step=False, step is called,
      otherwise, fused_step is called.
code: def __init__(
      self,
      learning_rate=0.001,
      beta1=0.9,
      beta2=0.999,
      epsilon=1e-8,
      schedule_decay=0.004,
      use_fused_step=False,
      **kwargs,
  ):
      super(Nadam, self).__init__(
          learning_rate=learning_rate,
          use_fused_step=use_fused_step,
          **kwargs,
      )
      self.beta1 = beta1
      self.beta2 = beta2
      self.epsilon = epsilon
      self.schedule_decay = schedule_decay
      self.m_schedule = 1.0
  
imports: from __future__ import absolute_import
  from ..ndarray import zeros, clip, sqrt, square
  from .optimizer import Optimizer, register
label_desc: Use image node_id 1 to create a new Nadam object from inherited base classes: Optimizer with example: obj = Nadam(learning_rate, beta1, beta2, epsilon, schedule_decay, use_fused_step)