class_docstr: This class is to speedup the model with provided weight mask
docstr: Do shape inference of involved modules, including the shape of weights, inputs, output
code: def infer_modules_masks(self):
      """
      Do shape inference of involved modules, including the shape of weights, inputs, output
      """
      for module_name, mask in self.masks.items():
          _logger.debug("Start mask inference from %s", module_name)
          if module_name not in self.torch_graph.name_to_node:
              # this module is not traced in the torch_graph,
              # jit.trace only correctly records functions and
              # modules which are not data dependent (e.g., do
              # not have conditionals on data in tensors)
              # so, if a node is not traced, we just skip it.
              _logger.warning(
                  "%s has mask, but not found in the traced graph, just skip it.",
                  module_name,
              )
              continue
          self.infer_module_mask(module_name, None, mask=mask)
  
file_path: auptimizer/src/aup/compression/torch/speedup/compressor.py
imports: import logging
  import torch
  from ..utils.mask_conflict import fix_mask_conflict
  from ..utils.utils import get_module_by_name
  from .compress_modules import replace_module
  from .infer_shape import ModuleMasks, infer_from_mask, infer_from_inshape, infer_from_outshape, set_conv_prune_dim
label_desc: Use image node_id 3 for calling the ModelSpeedup obj's underlying member method code with example usage: obj.infer_modules_masks() without return types