code: def zip_infshapes(base, target):
      """make a dict of `InfShape` from models or dicts.
      Inputs:
          base: a base `nn.Module` or a dict of shapes
          target: a target `nn.Module` or a dict of shapes
      Output:
          dict of `InfShape` using `zip_infshape`
      """
      base_shapes = _extract_shapes(base)
      target_shapes = _extract_shapes(target)
      return _zip_infshape_dict(base_shapes, target_shapes)
  
file_path: NeMo/nemo/collections/nlp/modules/common/megatron/mup/shape.py
imports: from copy import deepcopy
  import yaml
  from torch import nn
  from torch.nn import Linear
  from torch.nn.modules.conv import _ConvNd
  from nemo.collections.nlp.modules.common.megatron.mup.infshape import InfShape, zip_infshape
  from nemo.collections.nlp.modules.common.megatron.mup.layer import MuReadout, rescale_linear_bias
label_desc: Use image node_id 8 for calling a global function with example usage: zip_infshapes(base, target) and returns: _zip_infshape_dict