code: def _annotate_conv2d(
      self,
      gm: torch.fx.GraphModule,
      quantization_config: QuantizationConfig,
  ) -> None:
      conv_partitions = get_source_partitions(
          gm.graph, [torch.nn.Conv2d, torch.nn.functional.conv2d]
      )
      conv_partitions = list(
          itertools.chain.from_iterable(conv_partitions.values())
      )
      for conv_partition in conv_partitions:
          if len(conv_partition.output_nodes) > 1:
              raise ValueError(
                  "conv partition has more than one output node"
              )
          conv_node = conv_partition.output_nodes[0]
          if (
              conv_node.op != "call_function"
              or conv_node.target != torch.ops.aten.conv2d.default
          ):
              raise ValueError(
                  f"{conv_node} is not an aten conv2d operator"
              )
          # skip annotation if it is already annotated
          if _is_annotated([conv_node]):
              continue
          self._annotate_conv_node_helper(
              conv_node, True, quantization_config
          )
  
imports: import copy
  import functools
  import itertools
  import operator
  from dataclasses import dataclass
  from typing import Any, Dict, List, Optional, Sequence, Set, Tuple
  import torch
  import torch.nn.functional
  from torch.ao.quantization.fake_quantize import FakeQuantize, FusedMovingAvgObsFakeQuantize
  from torch.ao.quantization.observer import HistogramObserver, MovingAverageMinMaxObserver, MovingAveragePerChannelMinMaxObserver, PerChannelMinMaxObserver, PlaceholderObserver
  from torch.ao.quantization.pt2e.graph_utils import find_sequential_partitions
  from torch.ao.quantization.qconfig import _ObserverOrFakeQuantizeConstructor
  from torch.ao.quantization.quantizer.quantizer import QuantizationAnnotation, QuantizationSpec, Quantizer, SharedQuantizationSpec
  from torch.ao.quantization.quantizer.xnnpack_quantizer_utils import _is_annotated, get_bias_qspec, get_input_act_qspec, get_output_act_qspec, get_weight_qspec, OperatorConfig, OperatorPatternType, QuantizationConfig
  from torch.fx import Node
  from torch.fx.passes.utils.source_matcher_utils import get_source_partitions, SourcePartition
label_desc: Use image node_id 22 for calling the X86InductorQuantizer obj's underlying member method code with example usage: obj._annotate_conv2d(gm, quantization_config) without return types