class_docstr: The DCASGD optimizer.
  
  This class implements the optimizer described in *Asynchronous Stochastic Gradient Descent
  with Delay Compensation for Distributed Deep Learning*,
  available at https://arxiv.org/abs/1609.08326.
  
  This optimizer accepts the following parameters in addition to those accepted
  by :class:`.Optimizer`.
  
  Parameters
  ----------
  learning_rate : float, default 0.1
      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.
  momentum : float, optional
     The momentum value.
  lamda : float, optional
     Scale DC value.
  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 create_state(self, index, weight):
      if self.momentum == 0.0:
          return None, weight.copy()  # previous weight
      else:
          return (
              zeros(
                  weight.shape, weight.context, dtype=weight.dtype
              ),  # momentum
              weight.copy(),
          )
  
imports: from __future__ import absolute_import
  from ..ndarray import zeros, clip, square
  from .optimizer import Optimizer, register
label_desc: Use image node_id 2 for calling the DCASGD obj's underlying member method code with example usage: obj.create_state(index, weight) and returns: None,  weight, zeros,  weight