code: def __init__(self, actual_optimizer, communicator, zero_fill):
      super(_DoubleBufferingOptimizer, self).__setattr__(
          "communicator", communicator
      )
      super(_DoubleBufferingOptimizer, self).__setattr__(
          "actual_optimizer", actual_optimizer
      )
      super(_DoubleBufferingOptimizer, self).__setattr__(
          "needs_update", False
      )
      super(_DoubleBufferingOptimizer, self).__setattr__(
          "communicated_target", None
      )
      super(_DoubleBufferingOptimizer, self).__setattr__(
          "target_params_list", [[], []]
      )
      super(_DoubleBufferingOptimizer, self).__setattr__(
          "allreduce_grad_stream",
          chainer.cuda.Stream(non_blocking=True),
      )
      super(_DoubleBufferingOptimizer, self).__setattr__(
          "zero_fill", zero_fill
      )
  
imports: import chainer
  import copy
label_desc: Use image node_id 1 to create a new _DoubleBufferingOptimizer object from inherited base classes: object with example: obj = _DoubleBufferingOptimizer(actual_optimizer, communicator, zero_fill)