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"]
code: def _group_norm_condition(self, node_group) -> int:
      node_name = node_group.name
      leaf_module = get_nested_attr(self.model, node_name)
      assert isinstance(leaf_module, (torch.nn.GroupNorm))
      return leaf_module.num_groups == leaf_module.num_channels
  
imports: import csv
  import logging
  import torch
  import numpy
  from .attr import get_nested_attr
label_desc: Use image node_id 5 for calling the ChannelDependency obj's underlying member method code with example usage: obj._group_norm_condition(node_group) and returns: unknown