class_docstr: Prune to an exact pruning level specification
  
  Attributes
  ----------
  mask_dict : dict
      Dictionary for saving masks, `key` should be layer name and
      `value` should be a tensor which has the same shape with layer's weight
code: def update_mask(self):
      for wrapper_idx, wrapper in enumerate(self.get_modules_wrapper()):
          masks = self.calc_mask(wrapper, wrapper_idx=wrapper_idx)
          if masks is not None:
              for k in masks:
                  assert hasattr(wrapper, k), (
                      "there is no attribute '%s' in wrapper" % k
                  )
                  setattr(wrapper, k, masks[k])
  
imports: import types
  import logging
  import torch
  from .None import default_layers
label_desc: Use image node_id 3 for calling the Pruner obj's underlying member method code with example usage: obj.update_mask() without return types