class_docstr: A wrapper for the gradient handler to enable gradient accumulation by skipping the steps
  before accumulation size is reached.
  
  Args:
      grad_handler (:class:`colossalai.legacy.engine.BaseGradientHandler`):
          Your ``gradient_handler`` object for gradient accumulation, would be called when achieving `accumulate_size`.
      accumulate_size (int): The number of steps to accumulate gradients.
  
  More details about ``gradient_handlers`` could be found in
  `Gradient_handler <https://github.com/hpcaitech/ColossalAI/tree/main/colossalai/engine/gradient_handler>`_.
code: def __init__(
      self, grad_handler: BaseGradientHandler, accumulate_size: int
  ) -> None:
      assert isinstance(
          grad_handler, BaseGradientHandler
      ), f"expected grad_handler to be type BaseGradientHandler, but got {type(grad_handler)}"
      self.grad_handler = grad_handler
      self.accumulate_size = accumulate_size
      self.accumulate_step = 0
  
imports: from typing import Any, Iterable, Tuple, Union
  import torch.nn
  from torch import Tensor
  from torch.nn.parallel.distributed import DistributedDataParallel
  from torch.optim import Optimizer
  from torch.optim.lr_scheduler import _LRScheduler
  from torch.utils.data import DataLoader
  from colossalai.interface import OptimizerWrapper
  from colossalai.legacy.engine import BaseGradientHandler
  from colossalai.utils import conditional_context
label_desc: Use image node_id 1 to create a new GradAccumGradientHandler object  with example: obj = GradAccumGradientHandler(grad_handler, accumulate_size)