class_docstr: This class is used to detect if any Linear or Conv layers in a model utilize per_channel quantization.
  Only Linear and Conv layers can use per_channel as of now so only these two are currently checked.
  
  per_channel quantization can lead to major benefits in the form of accuracy.
  Therefore, if the backend used by the user supports it, it is recommended to use
  
  Args:
      backend (str, optional): the backend the user wishes to use in production
          Default value is current torch.backends.quantized.engine
class_docstr_tok: ["This","class","is","used","to","detect","if","any","Linear","or","Conv","layers","in","a","model","utilize","per_channel","quantization",".","Only","Linear","and","Conv","layers","can","use","per_channel","as","of","now","so","only","these","two","are","currently","checked",".","per_channel","quantization","can","lead","to","major","benefits","in","the","form","of","accuracy",".","Therefore",",","if","the","backend","used","by","the","user","supports","it",",","it","is","recommended","to","use","Args",":","backend","(","str",",","optional",")",":","the","backend","the","user","wishes","to","use","in","production","Default","value","is","current","torch.backends.quantized.engine"]
docstr: There is no observers inserted for the PerChannelDetector.
  
  Returns an empty dictionary since no observers are added or needed
docstr_tok: ["There","is","no","observers","inserted","for","the","PerChannelDetector",".","Returns","an","empty","dictionary","since","no","observers","are","added","or","needed"]
code: def determine_observer_insert_points(self, model: nn.Module) -> Dict:
      r"""
      There is no observers inserted for the PerChannelDetector.
  
      Returns an empty dictionary since no observers are added or needed
      """
      return {}
  
imports: from typing import Any, Dict, Set, Tuple, Callable, List
  import torch
  import torch.nn
  import torch.ao.nn.qat
  from abc import ABC, abstractmethod
  from torch.ao.quantization.fake_quantize import FakeQuantize
  from torch.ao.quantization.fx.graph_module import GraphModule
  from torch.ao.quantization.fx._model_report.model_report_observer import ModelReportObserver
  from torch.ao.quantization.qconfig import QConfig, default_qconfig, _assert_valid_qconfig
  from torch.ao.quantization.observer import ObserverBase, default_dynamic_quant_observer, default_per_channel_weight_observer, default_observer, default_weight_observer
  from torch.ao.quantization.fx._equalize import default_equalization_qconfig, EqualizationQConfig
  from torch.ao.quantization.observer import _is_activation_post_process
label_desc: Use image node_id 4 for calling the PerChannelDetector obj's underlying member method code with example usage: obj.determine_observer_insert_points(model) and returns: dict