Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
from nncf.common.graph.transformations.commands import TransformationCommand
from nncf.common.graph.transformations.layout import TransformationLayout
from nncf.common.logging.track_progress import track
from nncf.common.tensor_statistics.builders import get_raw_stat_collector
from nncf.common.tensor_statistics.statistic_point import StatisticPoint
from nncf.common.tensor_statistics.statistic_point import StatisticPointsContainer
from nncf.common.tensor_statistics.statistical_functions import mean_per_channel
Expand Down Expand Up @@ -599,7 +600,7 @@ def get_statistic_points(self, model: TModel, graph: NNCFGraph) -> StatisticPoin
statistic_point = self._backend_entity.target_point(
TargetType.POST_LAYER_OPERATION, edge.from_node.node_name, port_id=edge.output_port_id
)
stat_collector = self._backend_entity.raw_statistic_collector(num_samples=self.subset_size)
stat_collector = get_raw_stat_collector(num_samples=self.subset_size)
statistic_container.add_statistic_point(
StatisticPoint(
target_point=statistic_point, tensor_collector=stat_collector, algorithm=self._algorithm_key
Expand All @@ -620,7 +621,7 @@ def get_statistic_points(self, model: TModel, graph: NNCFGraph) -> StatisticPoin
statistic_point = self._backend_entity.target_point(
TargetType.POST_LAYER_OPERATION, input_node.node_name, port_id=OUTPUT_PORT_OF_NODE
)
stat_collector = self._backend_entity.raw_statistic_collector(num_samples=self.subset_size)
stat_collector = get_raw_stat_collector(num_samples=self.subset_size)
statistic_container.add_statistic_point(
StatisticPoint(
target_point=statistic_point, tensor_collector=stat_collector, algorithm=self._algorithm_key
Expand Down
11 changes: 0 additions & 11 deletions src/nncf/quantization/algorithms/bias_correction/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,17 +95,6 @@ def mean_statistic_collector(
:return: Backend-specific TensorCollector for the statistics calculation.
"""

@staticmethod
@abstractmethod
def raw_statistic_collector(num_samples: int | None = None) -> TensorCollector:
"""
Returns backend-specific raw statistic collector.
This statistic collector is used for raw data calculation, without aggregating.

:param num_samples: Maximum number of samples to collect.
:return: Backend-specific TensorCollector for the statistics calculation.
"""

@staticmethod
@abstractmethod
def process_model_output(raw_data: OutputType, output_name: str | int) -> Tensor:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
from nncf.common.graph import NNCFNode
from nncf.common.graph.transformations.commands import TargetType
from nncf.common.tensor_statistics.builders import get_mean_statistic_collector
from nncf.common.tensor_statistics.builders import get_raw_stat_collector
from nncf.common.tensor_statistics.collectors import TensorCollector
from nncf.onnx.graph.model_utils import remove_fq_from_inputs
from nncf.onnx.graph.node_utils import get_bias_value
Expand Down Expand Up @@ -66,10 +65,6 @@ def mean_statistic_collector(
) -> TensorCollector:
return get_mean_statistic_collector(num_samples, channel_axis, window_size)

@staticmethod
def raw_statistic_collector(num_samples: int = None) -> TensorCollector:
return get_raw_stat_collector(num_samples)

@staticmethod
def process_model_output(raw_data: dict, output_name: str) -> Tensor:
return Tensor(raw_data[output_name])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
from nncf.common.graph import NNCFGraph
from nncf.common.graph import NNCFNode
from nncf.common.graph.transformations.commands import TargetType
from nncf.common.tensor_statistics.builders import get_raw_stat_collector
from nncf.common.tensor_statistics.collectors import TensorCollector
from nncf.openvino.graph.metatypes.groups import FAKE_QUANTIZE_OPERATIONS
from nncf.openvino.graph.model_utils import remove_fq_from_inputs
Expand Down Expand Up @@ -63,10 +62,6 @@ def mean_statistic_collector(
) -> TensorCollector:
return get_mean_statistic_collector(num_samples, channel_axis, window_size, inplace)

@staticmethod
def raw_statistic_collector(num_samples: int | None = None) -> TensorCollector:
return get_raw_stat_collector(num_samples)

@staticmethod
def process_model_output(raw_data: dict, output_name: str) -> Tensor:
return Tensor(raw_data[output_name])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
from nncf.common.graph import NNCFNode
from nncf.common.graph.transformations.commands import TargetType
from nncf.common.tensor_statistics.builders import get_mean_statistic_collector
from nncf.common.tensor_statistics.builders import get_raw_stat_collector
from nncf.common.tensor_statistics.collectors import TensorCollector
from nncf.experimental.torch.fx.commands import FXApplyTransformationCommand
from nncf.experimental.torch.fx.model_utils import get_target_point
Expand Down Expand Up @@ -66,10 +65,6 @@ def mean_statistic_collector(
) -> TensorCollector:
return get_mean_statistic_collector(num_samples, channel_axis, window_size)

@staticmethod
def raw_statistic_collector(num_samples: int | None = None) -> TensorCollector:
return get_raw_stat_collector(num_samples)

@staticmethod
def process_model_output(raw_data: dict, output_name: int) -> Tensor:
return Tensor(raw_data[output_name])
Expand Down
12 changes: 0 additions & 12 deletions src/nncf/quantization/algorithms/layerwise/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
from nncf.common.graph import NNCFGraph
from nncf.common.graph.transformations.commands import TargetPoint
from nncf.common.graph.transformations.commands import TargetType
from nncf.common.tensor_statistics.collectors import TensorCollector
from nncf.data.dataset import Dataset
from nncf.quantization.algorithms.layerwise.iterator import LayerwiseIterator
from nncf.quantization.algorithms.layerwise.scheduler import LayerwiseStep
Expand Down Expand Up @@ -64,14 +63,3 @@ def target_point(target_type: TargetType, target_node_name: str, port_id: int) -
:param port_id: id of the port for the statistics distribution.
:return: Backend-specific TargetPoint.
"""

@staticmethod
@abstractmethod
def raw_statistic_collector(num_samples: int | None = None) -> TensorCollector:
"""
Returns backend-specific raw statistic collector.
This statistic collector is used for raw data calculation, without aggregating.

:param num_samples: Maximum number of samples to collect.
:return: Backend-specific TensorCollector for the statistics calculation.
"""
3 changes: 2 additions & 1 deletion src/nncf/quantization/algorithms/layerwise/engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from nncf.common.graph.graph import NNCFGraph
from nncf.common.graph.graph import NNCFNode
from nncf.common.graph.transformations.commands import TargetType
from nncf.common.tensor_statistics.builders import get_raw_stat_collector
from nncf.common.tensor_statistics.statistic_point import StatisticPoint
from nncf.common.tensor_statistics.statistic_point import StatisticPointsContainer
from nncf.common.utils.backend import BackendType
Expand Down Expand Up @@ -188,7 +189,7 @@ def get_statistic_points(
statistic_point = self._backend_entity.target_point(
TargetType.POST_LAYER_OPERATION, node_name, port_id=output_port_id
)
stat_collector = self._backend_entity.raw_statistic_collector(num_samples=self._subset_size)
stat_collector = get_raw_stat_collector(num_samples=self._subset_size)
statistic_container.add_statistic_point(
StatisticPoint(
target_point=statistic_point, tensor_collector=stat_collector, algorithm=self._algorithm_key
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@

from nncf.common.graph import NNCFGraph
from nncf.common.graph.transformations.commands import TargetType
from nncf.common.tensor_statistics.builders import get_raw_stat_collector
from nncf.common.tensor_statistics.collectors import TensorCollector
from nncf.data.dataset import Dataset
from nncf.openvino.graph.transformations.commands import OVTargetPoint
from nncf.quantization.algorithms.layerwise.backend import LayerwiseEngineBackend
Expand All @@ -40,7 +38,3 @@ def create_layerwise_iterator(
@staticmethod
def target_point(target_type: TargetType, target_node_name: str, port_id: int) -> OVTargetPoint:
return OVTargetPoint(target_type, target_node_name, port_id)

@staticmethod
def raw_statistic_collector(num_samples: int | None = None) -> TensorCollector:
return get_raw_stat_collector(num_samples)
3 changes: 2 additions & 1 deletion tests/common/test_statistics_aggregator.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
from nncf.common.quantization.structs import QuantizationScheme as QuantizationMode
from nncf.common.quantization.structs import QuantizerConfig
from nncf.common.tensor_statistics.aggregator import EMPTY_DATASET_ERROR
from nncf.common.tensor_statistics.builders import get_raw_stat_collector
from nncf.common.tensor_statistics.collectors import NoopAggregator
from nncf.common.tensor_statistics.collectors import TensorCollector
from nncf.common.tensor_statistics.collectors import TensorReducerBase
Expand Down Expand Up @@ -596,7 +597,7 @@ def test_statistics_aggregator_bias_correction(
test_params.axis, inplace_statistics, len(dataset_samples)
)
elif test_params.collector_type == BCStatsCollectors.RAW:
tensor_collector = algo_backend.raw_statistic_collector(len(dataset_samples))
tensor_collector = get_raw_stat_collector(len(dataset_samples))
else:
msg = f"Invalid collector type: {test_params.collector_type}"
raise nncf.InvalidCollectorTypeError(msg)
Expand Down
Loading