Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Commit 8db00aa

Browse files
rahul-tulibfineranBenjamin
authored
Quantization Code Move (#570)
* Moved: - `modifier_quantization.py` to `sparseml.pytrorch.sparsification.quantization` - Updated test location and usages _ Style * fix imports * Style * Moved `sparseml/pytorch/utils/quantization` to `sparseml/pytorch/sparsification/quantization/utils` * Moved `sparseml/pytorch/utils/quantization` to `sparseml/pytorch/sparsification/quantization/utils` * Style * Style * fix imports * Style * Review Comments * fix quality + failing tests + cyclic dependency * quality Co-authored-by: Benjamin Fineran <bfineran@users.noreply.github.com> Co-authored-by: Benjamin <ben@neuralmagic.com>
1 parent c2903b4 commit 8db00aa

File tree

11 files changed

+19
-18
lines changed

11 files changed

+19
-18
lines changed

src/sparseml/pytorch/optim/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
from .modifier_lr import *
3535
from .modifier_params import *
3636
from .modifier_pruning import *
37-
from .modifier_quantization import *
3837
from .modifier_regularizer import *
3938
from .optimizer import *
4039
from .sensitivity_as import *

src/sparseml/pytorch/sparsification/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,4 @@
2424
from .info import *
2525
from .modifier_thinning import *
2626
from .pruning import *
27+
from .quantization.modifier_quantization import *

src/sparseml/pytorch/utils/quantization/__init__.py renamed to src/sparseml/pytorch/sparsification/quantization/__init__.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# flake8: noqa
2+
13
# Copyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved.
24
#
35
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,11 +14,6 @@
1214
# See the License for the specific language governing permissions and
1315
# limitations under the License.
1416

15-
"""
16-
Tools for quantizing and exporting PyTorch models
17-
"""
18-
19-
# flake8: noqa
20-
2117
from .helpers import *
18+
from .modifier_quantization import *
2219
from .quantize_qat_export import *

src/sparseml/pytorch/utils/quantization/helpers.py renamed to src/sparseml/pytorch/sparsification/quantization/helpers.py

File renamed without changes.

src/sparseml/pytorch/optim/modifier_quantization.py renamed to src/sparseml/pytorch/sparsification/quantization/modifier_quantization.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@
4646

4747
from sparseml.optim import BaseModifier, ModifierProp
4848
from sparseml.pytorch.optim.modifier import PyTorchModifierYAML, ScheduledModifier
49-
from sparseml.pytorch.utils import BaseLogger, tensors_module_forward, tensors_to_device
50-
from sparseml.pytorch.utils.quantization import (
49+
from sparseml.pytorch.sparsification.quantization.helpers import (
5150
add_quant_dequant,
5251
configure_module_default_qconfigs,
5352
configure_module_qat_wrappers,
@@ -57,6 +56,7 @@
5756
prepare_embeddings_qat,
5857
remove_activation_qat_by_layer_name,
5958
)
59+
from sparseml.pytorch.utils import BaseLogger, tensors_module_forward, tensors_to_device
6060
from sparseml.sparsification import SparsificationTypes
6161

6262

src/sparseml/pytorch/utils/quantization/quantize_qat_export.py renamed to src/sparseml/pytorch/sparsification/quantization/quantize_qat_export.py

File renamed without changes.

src/sparseml/pytorch/utils/exporter.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@
4242
script_model,
4343
trace_model,
4444
)
45-
from sparseml.pytorch.utils.quantization import (
46-
quantize_torch_qat_export,
47-
skip_onnx_input_quantize,
48-
)
4945
from sparseml.utils import clean_path, create_parent_dirs
5046

5147

@@ -493,10 +489,20 @@ def export_onnx(
493489

494490
if convert_qat and is_quant_module:
495491
# overwrite exported model with fully quantized version
492+
# import here to avoid cyclic dependency
493+
from sparseml.pytorch.sparsification.quantization import (
494+
quantize_torch_qat_export,
495+
)
496+
496497
quantize_torch_qat_export(model=file_path, output_file_path=file_path)
497498

498499
if skip_input_quantize:
499500
try:
501+
# import here to avoid cyclic dependency
502+
from sparseml.pytorch.sparsification.quantization import (
503+
skip_onnx_input_quantize,
504+
)
505+
500506
skip_onnx_input_quantize(file_path, file_path)
501507
except Exception as e:
502508
_LOGGER.warning(

tests/sparseml/pytorch/utils/quantization/__init__.py renamed to tests/sparseml/pytorch/sparsification/quantization/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,3 @@
1111
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
14-
15-
# flake8: noqa

tests/sparseml/pytorch/utils/quantization/test_helpers.py renamed to tests/sparseml/pytorch/sparsification/quantization/test_helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import torch
1919

2020
from sparseml.pytorch.models import mobilenet, resnet50
21-
from sparseml.pytorch.utils.quantization import (
21+
from sparseml.pytorch.sparsification.quantization import (
2222
QATWrapper,
2323
add_quant_dequant,
2424
configure_module_default_qconfigs,

tests/sparseml/pytorch/optim/test_modifier_quantization.py renamed to tests/sparseml/pytorch/sparsification/quantization/test_modifier_quantization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import pytest
1818
from torch.nn import Conv2d, Identity, Linear
1919

20-
from sparseml.pytorch.optim import QuantizationModifier
20+
from sparseml.pytorch.sparsification import QuantizationModifier
2121
from tests.sparseml.pytorch.helpers import LinearNet, create_optim_sgd
2222
from tests.sparseml.pytorch.optim.test_modifier import ScheduledModifierTest
2323

0 commit comments

Comments
 (0)