code: def collect(
      self, model_or_path: Union[str, PathLike, Path, bytes]
  ) -> Tuple[Set[str], Set[str]]:
      global_nodes_to_quantize, global_nodes_to_exclude = set(), set()
      graph = load_model(
          model_or_path.as_posix()
          if isinstance(model_or_path, Path)
          else model_or_path
      )
      model = OnnxModel(graph)
  
      for walking_pass in self._passes:
          nodes_to_quantize, nodes_to_exclude = walking_pass(
              graph, model
          )
  
          if nodes_to_quantize is not None:
              global_nodes_to_quantize.update(nodes_to_quantize)
  
          if nodes_to_exclude is not None:
              global_nodes_to_exclude.update(nodes_to_exclude)
  
      # Exclude the nodes from quantization when present in both sets
      global_nodes_to_quantize = (
          global_nodes_to_quantize - global_nodes_to_exclude
      )
  
      return global_nodes_to_quantize, global_nodes_to_exclude
  
file_path: optimum/optimum/onnxruntime/preprocessors/quantization.py
imports: from abc import ABC, abstractmethod
  from logging import getLogger
  from os import PathLike
  from pathlib import Path
  from typing import Optional, Set, Tuple, Union
  from onnx import ModelProto, load_model
  from onnxruntime.transformers.onnx_model import OnnxModel
label_desc: Use image node_id 4 for calling the QuantizationPreprocessor obj's underlying member method code with example usage: obj.collect(model_or_path) and returns: global_nodes_to_quantize,  global_nodes_to_exclude