Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change KPI to Resource Utilization #1008

Merged
merged 9 commits into from
Mar 21, 2024
Merged
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ This pruning technique is designed to compress models for specific hardware arch
taking into account the target platform's Single Instruction, Multiple Data (SIMD) capabilities.
By pruning groups of channels (SIMD groups), our approach not only reduces model size
and complexity, but ensures that better utilization of channels is in line with the SIMD architecture
for a target KPI of weights memory footprint.
for a target Resource Utilization of weights memory footprint.
[Keras API](https://sony.github.io/model_optimization/docs/api/experimental_api_docs/methods/keras_pruning_experimental.html)
[Pytorch API](https://github.com/sony/model_optimization/blob/main/model_compression_toolkit/pruning/pytorch/pruning_facade.py#L43)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
:orphan:

.. _ug-KPI:
.. _ug-ResourceUtilization:


KPI
ResourceUtilization
================================
**Object to configure resources to use when searching for a configuration for the optimized model (such as in mixed-precision, pruning, etc.):**

.. autoclass:: model_compression_toolkit.core.KPI
.. autoclass:: model_compression_toolkit.core.ResourceUtilization

6 changes: 3 additions & 3 deletions docsrc/source/api/api_docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,12 @@ core
- :ref:`QuantizationConfig<ug-QuantizationConfig>`: Module to configure the quantization process.
- :ref:`QuantizationErrorMethod<ug-QuantizationErrorMethod>`: Select a method for quantization parameters' selection.
- :ref:`MixedPrecisionQuantizationConfig<ug-MixedPrecisionQuantizationConfig>`: Module to configure the quantization process when using mixed-precision PTQ.
- :ref:`KPI<ug-KPI>`: Module to configure resources to use when searching for a configuration for the optimized model.
- :ref:`ResourceUtilization<ug-ResourceUtilization>`: Module to configure resources to use when searching for a configuration for the optimized model.
- :ref:`MpDistanceWeighting<ug-MpDistanceWeighting>`: Mixed precision distance metric weighting methods.
- :ref:`network_editor<ug-network_editor>`: Module to modify the optimization process for troubleshooting.
- :ref:`FolderImageLoader<ug-FolderImageLoader>`: Class to use an images directory as a representative dataset.
- :ref:`pytorch_kpi_data<ug-pytorch_kpi_data>`: A function to compute KPI data that can be used to calculate the desired target KPI for PyTorch models.
- :ref:`keras_kpi_data<ug-keras_kpi_data>`: A function to compute KPI data that can be used to calculate the desired target KPI for Keras models.
- :ref:`pytorch_resource_utilization_data<ug-pytorch_resource_utilization_data>`: A function to compute Resource Utilization data that can be used to calculate the desired target resource utilization for PyTorch models.
- :ref:`keras_resource_utilization_data<ug-keras_resource_utilization_data>`: A function to compute Resource Utilization data that can be used to calculate the desired target resource utilization for Keras models.


data_generation
Expand Down
10 changes: 5 additions & 5 deletions docsrc/source/api/api_docs/methods/keras_kpi_data.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
:orphan:

.. _ug-keras_kpi_data:
.. _ug-keras_resource_utilization_data:


=======================================
Get KPI information for Keras Models
=======================================
=======================================================
Get Resource Utilization information for Keras Models
=======================================================

.. autofunction:: model_compression_toolkit.core.keras_kpi_data
.. autofunction:: model_compression_toolkit.core.keras_resource_utilization_data
10 changes: 5 additions & 5 deletions docsrc/source/api/api_docs/methods/pytorch_kpi_data.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
:orphan:

.. _ug-pytorch_kpi_data:
.. _ug-pytorch_resource_utilization_data:


=======================================
Get KPI information for PyTorch Models
=======================================
============================================================
Get Resource Utilization information for PyTorch Models
============================================================

.. autofunction:: model_compression_toolkit.core.pytorch_kpi_data
.. autofunction:: model_compression_toolkit.core.pytorch_resource_utilization_data
2 changes: 1 addition & 1 deletion model_compression_toolkit/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
DEC_RANGE_BOTTOM = 0.97
DEC_RANGE_UPPER = 1.03

# KPI computation parameters
# Resource utilization computation parameters
BITS_TO_BYTES = 8.0

# Default threshold for Softmax layer
Expand Down
6 changes: 3 additions & 3 deletions model_compression_toolkit/core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
from model_compression_toolkit.core.common.mixed_precision import mixed_precision_quantization_config
from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationConfig, QuantizationErrorMethod, DEFAULTCONFIG
from model_compression_toolkit.core.common.quantization.core_config import CoreConfig
from model_compression_toolkit.core.common.mixed_precision.kpi_tools.kpi import KPI
from model_compression_toolkit.core.common.mixed_precision.resource_utilization_tools.resource_utilization import ResourceUtilization
from model_compression_toolkit.core.common.mixed_precision.mixed_precision_quantization_config import MixedPrecisionQuantizationConfig
from model_compression_toolkit.core.keras.kpi_data_facade import keras_kpi_data
from model_compression_toolkit.core.pytorch.kpi_data_facade import pytorch_kpi_data
from model_compression_toolkit.core.keras.resource_utilization_data_facade import keras_resource_utilization_data
from model_compression_toolkit.core.pytorch.resource_utilization_data_facade import pytorch_resource_utilization_data
from model_compression_toolkit.core.common.mixed_precision.distance_weighting import MpDistanceWeighting

Original file line number Diff line number Diff line change
Expand Up @@ -113,14 +113,14 @@ def __init__(self, origin_node: BaseNode, activation_class: type, fw_attr: dict)
class VirtualActivationWeightsNode(BaseNode):
"""
A node that represents a composition of pair of sequential activation node and weights (kernel) node.
This structure is used for mixed-precision search with bit-operation KPI.
This structure is used for mixed-precision search with bit-operation constraint.
The node's candidates are the cartesian product of both nodes' candidates.

Important: note that not like regular BaseNode or FunctionalNode, in VirtualActivationWeightsNode the activation
candidates config refer to the quantization config of the activation that precedes the linear operation! instead of
the output of the linear operation.
It is ok, since this node is not meant to be used in a graph for creating an actual model, but only a virtual
representation of the model's graph only for allowing to compute the bit-operations KPI in mixed-precision.
representation of the model's graph only for allowing to compute the bit-operations constraint in mixed-precision.
"""

def __init__(self,
Expand Down
112 changes: 0 additions & 112 deletions model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi.py

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading