1
# Owner(s): ["oncall: quantization"]
4
from torch.testing._internal.common_utils import run_tests
6
# Quantization core tests. These include tests for
8
# - quantized functional operators
9
# - quantized workflow modules
10
# - quantized workflow operators
14
# TODO: merge the different quantized op tests into one test class
15
from quantization.core.test_quantized_op import TestQuantizedOps # noqa: F401
16
from quantization.core.test_quantized_op import TestQNNPackOps # noqa: F401
17
from quantization.core.test_quantized_op import TestQuantizedLinear # noqa: F401
18
from quantization.core.test_quantized_op import TestQuantizedConv # noqa: F401
19
from quantization.core.test_quantized_op import TestDynamicQuantizedOps # noqa: F401
20
from quantization.core.test_quantized_op import TestComparatorOps # noqa: F401
21
from quantization.core.test_quantized_op import TestPadding # noqa: F401
22
from quantization.core.test_quantized_op import TestQuantizedEmbeddingOps # noqa: F401
23
# 2. Quantized Functional/Workflow Ops
24
from quantization.core.test_quantized_functional import TestQuantizedFunctionalOps # noqa: F401
25
from quantization.core.test_workflow_ops import TestFakeQuantizeOps # noqa: F401
26
from quantization.core.test_workflow_ops import TestFusedObsFakeQuant # noqa: F401
28
from quantization.core.test_quantized_tensor import TestQuantizedTensor # noqa: F401
30
from quantization.core.test_workflow_module import TestFakeQuantize # noqa: F401
31
from quantization.core.test_workflow_module import TestObserver # noqa: F401
32
from quantization.core.test_quantized_module import TestStaticQuantizedModule # noqa: F401
33
from quantization.core.test_quantized_module import TestDynamicQuantizedModule # noqa: F401
34
from quantization.core.test_quantized_module import TestReferenceQuantizedModule # noqa: F401
35
from quantization.core.test_workflow_module import TestRecordHistogramObserver # noqa: F401
36
from quantization.core.test_workflow_module import TestHistogramObserver # noqa: F401
37
from quantization.core.test_workflow_module import TestDistributed # noqa: F401
38
from quantization.core.test_workflow_module import TestFusedObsFakeQuantModule # noqa: F401
39
from quantization.core.test_backend_config import TestBackendConfig # noqa: F401
40
from quantization.core.test_utils import TestUtils # noqa: F401
42
# This test has extra data dependencies, so in some environments, e.g. Meta internal
43
# Buck, it has its own test runner.
44
from quantization.core.test_docs import TestQuantizationDocs # noqa: F401
45
except ImportError as e:
48
# Eager Mode Workflow. Tests for the functionality of APIs and different features implemented
51
# 1. Eager mode post training quantization
52
from quantization.eager.test_quantize_eager_ptq import TestQuantizeEagerPTQStatic # noqa: F401
53
from quantization.eager.test_quantize_eager_ptq import TestQuantizeEagerPTQDynamic # noqa: F401
54
from quantization.eager.test_quantize_eager_ptq import TestQuantizeEagerOps # noqa: F401
55
# 2. Eager mode quantization aware training
56
from quantization.eager.test_quantize_eager_qat import TestQuantizeEagerQAT # noqa: F401
57
from quantization.eager.test_quantize_eager_qat import TestQuantizeEagerQATNumerics # noqa: F401
58
# 3. Eager mode fusion passes
59
from quantization.eager.test_fuse_eager import TestFuseEager # noqa: F401
60
# 4. Testing model numerics between quanitzed and FP32 models
61
from quantization.eager.test_model_numerics import TestModelNumericsEager # noqa: F401
62
# 5. Tooling: numeric_suite
63
from quantization.eager.test_numeric_suite_eager import TestNumericSuiteEager # noqa: F401
64
# 6. Equalization and Bias Correction
65
from quantization.eager.test_equalize_eager import TestEqualizeEager # noqa: F401
66
from quantization.eager.test_bias_correction_eager import TestBiasCorrectionEager # noqa: F401
69
# FX GraphModule Graph Mode Quantization. Tests for the functionality of APIs and different features implemented
70
# using fx quantization.
72
from quantization.fx.test_quantize_fx import TestFuseFx # noqa: F401
73
from quantization.fx.test_quantize_fx import TestQuantizeFx # noqa: F401
74
from quantization.fx.test_quantize_fx import TestQuantizeFxOps # noqa: F401
75
from quantization.fx.test_quantize_fx import TestQuantizeFxModels # noqa: F401
76
from quantization.fx.test_subgraph_rewriter import TestSubgraphRewriter # noqa: F401
77
except ImportError as e:
78
# In FBCode we separate FX out into a separate target for the sake of dev
79
# velocity. These are covered by a separate test target `quantization_fx`
82
# PyTorch 2 Export Quantization
84
# To be moved to compiler side later
85
from quantization.pt2e.test_graph_utils import TestGraphUtils # noqa: F401
86
from quantization.pt2e.test_duplicate_dq import TestDuplicateDQPass # noqa: F401
87
from quantization.pt2e.test_metadata_porting import TestMetaDataPorting # noqa: F401
88
from quantization.pt2e.test_numeric_debugger import TestNumericDebugger # noqa: F401
89
from quantization.pt2e.test_quantize_pt2e import TestQuantizePT2E # noqa: F401
90
from quantization.pt2e.test_representation import TestPT2ERepresentation # noqa: F401
91
from quantization.pt2e.test_xnnpack_quantizer import TestXNNPACKQuantizer # noqa: F401
92
from quantization.pt2e.test_xnnpack_quantizer import TestXNNPACKQuantizerModels # noqa: F401
93
from quantization.pt2e.test_x86inductor_quantizer import TestQuantizePT2EX86Inductor # noqa: F401
94
# TODO: Figure out a way to merge all QAT tests in one TestCase
95
from quantization.pt2e.test_quantize_pt2e_qat import TestQuantizePT2EQAT_ConvBn1d # noqa: F401
96
from quantization.pt2e.test_quantize_pt2e_qat import TestQuantizePT2EQAT_ConvBn2d # noqa: F401
97
from quantization.pt2e.test_quantize_pt2e_qat import TestQuantizePT2EQATModels # noqa: F401
98
except ImportError as e:
99
# In FBCode we separate PT2 out into a separate target for the sake of dev
100
# velocity. These are covered by a separate test target `quantization_pt2e`
104
from quantization.fx.test_numeric_suite_fx import TestFXGraphMatcher # noqa: F401
105
from quantization.fx.test_numeric_suite_fx import TestFXGraphMatcherModels # noqa: F401
106
from quantization.fx.test_numeric_suite_fx import TestFXNumericSuiteCoreAPIs # noqa: F401
107
from quantization.fx.test_numeric_suite_fx import TestFXNumericSuiteNShadows # noqa: F401
108
from quantization.fx.test_numeric_suite_fx import TestFXNumericSuiteCoreAPIsModels # noqa: F401
109
except ImportError as e:
112
# Test the model report module
114
from quantization.fx.test_model_report_fx import TestFxModelReportDetector # noqa: F401
115
from quantization.fx.test_model_report_fx import TestFxModelReportObserver # noqa: F401
116
from quantization.fx.test_model_report_fx import TestFxModelReportDetectDynamicStatic # noqa: F401
117
from quantization.fx.test_model_report_fx import TestFxModelReportClass # noqa: F401
118
from quantization.fx.test_model_report_fx import TestFxDetectInputWeightEqualization # noqa: F401
119
from quantization.fx.test_model_report_fx import TestFxDetectOutliers # noqa: F401
120
from quantization.fx.test_model_report_fx import TestFxModelReportVisualizer # noqa: F401
121
except ImportError as e:
124
# Equalization for FX mode
126
from quantization.fx.test_equalize_fx import TestEqualizeFx # noqa: F401
127
except ImportError as e:
130
# Backward Compatibility. Tests serialization and BC for quantized modules.
132
from quantization.bc.test_backward_compatibility import TestSerialization # noqa: F401
133
except ImportError as e:
136
# JIT Graph Mode Quantization
137
from quantization.jit.test_quantize_jit import TestQuantizeJit # noqa: F401
138
from quantization.jit.test_quantize_jit import TestQuantizeJitPasses # noqa: F401
139
from quantization.jit.test_quantize_jit import TestQuantizeJitOps # noqa: F401
140
from quantization.jit.test_quantize_jit import TestQuantizeDynamicJitPasses # noqa: F401
141
from quantization.jit.test_quantize_jit import TestQuantizeDynamicJitOps # noqa: F401
142
# Quantization specific fusion passes
143
from quantization.jit.test_fusion_passes import TestFusionPasses # noqa: F401
144
from quantization.jit.test_deprecated_jit_quant import TestDeprecatedJitQuantized # noqa: F401
147
from quantization.ao_migration.test_quantization import TestAOMigrationQuantization # noqa: F401
148
from quantization.ao_migration.test_ao_migration import TestAOMigrationNNQuantized # noqa: F401
149
from quantization.ao_migration.test_ao_migration import TestAOMigrationNNIntrinsic # noqa: F401
151
from quantization.ao_migration.test_quantization_fx import TestAOMigrationQuantizationFx # noqa: F401
152
except ImportError as e:
155
# Experimental functionality
157
from quantization.core.experimental.test_bits import TestBitsCPU # noqa: F401
158
except ImportError as e:
161
from quantization.core.experimental.test_bits import TestBitsCUDA # noqa: F401
162
except ImportError as e:
165
from quantization.core.experimental.test_float8 import TestFloat8DtypeCPU # noqa: F401
166
except ImportError as e:
169
from quantization.core.experimental.test_float8 import TestFloat8DtypeCUDA # noqa: F401
170
except ImportError as e:
173
from quantization.core.experimental.test_float8 import TestFloat8DtypeCPUOnlyCPU # noqa: F401
174
except ImportError as e:
177
if __name__ == '__main__':