class_docstr: This model analyze the channel dependencies between the conv
  layers in a model.
  
  Parameters
  ----------
  model : torch.nn.Module
      The model to be analyzed.
  data : torch.Tensor
      The example input data to trace the network architecture.
  traced_model : torch._C.Graph
      if we alreay has the traced graph of the target model, we donnot
      need to trace the model again.
  prune_type: str
      This parameter indicates the channel pruning type: 1) `Filter`
      prune the filter of the convolution layer to prune the corresponding
      channels 2) `Batchnorm`: prune the channel in the batchnorm layer
class_docstr_tok: ["This","model","analyze","the","channel","dependencies","between","the","conv","layers","in","a","model",".","Parameters","--","--","--","--","--","model",":","torch.nn.Module","The","model","to","be","analyzed",".","data",":","torch.Tensor","The","example","input","data","to","trace","the","network","architecture",".","traced_model",":","torch._C.Graph","if","we","alreay","has","the","traced","graph","of","the","target","model",",","we","donnot","need","to","trace","the","model","again",".","prune_type",":","str","This","parameter","indicates","the","channel","pruning","type",":","1",")","`","Filter","`","prune","the","filter","of","the","convolution","layer","to","prune","the","corresponding","channels","2",")","`","Batchnorm","`",":","prune","the","channel","in","the","batchnorm","layer"]
docstr: Get the list of the dependency set.
  
  Returns
  -------
  dependency_sets : list
      list of the dependency sets. For example,
      [set(['conv1', 'conv2']), set(['conv3', 'conv4'])]
docstr_tok: ["Get","the","list","of","the","dependency","set",".","Returns","--","--","--","-","dependency_sets",":","list","list","of","the","dependency","sets",".","For","example",",","[","set","(","[","'conv1","'",",","'conv2","'","]",")",",","set","(","[","'conv3","'",",","'conv4","'","]",")","]"]
code: def dependency_sets(self):
      """
      Get the list of the dependency set.
  
      Returns
      -------
      dependency_sets : list
          list of the dependency sets. For example,
          [set(['conv1', 'conv2']), set(['conv3', 'conv4'])]
      """
      d_sets = []
      visited = set()
      for node in self.graph.nodes_py.nodes_op:
          if node.op_type not in self.target_types or node in visited:
              continue
          tmp_set = set()
          if node.name not in self.dependency:
              visited.add(node)
              tmp_set.add(node.name)
          else:
              for other in self.dependency[node.name]:
                  visited.add(self.graph.name_to_node[other])
                  tmp_set.add(other)
          d_sets.append(tmp_set)
      return d_sets
  
imports: import csv
  import logging
  import torch
  import numpy
  from .attr import get_nested_attr
label_desc: Use image node_id 8 for calling the ChannelDependency obj's underlying member method code with example usage: obj.dependency_sets() and returns: d_sets