class_docstr: BatchNorm2d where the batch statistics and the affine parameters are fixed.
  It contains non-trainable buffers called
  "weight" and "bias", "running_mean", "running_var",
  initialized to perform identity transformation.
  The pre-trained backbone models from Caffe2 only contain "weight" and "bias",
  which are computed from the original four parameters of BN.
  The affine transform `x * weight + bias` will perform the equivalent
  computation of `(x - running_mean) / sqrt(running_var) * weight + bias`.
  When loading a backbone model from Caffe2, "running_mean" and "running_var"
  will be left unchanged as identity transformation.
  Other pre-trained backbone models may contain all 4 parameters.
  The forward is implemented by `F.batch_norm(..., training=False)`.
class_docstr_tok: ["BatchNorm2d","where","the","batch","statistics","and","the","affine","parameters","are","fixed",".","It","contains","non-trainable","buffers","called","''","weight","''","and","``","bias","''",",","``","running_mean","''",",","``","running_var","''",",","initialized","to","perform","identity","transformation",".","The","pre-trained","backbone","models","from","Caffe2","only","contain","``","weight","''","and","``","bias","''",",","which","are","computed","from","the","original","four","parameters","of","BN",".","The","affine","transform","`","x","*","weight","+","bias","`","will","perform","the","equivalent","computation","of","`","(","x","-","running_mean",")","\/","sqrt","(","running_var",")","*","weight","+","bias","`",".","When","loading","a","backbone","model","from","Caffe2",",","``","running_mean","''","and","``","running_var","''","will","be","left","unchanged","as","identity","transformation",".","Other","pre-trained","backbone","models","may","contain","all","4","parameters",".","The","forward","is","implemented","by","`","F.batch_norm","(","...",",","training=False",")","`","."]
code: def _load_from_state_dict(
      self,
      state_dict,
      prefix,
      local_metadata,
      strict,
      missing_keys,
      unexpected_keys,
      error_msgs,
  ):
      version = local_metadata.get("version", None)
  
      if version is None or version < 2:
          # No running_mean/var in early versions
          # This will silent the warnings
          if prefix + "running_mean" not in state_dict:
              state_dict[prefix + "running_mean"] = torch.zeros_like(
                  self.running_mean
              )
          if prefix + "running_var" not in state_dict:
              state_dict[prefix + "running_var"] = torch.ones_like(
                  self.running_var
              )
  
      if version is not None and version < 3:
          logger = logging.getLogger(__name__)
          logger.info(
              "FrozenBatchNorm {} is upgraded to version 3.".format(
                  prefix.rstrip(".")
              )
          )
          # In version < 3, running_var are used without +eps.
          state_dict[prefix + "running_var"] -= self.eps
  
      super()._load_from_state_dict(
          state_dict,
          prefix,
          local_metadata,
          strict,
          missing_keys,
          unexpected_keys,
          error_msgs,
      )
  
imports: import logging
  import torch
  import torch.distributed
  from torch import nn
  from torch.autograd.function import Function
  from torch.nn import functional
  from torch.nn import BatchNorm2d
  from ..utils.comm import get_world_size
label_desc: Use image node_id 3 for calling the FrozenBatchNorm2d obj's underlying member method code with example usage: obj._load_from_state_dict(state_dict, prefix, local_metadata, strict, missing_keys, unexpected_keys, error_msgs) without return types