bigdl-core-npu 2.6.0b20250114__cp310-cp310-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bigdl-core-npu/__init__.py +0 -0
- bigdl-core-npu/include/common.h +96 -0
- bigdl-core-npu/include/npu_llm.h +74 -0
- bigdl-core-npu/npu_llm.dll +0 -0
- bigdl-core-npu/npu_llm.lib +0 -0
- bigdl_core_npu-2.6.0b20250114.dist-info/METADATA +44 -0
- bigdl_core_npu-2.6.0b20250114.dist-info/RECORD +234 -0
- bigdl_core_npu-2.6.0b20250114.dist-info/WHEEL +5 -0
- bigdl_core_npu-2.6.0b20250114.dist-info/top_level.txt +2 -0
- intel_npu_acceleration_library/__init__.py +24 -0
- intel_npu_acceleration_library/_version.py +6 -0
- intel_npu_acceleration_library/backend/__init__.py +37 -0
- intel_npu_acceleration_library/backend/base.py +250 -0
- intel_npu_acceleration_library/backend/bindings.py +383 -0
- intel_npu_acceleration_library/backend/compression.py +24 -0
- intel_npu_acceleration_library/backend/convolution.py +58 -0
- intel_npu_acceleration_library/backend/factory.py +1161 -0
- intel_npu_acceleration_library/backend/linear.py +60 -0
- intel_npu_acceleration_library/backend/matmul.py +59 -0
- intel_npu_acceleration_library/backend/mlp.py +58 -0
- intel_npu_acceleration_library/backend/ops.py +142 -0
- intel_npu_acceleration_library/backend/qlinear.py +75 -0
- intel_npu_acceleration_library/backend/qmatmul.py +66 -0
- intel_npu_acceleration_library/backend/runtime.py +215 -0
- intel_npu_acceleration_library/backend/sdpa.py +107 -0
- intel_npu_acceleration_library/backend/tensor.py +1120 -0
- intel_npu_acceleration_library/backend/utils.py +70 -0
- intel_npu_acceleration_library/compiler.py +194 -0
- intel_npu_acceleration_library/device.py +230 -0
- intel_npu_acceleration_library/dtypes.py +155 -0
- intel_npu_acceleration_library/external/openvino/__init__.py +72 -0
- intel_npu_acceleration_library/external/openvino/_offline_transformations/__init__.py +21 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/experimental/__init__.py +14 -0
- intel_npu_acceleration_library/external/openvino/frontend/__init__.py +34 -0
- intel_npu_acceleration_library/external/openvino/frontend/frontend.py +44 -0
- intel_npu_acceleration_library/external/openvino/frontend/jax/__init__.py +15 -0
- intel_npu_acceleration_library/external/openvino/frontend/jax/jaxpr_decoder.py +293 -0
- intel_npu_acceleration_library/external/openvino/frontend/jax/passes.py +65 -0
- intel_npu_acceleration_library/external/openvino/frontend/jax/utils.py +182 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/__init__.py +15 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/__init__.py +15 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/__init__.py +19 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/fx_decoder.py +370 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/gptq.py +180 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/module_extension.py +39 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/patch_model.py +118 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/backend.py +131 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/backend_utils.py +85 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/compile.py +141 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/decompositions.py +116 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/execute.py +189 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/op_support.py +290 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/partition.py +126 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/ts_decoder.py +568 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/utils.py +258 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/__init__.py +16 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/graph_iterator.py +116 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/node_decoder.py +219 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/utils.py +481 -0
- intel_npu_acceleration_library/external/openvino/helpers/__init__.py +6 -0
- intel_npu_acceleration_library/external/openvino/helpers/packing.py +87 -0
- intel_npu_acceleration_library/external/openvino/preprocess/README.md +60 -0
- intel_npu_acceleration_library/external/openvino/preprocess/__init__.py +28 -0
- intel_npu_acceleration_library/external/openvino/preprocess/torchvision/__init__.py +15 -0
- intel_npu_acceleration_library/external/openvino/preprocess/torchvision/preprocess_converter.py +47 -0
- intel_npu_acceleration_library/external/openvino/preprocess/torchvision/requirements.txt +5 -0
- intel_npu_acceleration_library/external/openvino/preprocess/torchvision/torchvision_preprocessing.py +347 -0
- intel_npu_acceleration_library/external/openvino/properties/__init__.py +22 -0
- intel_npu_acceleration_library/external/openvino/properties/_properties.py +55 -0
- intel_npu_acceleration_library/external/openvino/properties/device/__init__.py +14 -0
- intel_npu_acceleration_library/external/openvino/properties/hint/__init__.py +15 -0
- intel_npu_acceleration_library/external/openvino/properties/intel_auto/__init__.py +12 -0
- intel_npu_acceleration_library/external/openvino/properties/intel_cpu/__init__.py +8 -0
- intel_npu_acceleration_library/external/openvino/properties/intel_gpu/__init__.py +12 -0
- intel_npu_acceleration_library/external/openvino/properties/intel_gpu/hint/__init__.py +11 -0
- intel_npu_acceleration_library/external/openvino/properties/log/__init__.py +11 -0
- intel_npu_acceleration_library/external/openvino/properties/streams/__init__.py +11 -0
- intel_npu_acceleration_library/external/openvino/runtime/__init__.py +85 -0
- intel_npu_acceleration_library/external/openvino/runtime/exceptions.py +17 -0
- intel_npu_acceleration_library/external/openvino/runtime/ie_api.py +631 -0
- intel_npu_acceleration_library/external/openvino/runtime/op/__init__.py +19 -0
- intel_npu_acceleration_library/external/openvino/runtime/op/util/__init__.py +22 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset1/__init__.py +112 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset1/ops.py +3068 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset10/__init__.py +179 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset10/ops.py +173 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset11/__init__.py +179 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset11/ops.py +107 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset12/__init__.py +180 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset12/ops.py +120 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset13/__init__.py +188 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset13/ops.py +398 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset14/__init__.py +190 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset14/ops.py +171 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset15/__init__.py +17 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset15/ops.py +276 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset2/__init__.py +118 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset2/ops.py +216 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset3/__init__.py +134 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset3/ops.py +638 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset4/__init__.py +145 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset4/ops.py +464 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset5/__init__.py +152 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset5/ops.py +372 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset6/__init__.py +154 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset6/ops.py +215 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset7/__init__.py +158 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset7/ops.py +169 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset8/__init__.py +169 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset8/ops.py +787 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset9/__init__.py +175 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset9/ops.py +341 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset_utils.py +22 -0
- intel_npu_acceleration_library/external/openvino/runtime/passes/__init__.py +19 -0
- intel_npu_acceleration_library/external/openvino/runtime/passes/graph_rewrite.py +33 -0
- intel_npu_acceleration_library/external/openvino/runtime/passes/manager.py +26 -0
- intel_npu_acceleration_library/external/openvino/runtime/properties/__init__.py +40 -0
- intel_npu_acceleration_library/external/openvino/runtime/properties/hint/__init__.py +25 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/__init__.py +7 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/broadcasting.py +44 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/__init__.py +8 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/data_dispatcher.py +447 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/wrappers.py +148 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/decorators.py +156 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/input_validation.py +133 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/node_factory.py +127 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/reduction.py +25 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/types.py +175 -0
- intel_npu_acceleration_library/external/openvino/tools/__init__.py +4 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/__init__.py +3 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/benchmark.py +186 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/main.py +695 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/parameters.py +199 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/__init__.py +3 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/constants.py +26 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/inputs_filling.py +482 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/logging.py +8 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/statistics_report.py +296 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/utils.py +836 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/__init__.py +20 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/__main__.py +10 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/cli_parser.py +633 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/convert.py +102 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/convert_data_type.py +82 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/convert_impl.py +550 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/environment_setup_utils.py +50 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/error.py +49 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/get_ov_update_message.py +16 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/help.py +45 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/logger.py +91 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/main.py +40 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/__init__.py +2 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/analysis.py +46 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/check_config.py +57 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/extractor.py +447 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/jax_frontend_utils.py +19 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/layout_utils.py +73 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/moc_emit_ir.py +32 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/offline_transformations.py +107 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/paddle_frontend_utils.py +83 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/pipeline.py +298 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/preprocessing.py +220 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/pytorch_frontend_utils.py +214 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/shape_utils.py +109 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/type_utils.py +82 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/ovc.py +13 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/telemetry_params.py +6 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/telemetry_stub.py +28 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/telemetry_utils.py +118 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/utils.py +196 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/version.py +80 -0
- intel_npu_acceleration_library/external/openvino/torch/__init__.py +5 -0
- intel_npu_acceleration_library/external/openvino/utils.py +115 -0
- intel_npu_acceleration_library/functional/__init__.py +8 -0
- intel_npu_acceleration_library/functional/scaled_dot_product_attention.py +47 -0
- intel_npu_acceleration_library/lib/Release/cache.json +113732 -0
- intel_npu_acceleration_library/lib/Release/intel_npu_acceleration_library.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_auto_batch_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_auto_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_c.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_hetero_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_intel_cpu_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_intel_gpu_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_intel_npu_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_ir_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_onnx_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_paddle_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_pytorch_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_tensorflow_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_tensorflow_lite_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbb12.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbb12_debug.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbbind_2_5.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbbind_2_5_debug.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbmalloc.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbmalloc_debug.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbmalloc_proxy.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbmalloc_proxy_debug.dll +0 -0
- intel_npu_acceleration_library/modelling.py +150 -0
- intel_npu_acceleration_library/nn/__init__.py +20 -0
- intel_npu_acceleration_library/nn/autograd.py +68 -0
- intel_npu_acceleration_library/nn/conv.py +257 -0
- intel_npu_acceleration_library/nn/functional.py +1207 -0
- intel_npu_acceleration_library/nn/linear.py +162 -0
- intel_npu_acceleration_library/nn/llm.py +417 -0
- intel_npu_acceleration_library/nn/module.py +393 -0
- intel_npu_acceleration_library/optimizations.py +157 -0
- intel_npu_acceleration_library/quantization.py +174 -0
@@ -0,0 +1,196 @@
|
|
1
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
3
|
+
|
4
|
+
import importlib.util
|
5
|
+
import logging as log
|
6
|
+
import numpy as np
|
7
|
+
import os
|
8
|
+
import sys
|
9
|
+
from openvino.tools.ovc.error import Error
|
10
|
+
from typing import Iterable, Union
|
11
|
+
|
12
|
+
try:
|
13
|
+
import openvino_telemetry as tm
|
14
|
+
from openvino_telemetry.backend import backend_ga4
|
15
|
+
except ImportError:
|
16
|
+
import openvino.tools.ovc.telemetry_stub as tm
|
17
|
+
|
18
|
+
if sys.version_info < (3, 8):
|
19
|
+
import importlib_metadata
|
20
|
+
else:
|
21
|
+
import importlib.metadata as importlib_metadata
|
22
|
+
|
23
|
+
dynamic_dimension = np.ma.masked
|
24
|
+
|
25
|
+
|
26
|
+
def refer_to_faq_msg(question_num: int):
|
27
|
+
try:
|
28
|
+
t = tm.Telemetry()
|
29
|
+
t.send_event('ovc', 'error_info', "faq:" + str(question_num))
|
30
|
+
except Exception:
|
31
|
+
# Telemetry can be not initialized if it is used in MO IR Reader
|
32
|
+
pass
|
33
|
+
|
34
|
+
return '\n For more information please refer to Model Conversion API FAQ, question #{0}. ' \
|
35
|
+
'(https://docs.openvino.ai/2023.0/openvino_docs_MO_DG_prepare_model_Model_Optimizer_FAQ.html' \
|
36
|
+
'?question={0}#question-{0})'.format(question_num)
|
37
|
+
|
38
|
+
|
39
|
+
def get_mo_root_dir():
|
40
|
+
"""
|
41
|
+
Return the absolute path to the Model Conversion API root directory (where mo folder is located)
|
42
|
+
:return: path to the MO root directory
|
43
|
+
"""
|
44
|
+
return os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(os.path.realpath(__file__))), os.pardir))
|
45
|
+
|
46
|
+
|
47
|
+
def check_values_equal(val1, val2):
|
48
|
+
# This method is needed to check equality of values where some values can be None
|
49
|
+
if val1 is None and val2 is None:
|
50
|
+
return True
|
51
|
+
if val1 is None:
|
52
|
+
return False
|
53
|
+
if val2 is None:
|
54
|
+
return False
|
55
|
+
return val1 == val2
|
56
|
+
|
57
|
+
|
58
|
+
np_map_cast = {bool: lambda x: bool_cast(x),
|
59
|
+
np.int8: lambda x: np.int8(x),
|
60
|
+
np.int16: lambda x: np.int16(x),
|
61
|
+
np.int32: lambda x: np.int32(x),
|
62
|
+
np.int64: lambda x: np.int64(x),
|
63
|
+
np.uint8: lambda x: np.uint8(x),
|
64
|
+
np.uint16: lambda x: np.uint16(x),
|
65
|
+
np.uint32: lambda x: np.uint32(x),
|
66
|
+
np.uint64: lambda x: np.uint64(x),
|
67
|
+
np.float16: lambda x: np.float16(x),
|
68
|
+
np.float32: lambda x: np.float32(x),
|
69
|
+
np.double: lambda x: np.double(x),
|
70
|
+
str: lambda x: str(x)}
|
71
|
+
|
72
|
+
|
73
|
+
def bool_cast(x):
|
74
|
+
if isinstance(x, str):
|
75
|
+
return False if x.lower() in ['false', '0'] else True if x.lower() in ['true', '1'] else 'unknown_boolean_cast'
|
76
|
+
else:
|
77
|
+
return bool(x)
|
78
|
+
|
79
|
+
|
80
|
+
def mo_array(value: Union[Iterable[Union[float, int]], float, int], dtype=None) -> np.ndarray:
|
81
|
+
"""
|
82
|
+
This function acts in a same way as np.array except for the case when dtype is not provided
|
83
|
+
and np.array return fp64 array this function returns fp32 array
|
84
|
+
"""
|
85
|
+
x = np.array(value, dtype=dtype)
|
86
|
+
if not isinstance(value, np.ndarray) and x.dtype == np.float64 and dtype != np.float64:
|
87
|
+
x = x.astype(np.float32)
|
88
|
+
return x
|
89
|
+
|
90
|
+
|
91
|
+
def validate_batch_in_shape(shape, layer_name: str):
|
92
|
+
"""
|
93
|
+
Raises Error #39 if shape is not valid for setting batch size
|
94
|
+
Parameters
|
95
|
+
----------
|
96
|
+
shape: current shape of layer under validation
|
97
|
+
layer_name: name of layer under validation
|
98
|
+
"""
|
99
|
+
if len(shape) == 0 or (shape[0] is not dynamic_dimension and shape[0] not in (-1, 0, 1)):
|
100
|
+
raise Error(('The input layer {} has a shape {} defined in the model. \n\n' +
|
101
|
+
'When you use "batch" option, Model Conversion API applies its value to the first ' +
|
102
|
+
'element of the shape if it is equal to -1, 0 or 1. Otherwise, this is the ambiguous ' +
|
103
|
+
'situation - it is not known in advance whether the layer has the batch ' +
|
104
|
+
'dimension or not.\n\n For example, you want to set batch dimension equals 100 ' +
|
105
|
+
'for the input layer "data" with shape (10,34). Although you can not use "batch", ' +
|
106
|
+
'you should pass "input_shape=[100,34]" instead of "batch=100". \n\n' +
|
107
|
+
'You can also specify batch dimension by setting "layout". \n\n')
|
108
|
+
.format(layer_name, shape))
|
109
|
+
|
110
|
+
|
111
|
+
def get_ir_version():
|
112
|
+
"""
|
113
|
+
Default IR version.
|
114
|
+
:return: the IR version
|
115
|
+
"""
|
116
|
+
return 11
|
117
|
+
|
118
|
+
|
119
|
+
def import_openvino_tokenizers():
|
120
|
+
# extract openvino version
|
121
|
+
if importlib.util.find_spec("openvino") is None:
|
122
|
+
return False
|
123
|
+
try:
|
124
|
+
from openvino import get_version
|
125
|
+
openvino_version = get_version()
|
126
|
+
openvino_available = True
|
127
|
+
except ImportError:
|
128
|
+
openvino_available = False
|
129
|
+
if not openvino_available:
|
130
|
+
return False
|
131
|
+
|
132
|
+
if importlib.util.find_spec("openvino_tokenizers") is None:
|
133
|
+
return False
|
134
|
+
|
135
|
+
try:
|
136
|
+
pip_metadata_version = importlib_metadata.version("openvino")
|
137
|
+
except importlib_metadata.PackageNotFoundError:
|
138
|
+
pip_metadata_version = False
|
139
|
+
try:
|
140
|
+
pip_metadata_version = importlib_metadata.version("openvino-nightly")
|
141
|
+
is_nightly = True
|
142
|
+
except importlib_metadata.PackageNotFoundError:
|
143
|
+
is_nightly = False
|
144
|
+
|
145
|
+
try:
|
146
|
+
import openvino_tokenizers # pylint: disable=no-name-in-module,import-error
|
147
|
+
|
148
|
+
openvino_tokenizers._get_factory()
|
149
|
+
except RuntimeError:
|
150
|
+
tokenizers_version = openvino_tokenizers.__version__
|
151
|
+
|
152
|
+
if tokenizers_version == "0.0.0.0":
|
153
|
+
try:
|
154
|
+
tokenizers_version = importlib_metadata.version("openvino_tokenizers") or tokenizers_version
|
155
|
+
except importlib_metadata.PackageNotFoundError:
|
156
|
+
pass
|
157
|
+
message = (
|
158
|
+
"OpenVINO and OpenVINO Tokenizers versions are not binary compatible.\n"
|
159
|
+
f"OpenVINO version: {openvino_version}\n"
|
160
|
+
f"OpenVINO Tokenizers version: {tokenizers_version}\n"
|
161
|
+
"First 3 numbers should be the same. Update OpenVINO Tokenizers to compatible version. "
|
162
|
+
)
|
163
|
+
if not pip_metadata_version:
|
164
|
+
message += (
|
165
|
+
"For archive installation of OpenVINO try to build OpenVINO Tokenizers from source: "
|
166
|
+
"https://github.com/openvinotoolkit/openvino_tokenizers/tree/master?tab=readme-ov-file"
|
167
|
+
"#build-and-install-from-source"
|
168
|
+
)
|
169
|
+
if sys.platform == "linux":
|
170
|
+
message += (
|
171
|
+
"\nThe PyPI version of OpenVINO Tokenizers is built on CentOS and may not be compatible with other "
|
172
|
+
"Linux distributions; rebuild OpenVINO Tokenizers from source."
|
173
|
+
)
|
174
|
+
else:
|
175
|
+
message += (
|
176
|
+
"It is recommended to use the same day builds for pre-release version. "
|
177
|
+
"To install both OpenVINO and OpenVINO Tokenizers release version perform:\n"
|
178
|
+
)
|
179
|
+
if is_nightly:
|
180
|
+
message += "pip uninstall -y openvino-nightly && "
|
181
|
+
message += "pip install --force-reinstall openvino openvino-tokenizers\n"
|
182
|
+
if is_nightly:
|
183
|
+
message += (
|
184
|
+
"openvino-nightly package will be deprecated in the future - use pre-release drops instead. "
|
185
|
+
)
|
186
|
+
message += "To update both OpenVINO and OpenVINO Tokenizers to the latest pre-release version perform:\n"
|
187
|
+
if is_nightly:
|
188
|
+
message += "pip uninstall -y openvino-nightly && "
|
189
|
+
message += (
|
190
|
+
"pip install --pre -U openvino openvino-tokenizers "
|
191
|
+
"--extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly"
|
192
|
+
)
|
193
|
+
log.warning(message)
|
194
|
+
return False
|
195
|
+
|
196
|
+
return True
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
3
|
+
|
4
|
+
import re
|
5
|
+
|
6
|
+
from openvino.runtime import get_version as get_ie_version # pylint: disable=no-name-in-module,import-error
|
7
|
+
|
8
|
+
|
9
|
+
def extract_release_version(version: str):
|
10
|
+
patterns = [
|
11
|
+
# captures release version set by CI for example: '2021.1.0-1028-55e4d5673a8'
|
12
|
+
r"^([0-9]+).([0-9]+)*",
|
13
|
+
# captures release version generated by MO from release branch, for example: 'custom_releases/2021/1_55e4d567'
|
14
|
+
r"_releases/([0-9]+)/([0-9]+)_*"
|
15
|
+
]
|
16
|
+
|
17
|
+
for pattern in patterns:
|
18
|
+
m = re.search(pattern, version)
|
19
|
+
if m and len(m.groups()) == 2:
|
20
|
+
return m.group(1), m.group(2)
|
21
|
+
return None, None
|
22
|
+
|
23
|
+
|
24
|
+
def simplify_version(version: str):
|
25
|
+
release_version = extract_release_version(version)
|
26
|
+
if release_version == (None, None):
|
27
|
+
return "custom"
|
28
|
+
return "{}.{}".format(*release_version)
|
29
|
+
|
30
|
+
|
31
|
+
def get_simplified_ie_version(version=None):
|
32
|
+
from openvino.runtime import get_version # pylint: disable=no-name-in-module,import-error
|
33
|
+
if version is None:
|
34
|
+
version = get_version()
|
35
|
+
|
36
|
+
# To support legacy OV versions
|
37
|
+
m = re.match(r"^([0-9]+).([0-9]+).(.*)", version)
|
38
|
+
if m and len(m.groups()) == 3:
|
39
|
+
return simplify_version(m.group(3))
|
40
|
+
return simplify_version(version)
|
41
|
+
|
42
|
+
|
43
|
+
def extract_hash_from_version(full_version: str):
|
44
|
+
res = re.findall(r'[-_]([a-f0-9]{7,40})', full_version)
|
45
|
+
if len(res) > 0:
|
46
|
+
return res[0]
|
47
|
+
else:
|
48
|
+
return None
|
49
|
+
|
50
|
+
|
51
|
+
class SingletonMetaClass(type):
|
52
|
+
def __init__(self, cls_name, super_classes, dic):
|
53
|
+
self.__single_instance = None
|
54
|
+
super().__init__(cls_name, super_classes, dic)
|
55
|
+
|
56
|
+
def __call__(cls, *args, **kwargs):
|
57
|
+
if cls.__single_instance is None:
|
58
|
+
cls.__single_instance = super(SingletonMetaClass, cls).__call__(*args, **kwargs)
|
59
|
+
return cls.__single_instance
|
60
|
+
|
61
|
+
|
62
|
+
class VersionChecker(metaclass=SingletonMetaClass):
|
63
|
+
def __init__(self):
|
64
|
+
self.runtime_checked = False
|
65
|
+
self.mo_version = None
|
66
|
+
self.ie_version = None
|
67
|
+
self.mo_simplified_version = None
|
68
|
+
self.ie_simplified_version = None
|
69
|
+
|
70
|
+
def get_ie_version(self):
|
71
|
+
if self.ie_version:
|
72
|
+
return self.ie_version
|
73
|
+
self.ie_version = get_ie_version()
|
74
|
+
return self.ie_version
|
75
|
+
|
76
|
+
def get_ie_simplified_version(self):
|
77
|
+
if self.ie_simplified_version:
|
78
|
+
return self.ie_simplified_version
|
79
|
+
self.ie_simplified_version = get_simplified_ie_version()
|
80
|
+
return self.ie_simplified_version
|
@@ -0,0 +1,115 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
import os
|
6
|
+
import sys
|
7
|
+
from functools import wraps
|
8
|
+
from typing import Callable, Any
|
9
|
+
from pathlib import Path
|
10
|
+
|
11
|
+
|
12
|
+
def _add_openvino_libs_to_search_path() -> None:
|
13
|
+
"""Add OpenVINO libraries to the DLL search path on Windows."""
|
14
|
+
if sys.platform == "win32":
|
15
|
+
# Installer, yum, pip installs openvino dlls to the different directories
|
16
|
+
# and those paths need to be visible to the openvino modules
|
17
|
+
#
|
18
|
+
# If you're using a custom installation of openvino,
|
19
|
+
# add the location of openvino dlls to your system PATH.
|
20
|
+
openvino_libs = []
|
21
|
+
if os.path.isdir(os.path.join(os.path.dirname(__file__), "libs")):
|
22
|
+
# looking for the libs in the pip installation path.
|
23
|
+
openvino_libs.append(os.path.join(os.path.dirname(__file__), "libs"))
|
24
|
+
elif os.path.isdir(os.path.join(os.path.dirname(__file__), "..", "..", "..", "Library", "bin")):
|
25
|
+
# looking for the libs in the conda installation path
|
26
|
+
openvino_libs.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "Library", "bin"))
|
27
|
+
else:
|
28
|
+
# setupvars.bat script set all libs paths to OPENVINO_LIB_PATHS environment variable.
|
29
|
+
openvino_libs_installer = os.getenv("OPENVINO_LIB_PATHS")
|
30
|
+
if openvino_libs_installer:
|
31
|
+
openvino_libs.extend(openvino_libs_installer.split(";"))
|
32
|
+
else:
|
33
|
+
sys.exit("Error: Please set the OPENVINO_LIB_PATHS environment variable. "
|
34
|
+
"If you use an install package, please, run setupvars.bat")
|
35
|
+
for lib in openvino_libs:
|
36
|
+
lib_path = os.path.join(os.path.dirname(__file__), lib)
|
37
|
+
if os.path.isdir(lib_path):
|
38
|
+
# On Windows, with Python >= 3.8, DLLs are no longer imported from the PATH.
|
39
|
+
os.add_dll_directory(os.path.abspath(lib_path))
|
40
|
+
|
41
|
+
|
42
|
+
def get_cmake_path() -> str:
|
43
|
+
"""Searches for the directory containing CMake files within the package install directory.
|
44
|
+
|
45
|
+
:return: The path to the directory containing CMake files, if found. Otherwise, returns empty string.
|
46
|
+
:rtype: str
|
47
|
+
"""
|
48
|
+
package_path = Path(__file__).parent
|
49
|
+
cmake_file = "OpenVINOConfig.cmake"
|
50
|
+
|
51
|
+
for dirpath, _, filenames in os.walk(package_path):
|
52
|
+
if cmake_file in filenames:
|
53
|
+
return dirpath
|
54
|
+
|
55
|
+
return ""
|
56
|
+
|
57
|
+
|
58
|
+
def deprecated(name: Any = None, version: str = "", message: str = "", stacklevel: int = 2) -> Callable[..., Any]:
|
59
|
+
"""Prints deprecation warning "{function_name} is deprecated and will be removed in version {version}. {message}" and runs the function.
|
60
|
+
|
61
|
+
:param version: The version in which the code will be removed.
|
62
|
+
:param message: A message explaining why the function is deprecated and/or what to use instead.
|
63
|
+
"""
|
64
|
+
|
65
|
+
def decorator(wrapped: Callable[..., Any]) -> Callable[..., Any]:
|
66
|
+
@wraps(wrapped)
|
67
|
+
def wrapper(*args: Any, **kwargs: Any) -> Callable[..., Any]:
|
68
|
+
# it must be imported here; otherwise, there are errors with no loaded DLL for Windows
|
69
|
+
from openvino._pyopenvino.util import deprecation_warning
|
70
|
+
|
71
|
+
deprecation_warning(wrapped.__name__ if name is None else name, version, message, stacklevel)
|
72
|
+
return wrapped(*args, **kwargs)
|
73
|
+
|
74
|
+
return wrapper
|
75
|
+
|
76
|
+
return decorator
|
77
|
+
|
78
|
+
|
79
|
+
# WA method since Python 3.11 does not support @classmethod and @property chain,
|
80
|
+
# currently only read-only properties are supported.
|
81
|
+
class _ClassPropertyDescriptor(object):
|
82
|
+
def __init__(self, fget: Callable):
|
83
|
+
self.fget = fget
|
84
|
+
|
85
|
+
def __get__(self, obj: Any, cls: Any = None) -> Any:
|
86
|
+
if cls is None:
|
87
|
+
cls = type(obj)
|
88
|
+
return self.fget.__get__(obj, cls)()
|
89
|
+
|
90
|
+
|
91
|
+
def classproperty(func: Any) -> _ClassPropertyDescriptor:
|
92
|
+
if not isinstance(func, (classmethod, staticmethod)):
|
93
|
+
func = classmethod(func)
|
94
|
+
return _ClassPropertyDescriptor(func)
|
95
|
+
|
96
|
+
|
97
|
+
def deprecatedclassproperty(name: Any = None, version: str = "", message: str = "", stacklevel: int = 2) -> Callable[[Any], _ClassPropertyDescriptor]:
|
98
|
+
def decorator(wrapped: Any) -> _ClassPropertyDescriptor:
|
99
|
+
func = classproperty(wrapped)
|
100
|
+
|
101
|
+
# Override specific instance
|
102
|
+
def _patch(instance: _ClassPropertyDescriptor, func: Callable[..., Any]) -> None:
|
103
|
+
cls_: Any = type(instance)
|
104
|
+
|
105
|
+
class _(cls_): # noqa: N801
|
106
|
+
@func
|
107
|
+
def __get__(self, obj: Any, cls: Any = None) -> Any:
|
108
|
+
return super().__get__(obj, cls)
|
109
|
+
|
110
|
+
instance.__class__ = _
|
111
|
+
|
112
|
+
# Add `deprecated` decorator on the top of `__get__`
|
113
|
+
_patch(func, deprecated(name, version, message, stacklevel))
|
114
|
+
return func
|
115
|
+
return decorator
|
@@ -0,0 +1,47 @@
|
|
1
|
+
#
|
2
|
+
# Copyright © 2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache 2.0
|
4
|
+
#
|
5
|
+
from intel_npu_acceleration_library.backend import run_factory, SDPA, SimpleSDPA
|
6
|
+
from typing import Optional
|
7
|
+
from functools import partial
|
8
|
+
import torch
|
9
|
+
|
10
|
+
|
11
|
+
def scaled_dot_product_attention(
|
12
|
+
query: torch.Tensor,
|
13
|
+
key: torch.Tensor,
|
14
|
+
value: torch.Tensor,
|
15
|
+
attn_mask: torch.Tensor = None,
|
16
|
+
dropout_p: float = 0.0,
|
17
|
+
is_causal: bool = False,
|
18
|
+
scale: Optional[float] = None,
|
19
|
+
) -> torch.Tensor:
|
20
|
+
"""Execute SDPA kernel.
|
21
|
+
|
22
|
+
Args:
|
23
|
+
query (torch.Tensor): query tensor
|
24
|
+
key (torch.Tensor): key tensor
|
25
|
+
value (torch.Tensor): value tensor
|
26
|
+
attn_mask (torch.Tensor, optional): attention mask tensor. Defaults to None.
|
27
|
+
dropout_p (float, optional): optional dropout. Defaults to 0.0.
|
28
|
+
is_causal (bool, optional): enable causal mask. Defaults to False.
|
29
|
+
scale (Optional[float], optional): custom scale. Defaults to None.
|
30
|
+
|
31
|
+
Raises:
|
32
|
+
RuntimeError: _description_
|
33
|
+
|
34
|
+
Returns:
|
35
|
+
torch.Tensor: _description_
|
36
|
+
"""
|
37
|
+
if dropout_p != 0:
|
38
|
+
raise RuntimeError("dropout_p != 0 is not supported yet")
|
39
|
+
if scale is not None:
|
40
|
+
raise RuntimeError("scale != 0 is not supported yet")
|
41
|
+
|
42
|
+
if attn_mask is None:
|
43
|
+
backend_cls = partial(SimpleSDPA, is_causal=is_causal) # type: ignore
|
44
|
+
return run_factory([query, key, value], [], backend_cls)
|
45
|
+
else:
|
46
|
+
backend_cls = partial(SDPA, is_causal=is_causal) # type: ignore
|
47
|
+
return run_factory([query, key, value, attn_mask], [], backend_cls)
|