[PyOV] Making offline_transformations a private module (#13213)
This commit is contained in:
1 parent
d541c3f5f4
commit
2aead0dc3f
13 files changed
+144
-28
No files matched your search
@@ -122,6 +122,8 @@ Icon
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
# Allow these specific folder
|
||||
!src/openvino/_offline_transformations/
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
|
||||
@@ -43,6 +43,7 @@ packages = [
|
||||
"openvino.frontend",
|
||||
"openvino.preprocess",
|
||||
"openvino.offline_transformations",
|
||||
"openvino._offline_transformations",
|
||||
"openvino.runtime",
|
||||
"openvino.runtime.opset1",
|
||||
"openvino.runtime.opset2",
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2018-2022 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# flake8: noqa
|
||||
|
||||
from openvino.utils import add_openvino_libs_to_path
|
||||
add_openvino_libs_to_path()
|
||||
|
||||
from openvino.pyopenvino import get_version
|
||||
__version__ = get_version()
|
||||
|
||||
from openvino.pyopenvino._offline_transformations import apply_moc_transformations
|
||||
from openvino.pyopenvino._offline_transformations import apply_moc_legacy_transformations
|
||||
from openvino.pyopenvino._offline_transformations import apply_pot_transformations
|
||||
from openvino.pyopenvino._offline_transformations import apply_low_latency_transformation
|
||||
from openvino.pyopenvino._offline_transformations import apply_pruning_transformation
|
||||
from openvino.pyopenvino._offline_transformations import generate_mapping_file
|
||||
from openvino.pyopenvino._offline_transformations import apply_make_stateful_transformation
|
||||
from openvino.pyopenvino._offline_transformations import compress_model_transformation
|
||||
from openvino.pyopenvino._offline_transformations import compress_quantize_weights_transformation
|
||||
from openvino.pyopenvino._offline_transformations import convert_sequence_to_tensor_iterator_transformation
|
||||
@@ -3,20 +3,108 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# flake8: noqa
|
||||
# type: ignore
|
||||
|
||||
from openvino.utils import add_openvino_libs_to_path
|
||||
import warnings
|
||||
|
||||
warnings.warn(message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future, use `openvino.runtime.passes` instead!",
|
||||
category=FutureWarning)
|
||||
|
||||
from openvino.utils import add_openvino_libs_to_path, deprecated
|
||||
add_openvino_libs_to_path()
|
||||
|
||||
from openvino.pyopenvino import get_version
|
||||
from openvino.pyopenvino import serialize as _base_serialize
|
||||
import openvino.pyopenvino._offline_transformations as _base
|
||||
|
||||
__version__ = get_version()
|
||||
|
||||
from openvino.pyopenvino.offline_transformations import apply_moc_transformations
|
||||
from openvino.pyopenvino.offline_transformations import apply_moc_legacy_transformations
|
||||
from openvino.pyopenvino.offline_transformations import apply_pot_transformations
|
||||
from openvino.pyopenvino.offline_transformations import apply_low_latency_transformation
|
||||
from openvino.pyopenvino.offline_transformations import apply_pruning_transformation
|
||||
from openvino.pyopenvino.offline_transformations import generate_mapping_file
|
||||
from openvino.pyopenvino.offline_transformations import apply_make_stateful_transformation
|
||||
from openvino.pyopenvino.offline_transformations import compress_model_transformation
|
||||
from openvino.pyopenvino.offline_transformations import compress_quantize_weights_transformation
|
||||
from openvino.pyopenvino.offline_transformations import convert_sequence_to_tensor_iterator_transformation
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future, use `openvino.runtime.passes` instead!")
|
||||
def serialize(model, xml_path, bin_path, version):
|
||||
_base_serialize(model, xml_path, bin_path, version)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def apply_moc_transformations(model, cf):
|
||||
_base.apply_moc_transformations(model, cf)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def apply_moc_legacy_transformations(model, params_with_custom_types):
|
||||
_base.apply_moc_legacy_transformations(model, params_with_custom_types)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def apply_pot_transformations(model, device):
|
||||
_base.apply_pot_transformations(model, device)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def apply_low_latency_transformation(model, use_const_initializer):
|
||||
_base.apply_low_latency_transformation(model, use_const_initializer)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def apply_pruning_transformation(model):
|
||||
_base.apply_pruning_transformation(model)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def generate_mapping_file(model, path, extract_names):
|
||||
_base.generate_mapping_file(model, path, extract_names)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def apply_make_stateful_transformation(model, param_res_names):
|
||||
_base.apply_make_stateful_transformation(model, param_res_names)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def compress_model_transformation(model):
|
||||
_base.compress_model_transformation(model)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def compress_quantize_weights_transformation(model):
|
||||
_base.compress_quantize_weights_transformation(model)
|
||||
|
||||
|
||||
@deprecated(version="2023.1",
|
||||
message="The module is private and following namespace "
|
||||
"`offline_transformations` will be removed in "
|
||||
"the future.")
|
||||
def convert_sequence_to_tensor_iterator_transformation(model):
|
||||
_base.convert_sequence_to_tensor_iterator_transformation(model)
|
||||
@@ -25,8 +25,10 @@
|
||||
namespace py = pybind11;
|
||||
|
||||
void regmodule_offline_transformations(py::module m) {
|
||||
py::module m_offline_transformations = m.def_submodule("offline_transformations", "Offline transformations module");
|
||||
m_offline_transformations.doc() = "openvino.offline_transformations module contains different offline passes.";
|
||||
py::module m_offline_transformations =
|
||||
m.def_submodule("_offline_transformations", "Offline transformations module");
|
||||
m_offline_transformations.doc() =
|
||||
"openvino._offline_transformations is a private module contains different offline passes.";
|
||||
|
||||
m_offline_transformations.def(
|
||||
"apply_moc_transformations",
|
||||
|
||||
@@ -241,6 +241,6 @@ PYBIND11_MODULE(pyopenvino, m) {
|
||||
regclass_frontend_ProgressReporterExtension(m);
|
||||
regclass_frontend_OpExtension(m);
|
||||
|
||||
// transformations
|
||||
// transformations - private module
|
||||
regmodule_offline_transformations(m);
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
import openvino.preprocess as ov_pre
|
||||
import openvino.runtime as ov_run
|
||||
import openvino.frontend as ov_front
|
||||
import openvino.offline_transformations as ov_off_transf
|
||||
import openvino._offline_transformations as ov_off_transf
|
||||
import openvino.pyopenvino as ov_py
|
||||
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@ from openvino.runtime import Model
|
||||
|
||||
def get_available_transformations():
|
||||
try:
|
||||
from openvino.offline_transformations import apply_low_latency_transformation # pylint: disable=import-error,no-name-in-module
|
||||
from openvino.offline_transformations import apply_make_stateful_transformation # pylint: disable=import-error,no-name-in-module
|
||||
from openvino.offline_transformations import apply_pruning_transformation # pylint: disable=import-error,no-name-in-module
|
||||
from openvino._offline_transformations import apply_low_latency_transformation # pylint: disable=import-error,no-name-in-module
|
||||
from openvino._offline_transformations import apply_make_stateful_transformation # pylint: disable=import-error,no-name-in-module
|
||||
from openvino._offline_transformations import apply_pruning_transformation # pylint: disable=import-error,no-name-in-module
|
||||
return {
|
||||
'MakeStateful': apply_make_stateful_transformation,
|
||||
'LowLatency2': apply_low_latency_transformation,
|
||||
@@ -35,20 +35,21 @@ def apply_user_transformations(func: object, transforms: list):
|
||||
|
||||
|
||||
def apply_moc_transformations(func: object):
|
||||
from openvino.offline_transformations import apply_moc_transformations # pylint: disable=import-error,no-name-in-module
|
||||
from openvino._offline_transformations import apply_moc_transformations # pylint: disable=import-error,no-name-in-module
|
||||
apply_moc_transformations(func, False)
|
||||
|
||||
|
||||
def apply_moc_legacy_transformations(func: object, params_with_custom_types: List[str]):
|
||||
from openvino.offline_transformations import apply_moc_legacy_transformations # pylint: disable=import-error,no-name-in-module
|
||||
from openvino._offline_transformations import apply_moc_legacy_transformations # pylint: disable=import-error,no-name-in-module
|
||||
apply_moc_legacy_transformations(func, params_with_custom_types)
|
||||
|
||||
|
||||
def compress_model(func: object):
|
||||
from openvino.offline_transformations import compress_model_transformation # pylint: disable=import-error,no-name-in-module
|
||||
from openvino._offline_transformations import compress_model_transformation # pylint: disable=import-error,no-name-in-module
|
||||
compress_model_transformation(func)
|
||||
|
||||
|
||||
|
||||
def apply_offline_transformations(func: Model, argv: argparse.Namespace):
|
||||
from openvino.tools.mo.back.preprocessing import apply_preprocessing # pylint: disable=no-name-in-module,import-error
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ from openvino.tools.mo.back.ie_ir_ver_2.emitter import append_ir_info
|
||||
|
||||
# pylint: disable=no-name-in-module,import-error
|
||||
from openvino.frontend import FrontEndManager
|
||||
from openvino.offline_transformations import generate_mapping_file
|
||||
from openvino._offline_transformations import generate_mapping_file
|
||||
from openvino.runtime import serialize
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ def moc_emit_ir(ngraph_function: Model, argv: argparse.Namespace):
|
||||
apply_moc_legacy_transformations
|
||||
|
||||
apply_moc_transformations(ngraph_function)
|
||||
from openvino.offline_transformations import compress_quantize_weights_transformation
|
||||
from openvino._offline_transformations import compress_quantize_weights_transformation
|
||||
compress_quantize_weights_transformation(ngraph_function)
|
||||
|
||||
if argv.framework == "onnx":
|
||||
|
||||
@@ -48,10 +48,10 @@ def import_core_modules(silent: bool, path_to_module: str):
|
||||
:return: True if all imports were successful and False otherwise
|
||||
"""
|
||||
try:
|
||||
from openvino.offline_transformations import apply_moc_transformations, apply_moc_legacy_transformations,\
|
||||
from openvino._offline_transformations import apply_moc_transformations, apply_moc_legacy_transformations,\
|
||||
apply_low_latency_transformation # pylint: disable=import-error,no-name-in-module
|
||||
from openvino.offline_transformations import apply_make_stateful_transformation, generate_mapping_file # pylint: disable=import-error,no-name-in-module
|
||||
from openvino.offline_transformations import generate_mapping_file, apply_make_stateful_transformation # pylint: disable=import-error,no-name-in-module
|
||||
from openvino._offline_transformations import apply_make_stateful_transformation, generate_mapping_file # pylint: disable=import-error,no-name-in-module
|
||||
from openvino._offline_transformations import generate_mapping_file, apply_make_stateful_transformation # pylint: disable=import-error,no-name-in-module
|
||||
|
||||
from openvino.runtime import Model, serialize, get_version # pylint: disable=import-error,no-name-in-module
|
||||
from openvino.runtime.op import Parameter # pylint: disable=import-error,no-name-in-module
|
||||
|
||||
@@ -36,7 +36,7 @@ class InternalError(BasicError):
|
||||
|
||||
def classify_error_type(e):
|
||||
patterns = [
|
||||
# Example: No module named 'openvino.offline_transformations.offline_transformations_api'
|
||||
# Example: No module named 'openvino._offline_transformations.offline_transformations_api'
|
||||
r"No module named \'\S+\'",
|
||||
# Example: cannot import name 'IECore' from 'openvino.inference_engine' (unknown location)
|
||||
r"cannot import name \'\S+\'",
|
||||
|
||||
@@ -8,7 +8,7 @@ from openvino.tools.mo.utils.error import classify_error_type
|
||||
|
||||
class TestingErrorClassifier(unittest.TestCase):
|
||||
def test_no_module(self):
|
||||
message = "No module named 'openvino.offline_transformations.offline_transformations_api'"
|
||||
message = "No module named 'openvino._offline_transformations.offline_transformations_api'"
|
||||
self.assertEqual(classify_error_type(message), message)
|
||||
|
||||
def test_no_module_neg(self):
|
||||
|
||||
Reference in new issue
Block a user