class_docstr: Base QuantizationTestCase for PT2E QAT with some helper methods.
class_docstr_tok: ["Base","QuantizationTestCase","for","PT2E","QAT","with","some","helper","methods","."]
code: def _verify_symmetric_xnnpack_qat_graph(
      self,
      m: torch.fx.GraphModule,
      example_inputs: Tuple[Any, ...],
      has_relu: bool,
      has_bias: bool = True,
      is_cuda: bool = False,
      expected_conv_literal_args: Optional[Tuple[Any, ...]] = None,
  ):
      self._verify_symmetric_xnnpack_qat_graph_helper(
          m,
          example_inputs,
          is_per_channel=True,
          has_relu=has_relu,
          has_bias=has_bias,
          is_cuda=is_cuda,
          expected_conv_literal_args=expected_conv_literal_args,
      )
      self._verify_symmetric_xnnpack_qat_graph_helper(
          m,
          example_inputs,
          is_per_channel=False,
          has_relu=has_relu,
          has_bias=has_bias,
          is_cuda=is_cuda,
          expected_conv_literal_args=expected_conv_literal_args,
      )
  
imports: import copy
  import operator
  import unittest
  from typing import Any, Optional, Tuple, Type
  import torch
  from torch._export import capture_pre_autograd_graph
  from torch.ao.quantization import default_fake_quant, FusedMovingAvgObsFakeQuantize, MovingAverageMinMaxObserver, MovingAveragePerChannelMinMaxObserver, QConfigMapping
  from torch.ao.quantization.backend_config import get_qnnpack_backend_config
  from torch.ao.quantization.qconfig import default_per_channel_symmetric_qnnpack_qat_qconfig, default_symmetric_qnnpack_qat_qconfig
  from torch.ao.quantization.quantize_fx import prepare_qat_fx
  from torch.ao.quantization.quantize_pt2e import _convert_to_reference_decomposed_fx, convert_pt2e, prepare_pt2e, prepare_qat_pt2e
  from torch.ao.quantization.quantizer import DerivedQuantizationSpec, QuantizationAnnotation, QuantizationSpec, Quantizer
  from torch.ao.quantization.quantizer.xnnpack_quantizer import get_symmetric_quantization_config, XNNPACKQuantizer
  from torch.testing._internal.common_cuda import TEST_CUDA
  from torch.testing._internal.common_quantization import NodeSpec, QuantizationTestCase, skip_if_no_torchvision, skipIfNoQNNPACK
  from torch.testing._internal.common_quantized import override_quantized_engine
label_desc: Use image node_id 4 for calling the PT2EQATTestCase obj's underlying member method code with example usage: obj._verify_symmetric_xnnpack_qat_graph(m, example_inputs, has_relu, has_bias, is_cuda, expected_conv_literal_args) without return types