code: def backward(ctx, grad_output):
      x, scale, minibatch_mean, minibatch_inv_var = ctx.saved_variables
      eps = ctx.eps
      bn_group = ctx.bn_group
      rank_id = ctx.rank_id
      peer_buffers = ctx.peer_buffers
      dx, dscale, dbias = cudnn_gbn_lib.backward(
          x,
          grad_output,
          scale,
          minibatch_mean,
          minibatch_inv_var,
          eps,
          bn_group,
          rank_id,
          peer_buffers,
      )
      return (
          dx,
          dscale,
          dbias,
          None,
          None,
          None,
          None,
          None,
          None,
          None,
          None,
          None,
          None,
      )
  
file_path: apex/apex/contrib/cudnn_gbn/batch_norm.py
imports: import torch
  from torch.nn.modules.batchnorm import _BatchNorm
  from torch.nn import functional
  from torch import Tensor
  import peer_memory_cuda
  import cudnn_gbn_lib
  from torch.cuda.amp import custom_fwd, custom_bwd
label_desc: Use image node_id 2 for calling the _GroupBatchNorm2d obj's underlying member method code with example usage: obj.backward(ctx, grad_output) and returns: dx,  dscale,  dbias,  None,  None,  None,  None,  None,  None,  None,  None,  None,  None