class_docstr: Implement domain-specific BatchNorm by cycling.
  
  When a BatchNorm layer is used for multiple input domains or input
  features, it might need to maintain a separate test-time statistics
  for each domain. See Sec 5.2 in :paper:`rethinking-batchnorm`.
  
  This module implements it by using N separate BN layers
  and it cycles through them every time a forward() is called.
  
  NOTE: The caller of this module MUST guarantee to always call
  this module by multiple of N times. Otherwise its test-time statistics
  will be incorrect.
code: def extra_repr(self):
      return f"affine={self._affine}"
  
imports: import torch
  import torch.distributed
  from fvcore.nn.distributed import differentiable_all_reduce
  from torch import nn
  from torch.nn import functional
  from detectron2.utils import comm, env
  from .wrappers import BatchNorm2d
label_desc: Use image node_id 3 for calling the CycleBatchNormList obj's underlying member method code with example usage: obj.extra_repr() and returns: str, self