class_docstr: _StructuredFilterPruner has two ways to calculate the masks
  for conv layers. In the normal way, the _StructuredFilterPruner
  will calculate the mask of each layer separately. For example, each
  conv layer determine which filters should be pruned according to its L1
  norm. In constrast, in the dependency-aware way, the layers that in a
  dependency group will be pruned jointly and these layers will be forced
  to prune the same channels.
class_docstr_tok: ["_StructuredFilterPruner","has","two","ways","to","calculate","the","masks","for","conv","layers",".","In","the","normal","way",",","the","_StructuredFilterPruner","will","calculate","the","mask","of","each","layer","separately",".","For","example",",","each","conv","layer","determine","which","filters","should","be","pruned","according","to","its","L1","norm",".","In","constrast",",","in","the","dependency-aware","way",",","the","layers","that","in","a","dependency","group","will","be","pruned","jointly","and","these","layers","will","be","forced","to","prune","the","same","channels","."]
docstr: calculate the masks for the conv layers in the same
  channel dependecy set. All the layers passed in have
  the same number of channels.
  
  Parameters
  ----------
  wrappers: list
      The list of the wrappers that in the same channel dependency
      set.
  wrappers_idx: list
      The list of the indexes of wrapppers.
  Returns
  -------
  masks: dict
      A dict object that contains the masks of the layers in this
      dependency group, the key is the name of the convolutional layers.
code: def _dependency_calc_mask(
      self, wrappers, channel_dsets, wrappers_idx=None
  ):
      """
      calculate the masks for the conv layers in the same
      channel dependecy set. All the layers passed in have
      the same number of channels.
  
      Parameters
      ----------
      wrappers: list
          The list of the wrappers that in the same channel dependency
          set.
      wrappers_idx: list
          The list of the indexes of wrapppers.
      Returns
      -------
      masks: dict
          A dict object that contains the masks of the layers in this
          dependency group, the key is the name of the convolutional layers.
      """
      # The number of the groups for each conv layers
      # Note that, this number may be different from its
      # original number of groups of filters.
      groups = [self.group_depen[_w.name] for _w in wrappers]
      sparsities = [_w.config["sparsity"] for _w in wrappers]
      masks = self.masker.calc_mask(
          sparsities,
          wrappers,
          wrappers_idx,
          channel_dsets=channel_dsets,
          groups=groups,
      )
      if masks is not None:
          # if masks is None, then the mask calculation fails.
          # for example, in activation related maskers, we should
          # pass enough batches of data to the model, so that the
          # masks can be calculated successfully.
          for _w in wrappers:
              _w.if_calculated = True
      return masks
  
imports: import logging
  from schema import And, Optional, SchemaError
  from .._graph_utils import TorchModuleGraph
  from ..utils.shape_dependency import ChannelDependency, GroupDependency
  from .constants import MASKER_DICT
  from ..utils.config_validation import CompressorSchema
  from ..compressor import Pruner
label_desc: Use image node_id 4 for calling the _StructuredFilterPruner obj's underlying member method code with example usage: obj._dependency_calc_mask(wrappers, channel_dsets, wrappers_idx) and returns: masks