code: def forward(self, input, params=None):
      self._check_input_dim(input)
      if params is None:
          params = OrderedDict(self.named_parameters())
  
      # exponential_average_factor is self.momentum set to
      # (when it is available) only so that if gets updated
      # in ONNX graph when this node is exported to ONNX.
      if self.momentum is None:
          exponential_average_factor = 0.0
      else:
          exponential_average_factor = self.momentum
  
      if self.training and self.track_running_stats:
          if self.num_batches_tracked is not None:
              self.num_batches_tracked += 1
              if self.momentum is None:  # use cumulative moving average
                  exponential_average_factor = 1.0 / float(
                      self.num_batches_tracked
                  )
              else:  # use exponential moving average
                  exponential_average_factor = self.momentum
  
      weight = params.get("weight", None)
      bias = params.get("bias", None)
  
      return F.batch_norm(
          input,
          self.running_mean,
          self.running_var,
          weight,
          bias,
          self.training or not self.track_running_stats,
          exponential_average_factor,
          self.eps,
      )
  
file_path: pytorch-meta/torchmeta/modules/batchnorm.py
imports: import torch.nn
  import torch.nn.functional
  from collections import OrderedDict
  from torch.nn.modules.batchnorm import _BatchNorm
  from torchmeta.modules.module import MetaModule
label_desc: Use image node_id 1 for calling the _MetaBatchNorm obj's underlying member method code with example usage: obj.forward(input, params) and returns: F