bigdl-core-npu 2.6.0b20250114__cp311-cp311-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
intel_npu_acceleration_library/external/openvino/preprocess/torchvision/preprocess_converter.py
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
from typing import Callable, Any, Union
|
6
|
+
import logging
|
7
|
+
|
8
|
+
import openvino.runtime as ov
|
9
|
+
|
10
|
+
|
11
|
+
class PreprocessConverter():
|
12
|
+
def __init__(self, model: ov.Model):
|
13
|
+
self._model = model
|
14
|
+
|
15
|
+
@staticmethod
|
16
|
+
def from_torchvision(model: ov.Model, transform: Callable, input_example: Any,
|
17
|
+
input_name: Union[str, None] = None) -> ov.Model:
|
18
|
+
"""Embed torchvision preprocessing in an OpenVINO model.
|
19
|
+
|
20
|
+
Arguments:
|
21
|
+
model (ov.Model):
|
22
|
+
Result name
|
23
|
+
transform (Callable):
|
24
|
+
torchvision transform to convert
|
25
|
+
input_example (torch.Tensor or np.ndarray or PIL.Image):
|
26
|
+
Example of input data for transform to trace its structure.
|
27
|
+
Don't confuse with the model input.
|
28
|
+
input_name (str, optional):
|
29
|
+
Name of the current model's input node to connect with preprocessing.
|
30
|
+
Not needed if the model has one input.
|
31
|
+
|
32
|
+
Returns:
|
33
|
+
ov.Mode: OpenVINO Model object with embedded preprocessing
|
34
|
+
Example:
|
35
|
+
>>> model = PreprocessorConvertor.from_torchvision(model, "input", transform, input_example)
|
36
|
+
"""
|
37
|
+
try:
|
38
|
+
import PIL
|
39
|
+
import torch
|
40
|
+
from torchvision import transforms
|
41
|
+
from .torchvision_preprocessing import _from_torchvision
|
42
|
+
return _from_torchvision(model, transform, input_example, input_name)
|
43
|
+
except ImportError as e:
|
44
|
+
raise ImportError(f"Please install torch, torchvision and pillow packages:\n{e}")
|
45
|
+
except Exception as e:
|
46
|
+
logging.error(f"Unexpected error: {e}")
|
47
|
+
raise e
|
intel_npu_acceleration_library/external/openvino/preprocess/torchvision/torchvision_preprocessing.py
ADDED
@@ -0,0 +1,347 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# mypy: disable-error-code="no-redef"
|
6
|
+
|
7
|
+
import numbers
|
8
|
+
import logging
|
9
|
+
import copy
|
10
|
+
import numpy as np
|
11
|
+
from typing import List, Dict
|
12
|
+
from abc import ABCMeta, abstractmethod
|
13
|
+
from functools import singledispatch
|
14
|
+
from typing import Callable, Any, Union, Tuple
|
15
|
+
from typing import Sequence as SequenceType
|
16
|
+
from collections.abc import Sequence
|
17
|
+
from PIL import Image
|
18
|
+
|
19
|
+
import torch
|
20
|
+
import torchvision.transforms as transforms
|
21
|
+
from torchvision.transforms import InterpolationMode
|
22
|
+
|
23
|
+
import openvino.runtime as ov
|
24
|
+
import openvino.runtime.opset11 as ops
|
25
|
+
from openvino.runtime import Layout, Type
|
26
|
+
from openvino.runtime.utils.decorators import custom_preprocess_function
|
27
|
+
from openvino.preprocess import PrePostProcessor, ResizeAlgorithm, ColorFormat
|
28
|
+
|
29
|
+
|
30
|
+
TORCHTYPE_TO_OVTYPE = {
|
31
|
+
float: ov.Type.f32,
|
32
|
+
int: ov.Type.i32,
|
33
|
+
bool: ov.Type.boolean,
|
34
|
+
torch.float16: ov.Type.f16,
|
35
|
+
torch.float32: ov.Type.f32,
|
36
|
+
torch.float64: ov.Type.f64,
|
37
|
+
torch.uint8: ov.Type.u8,
|
38
|
+
torch.int8: ov.Type.i8,
|
39
|
+
torch.int32: ov.Type.i32,
|
40
|
+
torch.int64: ov.Type.i64,
|
41
|
+
torch.bool: ov.Type.boolean,
|
42
|
+
torch.DoubleTensor: ov.Type.f64,
|
43
|
+
torch.FloatTensor: ov.Type.f32,
|
44
|
+
torch.IntTensor: ov.Type.i32,
|
45
|
+
torch.LongTensor: ov.Type.i64,
|
46
|
+
torch.BoolTensor: ov.Type.boolean,
|
47
|
+
}
|
48
|
+
|
49
|
+
|
50
|
+
@singledispatch
|
51
|
+
def _setup_size(size: Any, error_msg: str) -> SequenceType[int]:
|
52
|
+
raise ValueError(error_msg)
|
53
|
+
|
54
|
+
|
55
|
+
@_setup_size.register
|
56
|
+
def _setup_size_number(size: numbers.Number, error_msg: str) -> SequenceType[int]:
|
57
|
+
return int(size), int(size) # type: ignore
|
58
|
+
|
59
|
+
|
60
|
+
@_setup_size.register
|
61
|
+
def _setup_size_sequence(size: Sequence, error_msg: str) -> SequenceType[int]:
|
62
|
+
if len(size) == 1:
|
63
|
+
return size[0], size[0]
|
64
|
+
elif len(size) == 2:
|
65
|
+
return size[0], size[1]
|
66
|
+
raise ValueError(error_msg)
|
67
|
+
|
68
|
+
|
69
|
+
def _NHWC_to_NCHW(input_shape: List) -> List: # noqa N802
|
70
|
+
new_shape = copy.deepcopy(input_shape)
|
71
|
+
new_shape[1] = input_shape[3]
|
72
|
+
new_shape[2] = input_shape[1]
|
73
|
+
new_shape[3] = input_shape[2]
|
74
|
+
return new_shape
|
75
|
+
|
76
|
+
|
77
|
+
@singledispatch
|
78
|
+
def _to_list(transform: Callable) -> List:
|
79
|
+
raise TypeError(f"Unsupported transform type: {type(transform)}")
|
80
|
+
|
81
|
+
|
82
|
+
@_to_list.register
|
83
|
+
def _to_list_torch_sequential(transform: torch.nn.Sequential) -> List:
|
84
|
+
return list(transform)
|
85
|
+
|
86
|
+
|
87
|
+
@_to_list.register
|
88
|
+
def _to_list_transforms_compose(transform: transforms.Compose) -> List:
|
89
|
+
return transform.transforms
|
90
|
+
|
91
|
+
|
92
|
+
def _get_shape_layout_from_data(input_example: Union[torch.Tensor, np.ndarray, Image.Image]) -> Tuple[List, Layout]:
|
93
|
+
if isinstance(input_example, (torch.Tensor, np.ndarray, Image.Image)): # PyTorch, OpenCV, numpy, PILLOW
|
94
|
+
shape = list(np.array(input_example, copy=False).shape)
|
95
|
+
layout = Layout("NCHW") if isinstance(input_example, torch.Tensor) else Layout("NHWC")
|
96
|
+
else:
|
97
|
+
raise TypeError(f"Unsupported input type: {type(input_example)}")
|
98
|
+
|
99
|
+
if len(shape) == 3:
|
100
|
+
shape = [1] + shape
|
101
|
+
elif len(shape) != 4:
|
102
|
+
raise ValueError(f"Unsupported number of input dimensions: {len(shape)}")
|
103
|
+
|
104
|
+
return shape, layout
|
105
|
+
|
106
|
+
|
107
|
+
class TransformConverterBase(metaclass=ABCMeta):
|
108
|
+
|
109
|
+
def __init__(self, **kwargs: Any) -> None: # noqa B027
|
110
|
+
pass
|
111
|
+
|
112
|
+
@abstractmethod
|
113
|
+
def convert(self, input_idx: int, ppp: PrePostProcessor, transform: Callable, meta: Dict) -> None:
|
114
|
+
pass
|
115
|
+
|
116
|
+
|
117
|
+
class TransformConverterFactory:
|
118
|
+
|
119
|
+
registry: Dict[str, Callable] = {}
|
120
|
+
|
121
|
+
@classmethod
|
122
|
+
def register(cls: Callable, target_type: Union[Callable, None] = None) -> Callable:
|
123
|
+
def inner_wrapper(wrapped_class: TransformConverterBase) -> Callable:
|
124
|
+
registered_name = wrapped_class.__name__ if target_type is None else target_type.__name__
|
125
|
+
if registered_name in cls.registry:
|
126
|
+
logging.warning(f"Executor {registered_name} already exists. {wrapped_class.__name__} will replace it.")
|
127
|
+
cls.registry[registered_name] = wrapped_class
|
128
|
+
return wrapped_class # type: ignore
|
129
|
+
|
130
|
+
return inner_wrapper
|
131
|
+
|
132
|
+
@classmethod
|
133
|
+
def convert(cls: Callable, converter_type: Callable, *args: Any, **kwargs: Any) -> Callable:
|
134
|
+
transform_name = converter_type.__name__
|
135
|
+
if transform_name not in cls.registry:
|
136
|
+
raise ValueError(f"{transform_name} is not supported.")
|
137
|
+
|
138
|
+
converter = cls.registry[transform_name]()
|
139
|
+
return converter.convert(*args, **kwargs)
|
140
|
+
|
141
|
+
|
142
|
+
@TransformConverterFactory.register(transforms.Normalize)
|
143
|
+
class _(TransformConverterBase):
|
144
|
+
def convert(self, input_idx: int, ppp: PrePostProcessor, transform: Callable, meta: Dict) -> None:
|
145
|
+
if transform.inplace:
|
146
|
+
raise ValueError("Inplace Normaliziation is not supported.")
|
147
|
+
ppp.input(input_idx).preprocess().mean(transform.mean).scale(transform.std)
|
148
|
+
|
149
|
+
|
150
|
+
@TransformConverterFactory.register(transforms.ConvertImageDtype)
|
151
|
+
class _(TransformConverterBase):
|
152
|
+
def convert(self, input_idx: int, ppp: PrePostProcessor, transform: Callable, meta: Dict) -> None:
|
153
|
+
ppp.input(input_idx).preprocess().convert_element_type(TORCHTYPE_TO_OVTYPE[transform.dtype])
|
154
|
+
|
155
|
+
|
156
|
+
@TransformConverterFactory.register(transforms.Grayscale)
|
157
|
+
class _(TransformConverterBase):
|
158
|
+
def convert(self, input_idx: int, ppp: PrePostProcessor, transform: Callable, meta: Dict) -> None:
|
159
|
+
input_shape = meta["input_shape"]
|
160
|
+
layout = meta["layout"]
|
161
|
+
|
162
|
+
input_shape[layout.get_index_by_name("C")] = 1
|
163
|
+
|
164
|
+
ppp.input(input_idx).preprocess().convert_color(ColorFormat.GRAY)
|
165
|
+
if transform.num_output_channels != 1:
|
166
|
+
input_shape[layout.get_index_by_name("C")] = transform.num_output_channels
|
167
|
+
|
168
|
+
@custom_preprocess_function
|
169
|
+
def broadcast_node(output: ov.Output) -> Callable:
|
170
|
+
return ops.broadcast(
|
171
|
+
data=output,
|
172
|
+
target_shape=input_shape,
|
173
|
+
)
|
174
|
+
ppp.input(input_idx).preprocess().custom(broadcast_node)
|
175
|
+
|
176
|
+
meta["input_shape"] = input_shape
|
177
|
+
|
178
|
+
|
179
|
+
@TransformConverterFactory.register(transforms.Pad)
|
180
|
+
class _(TransformConverterBase):
|
181
|
+
def convert(self, input_idx: int, ppp: PrePostProcessor, transform: Callable, meta: Dict) -> None:
|
182
|
+
image_dimensions = list(meta["image_dimensions"])
|
183
|
+
layout = meta["layout"]
|
184
|
+
torch_padding = transform.padding
|
185
|
+
pad_mode = transform.padding_mode
|
186
|
+
|
187
|
+
if pad_mode == "constant":
|
188
|
+
if isinstance(transform.fill, tuple):
|
189
|
+
raise ValueError("Different fill values for R, G, B channels are not supported.")
|
190
|
+
|
191
|
+
pads_begin = [0 for _ in meta["input_shape"]]
|
192
|
+
pads_end = [0 for _ in meta["input_shape"]]
|
193
|
+
|
194
|
+
# padding equal on all sides
|
195
|
+
if isinstance(torch_padding, int):
|
196
|
+
image_dimensions[0] += 2 * torch_padding
|
197
|
+
image_dimensions[1] += 2 * torch_padding
|
198
|
+
|
199
|
+
pads_begin[layout.get_index_by_name("H")] = torch_padding
|
200
|
+
pads_begin[layout.get_index_by_name("W")] = torch_padding
|
201
|
+
pads_end[layout.get_index_by_name("H")] = torch_padding
|
202
|
+
pads_end[layout.get_index_by_name("W")] = torch_padding
|
203
|
+
|
204
|
+
# padding different in horizontal and vertical axis
|
205
|
+
elif len(torch_padding) == 2:
|
206
|
+
image_dimensions[0] += sum(torch_padding)
|
207
|
+
image_dimensions[1] += sum(torch_padding)
|
208
|
+
|
209
|
+
pads_begin[layout.get_index_by_name("H")] = torch_padding[1]
|
210
|
+
pads_begin[layout.get_index_by_name("W")] = torch_padding[0]
|
211
|
+
pads_end[layout.get_index_by_name("H")] = torch_padding[1]
|
212
|
+
pads_end[layout.get_index_by_name("W")] = torch_padding[0]
|
213
|
+
|
214
|
+
# padding different on top, bottom, left and right of image
|
215
|
+
else:
|
216
|
+
image_dimensions[0] += torch_padding[1] + torch_padding[3]
|
217
|
+
image_dimensions[1] += torch_padding[0] + torch_padding[2]
|
218
|
+
|
219
|
+
pads_begin[layout.get_index_by_name("H")] = torch_padding[1]
|
220
|
+
pads_begin[layout.get_index_by_name("W")] = torch_padding[0]
|
221
|
+
pads_end[layout.get_index_by_name("H")] = torch_padding[3]
|
222
|
+
pads_end[layout.get_index_by_name("W")] = torch_padding[2]
|
223
|
+
|
224
|
+
@custom_preprocess_function
|
225
|
+
def pad_node(output: ov.Output) -> Callable:
|
226
|
+
return ops.pad(
|
227
|
+
output,
|
228
|
+
pad_mode=pad_mode,
|
229
|
+
pads_begin=pads_begin,
|
230
|
+
pads_end=pads_end,
|
231
|
+
arg_pad_value=np.array(transform.fill, dtype=np.uint8) if pad_mode == "constant" else None,
|
232
|
+
)
|
233
|
+
|
234
|
+
ppp.input(input_idx).preprocess().custom(pad_node)
|
235
|
+
meta["image_dimensions"] = tuple(image_dimensions)
|
236
|
+
|
237
|
+
|
238
|
+
@TransformConverterFactory.register(transforms.ToTensor)
|
239
|
+
class _(TransformConverterBase):
|
240
|
+
def convert(self, input_idx: int, ppp: PrePostProcessor, transform: Callable, meta: Dict) -> None:
|
241
|
+
input_shape = meta["input_shape"]
|
242
|
+
layout = meta["layout"]
|
243
|
+
|
244
|
+
ppp.input(input_idx).tensor().set_element_type(Type.u8).set_layout(Layout("NHWC")).set_color_format(ColorFormat.RGB) # noqa ECE001
|
245
|
+
|
246
|
+
if layout == Layout("NHWC"):
|
247
|
+
input_shape = _NHWC_to_NCHW(input_shape)
|
248
|
+
layout = Layout("NCHW")
|
249
|
+
ppp.input(input_idx).preprocess().convert_layout(layout)
|
250
|
+
ppp.input(input_idx).preprocess().convert_element_type(Type.f32)
|
251
|
+
ppp.input(input_idx).preprocess().scale(255.0)
|
252
|
+
|
253
|
+
meta["input_shape"] = input_shape
|
254
|
+
meta["layout"] = layout
|
255
|
+
|
256
|
+
|
257
|
+
@TransformConverterFactory.register(transforms.CenterCrop)
|
258
|
+
class _(TransformConverterBase):
|
259
|
+
def convert(self, input_idx: int, ppp: PrePostProcessor, transform: Callable, meta: Dict) -> None:
|
260
|
+
input_shape = meta["input_shape"]
|
261
|
+
source_size = meta["image_dimensions"]
|
262
|
+
target_size = _setup_size(transform.size, "Incorrect size type for CenterCrop operation")
|
263
|
+
|
264
|
+
if target_size[0] > source_size[0] or target_size[1] > source_size[1]:
|
265
|
+
ValueError(f"CenterCrop size={target_size} is greater than source_size={source_size}")
|
266
|
+
|
267
|
+
bottom_left = []
|
268
|
+
bottom_left.append(int((source_size[0] - target_size[0]) / 2))
|
269
|
+
bottom_left.append(int((source_size[1] - target_size[1]) / 2))
|
270
|
+
|
271
|
+
top_right = []
|
272
|
+
top_right.append(min(bottom_left[0] + target_size[0], source_size[0] - 1))
|
273
|
+
top_right.append(min(bottom_left[1] + target_size[1], source_size[1] - 1))
|
274
|
+
|
275
|
+
bottom_left = [0] * len(input_shape[:-2]) + bottom_left if meta["layout"] == Layout("NCHW") else [0] + bottom_left + [0] # noqa ECE001
|
276
|
+
top_right = input_shape[:-2] + top_right if meta["layout"] == Layout("NCHW") else input_shape[:1] + top_right + input_shape[-1:]
|
277
|
+
|
278
|
+
ppp.input(input_idx).preprocess().crop(bottom_left, top_right)
|
279
|
+
meta["image_dimensions"] = (target_size[-2], target_size[-1])
|
280
|
+
|
281
|
+
|
282
|
+
@TransformConverterFactory.register(transforms.Resize)
|
283
|
+
class _(TransformConverterBase):
|
284
|
+
def convert(self, input_idx: int, ppp: PrePostProcessor, transform: Callable, meta: Dict) -> None:
|
285
|
+
resize_mode_map = {
|
286
|
+
InterpolationMode.NEAREST: ResizeAlgorithm.RESIZE_NEAREST,
|
287
|
+
InterpolationMode.BILINEAR: ResizeAlgorithm.RESIZE_BILINEAR_PILLOW,
|
288
|
+
InterpolationMode.BICUBIC: ResizeAlgorithm.RESIZE_BICUBIC_PILLOW,
|
289
|
+
}
|
290
|
+
if transform.max_size:
|
291
|
+
raise ValueError("Resize with max_size if not supported")
|
292
|
+
if transform.interpolation not in resize_mode_map.keys():
|
293
|
+
raise ValueError(f"Interpolation mode {transform.interpolation} is not supported.")
|
294
|
+
|
295
|
+
target_h, target_w = _setup_size(transform.size, "Incorrect size type for Resize operation")
|
296
|
+
|
297
|
+
# rescale the smaller image edge
|
298
|
+
current_h, current_w = meta["image_dimensions"]
|
299
|
+
if current_h > current_w:
|
300
|
+
target_h = int(transform.size * (current_h / current_w))
|
301
|
+
elif current_w > current_h:
|
302
|
+
target_w = int(transform.size * (current_w / current_h))
|
303
|
+
|
304
|
+
ppp.input(input_idx).tensor().set_layout(Layout("NCHW"))
|
305
|
+
|
306
|
+
input_shape = meta["input_shape"]
|
307
|
+
|
308
|
+
input_shape[meta["layout"].get_index_by_name("H")] = -1
|
309
|
+
input_shape[meta["layout"].get_index_by_name("W")] = -1
|
310
|
+
|
311
|
+
ppp.input(input_idx).tensor().set_shape(input_shape)
|
312
|
+
ppp.input(input_idx).preprocess().resize(resize_mode_map[transform.interpolation], target_h, target_w)
|
313
|
+
meta["input_shape"] = input_shape
|
314
|
+
meta["image_dimensions"] = (target_h, target_w)
|
315
|
+
|
316
|
+
|
317
|
+
def _from_torchvision(model: ov.Model, transform: Callable, input_example: Any, input_name: Union[str, None] = None) -> ov.Model:
|
318
|
+
|
319
|
+
if input_name is not None:
|
320
|
+
input_idx = next((i for i, p in enumerate(model.get_parameters()) if p.get_friendly_name() == input_name), None)
|
321
|
+
else:
|
322
|
+
if len(model.get_parameters()) == 1:
|
323
|
+
input_idx = 0
|
324
|
+
else:
|
325
|
+
raise ValueError("Model contains multiple inputs. Please specify the name of the input to which prepocessing is added.")
|
326
|
+
|
327
|
+
if input_idx is None:
|
328
|
+
raise ValueError(f"Input with name {input_name} is not found")
|
329
|
+
|
330
|
+
input_shape, layout = _get_shape_layout_from_data(input_example)
|
331
|
+
|
332
|
+
ppp = PrePostProcessor(model)
|
333
|
+
ppp.input(input_idx).tensor().set_layout(layout)
|
334
|
+
ppp.input(input_idx).tensor().set_shape(input_shape)
|
335
|
+
|
336
|
+
image_dimensions = [input_shape[layout.get_index_by_name("H")], input_shape[layout.get_index_by_name("W")]]
|
337
|
+
global_meta = {
|
338
|
+
"input_shape": input_shape,
|
339
|
+
"image_dimensions": image_dimensions,
|
340
|
+
"layout": layout,
|
341
|
+
}
|
342
|
+
|
343
|
+
for tm in _to_list(transform):
|
344
|
+
TransformConverterFactory.convert(type(tm), input_idx, ppp, tm, global_meta)
|
345
|
+
|
346
|
+
updated_model = ppp.build()
|
347
|
+
return updated_model
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# Enums
|
6
|
+
from openvino._pyopenvino.properties import Affinity
|
7
|
+
from openvino._pyopenvino.properties import CacheMode
|
8
|
+
from openvino._pyopenvino.properties import WorkloadType
|
9
|
+
|
10
|
+
# Properties
|
11
|
+
import openvino._pyopenvino.properties as __properties
|
12
|
+
from openvino.properties._properties import __make_properties
|
13
|
+
__make_properties(__properties, __name__)
|
14
|
+
|
15
|
+
# Submodules
|
16
|
+
from openvino.properties import hint
|
17
|
+
from openvino.properties import intel_cpu
|
18
|
+
from openvino.properties import intel_gpu
|
19
|
+
from openvino.properties import intel_auto
|
20
|
+
from openvino.properties import device
|
21
|
+
from openvino.properties import log
|
22
|
+
from openvino.properties import streams
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
import sys
|
6
|
+
from types import BuiltinFunctionType, ModuleType
|
7
|
+
from typing import Callable, Any, Union
|
8
|
+
|
9
|
+
|
10
|
+
class Property(str):
|
11
|
+
"""This class allows to make a string object callable. Call returns underlying string's data."""
|
12
|
+
def __new__(cls, prop: Callable[..., Any]): # type: ignore
|
13
|
+
instance = super().__new__(cls, prop())
|
14
|
+
instance.prop = prop
|
15
|
+
return instance
|
16
|
+
|
17
|
+
def __call__(self, *args: Any) -> Callable[..., Any]:
|
18
|
+
if args is not None:
|
19
|
+
return self.prop(*args)
|
20
|
+
return self.prop()
|
21
|
+
|
22
|
+
|
23
|
+
def __append_property_to_module(func: Callable[..., Any], target_module_name: str) -> None:
|
24
|
+
"""Modifies the target module's __getattr__ method to expose a python property wrapper by the function's name.
|
25
|
+
|
26
|
+
:param func: the function which will be transformed to behave as python property.
|
27
|
+
:param target_module_name: the name of the module to which properties are added.
|
28
|
+
"""
|
29
|
+
module = sys.modules[target_module_name]
|
30
|
+
|
31
|
+
def base_getattr(name: str) -> None:
|
32
|
+
raise AttributeError(
|
33
|
+
f"Module '{module.__name__}' doesn't have the attribute with name '{name}'.")
|
34
|
+
|
35
|
+
getattr_old = getattr(module, "__getattr__", base_getattr)
|
36
|
+
|
37
|
+
def getattr_new(name: str) -> Union[Callable[..., Any], Any]:
|
38
|
+
if func.__name__ == name:
|
39
|
+
return Property(func)
|
40
|
+
else:
|
41
|
+
return getattr_old(name)
|
42
|
+
|
43
|
+
module.__getattr__ = getattr_new # type: ignore
|
44
|
+
|
45
|
+
|
46
|
+
def __make_properties(source_module_of_properties: ModuleType, target_module_name: str) -> None:
|
47
|
+
"""Makes python properties in target module from functions found in the source module.
|
48
|
+
|
49
|
+
:param source_module_of_properties: the source module from which functions should be taken.
|
50
|
+
:param target_module_name: the name of the module to which properties are added.
|
51
|
+
"""
|
52
|
+
for attr in dir(source_module_of_properties):
|
53
|
+
func = getattr(source_module_of_properties, attr)
|
54
|
+
if isinstance(func, BuiltinFunctionType):
|
55
|
+
__append_property_to_module(func, target_module_name)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# Enums
|
6
|
+
from openvino._pyopenvino.properties.device import Type
|
7
|
+
|
8
|
+
# Properties
|
9
|
+
import openvino._pyopenvino.properties.device as __device
|
10
|
+
from openvino.properties._properties import __make_properties
|
11
|
+
__make_properties(__device, __name__)
|
12
|
+
|
13
|
+
# Classes
|
14
|
+
from openvino._pyopenvino.properties.device import Capability
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# Enums
|
6
|
+
from openvino._pyopenvino.properties.hint import Priority
|
7
|
+
from openvino._pyopenvino.properties.hint import SchedulingCoreType
|
8
|
+
from openvino._pyopenvino.properties.hint import ModelDistributionPolicy
|
9
|
+
from openvino._pyopenvino.properties.hint import ExecutionMode
|
10
|
+
from openvino._pyopenvino.properties.hint import PerformanceMode
|
11
|
+
|
12
|
+
# Properties
|
13
|
+
import openvino._pyopenvino.properties.hint as __hint
|
14
|
+
from openvino.properties._properties import __make_properties
|
15
|
+
__make_properties(__hint, __name__)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# Enums
|
6
|
+
from openvino._pyopenvino.properties.intel_auto import SchedulePolicy
|
7
|
+
|
8
|
+
# Properties
|
9
|
+
import openvino._pyopenvino.properties.intel_auto as __intel_auto
|
10
|
+
from openvino.properties._properties import __make_properties
|
11
|
+
|
12
|
+
__make_properties(__intel_auto, __name__)
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# Properties
|
6
|
+
import openvino._pyopenvino.properties.intel_cpu as __intel_cpu
|
7
|
+
from openvino.properties._properties import __make_properties
|
8
|
+
__make_properties(__intel_cpu, __name__)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# Properties
|
6
|
+
import openvino._pyopenvino.properties.intel_gpu as __intel_gpu
|
7
|
+
from openvino.properties._properties import __make_properties
|
8
|
+
__make_properties(__intel_gpu, __name__)
|
9
|
+
|
10
|
+
# Classes
|
11
|
+
from openvino._pyopenvino.properties.intel_gpu import MemoryType
|
12
|
+
from openvino._pyopenvino.properties.intel_gpu import CapabilityGPU
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# Properties
|
6
|
+
import openvino._pyopenvino.properties.intel_gpu.hint as __hint
|
7
|
+
from openvino.properties._properties import __make_properties
|
8
|
+
__make_properties(__hint, __name__)
|
9
|
+
|
10
|
+
# Classes
|
11
|
+
from openvino._pyopenvino.properties.intel_gpu.hint import ThrottleLevel
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# Enums
|
6
|
+
from openvino._pyopenvino.properties.log import Level
|
7
|
+
|
8
|
+
# Properties
|
9
|
+
import openvino._pyopenvino.properties.log as __log
|
10
|
+
from openvino.properties._properties import __make_properties
|
11
|
+
__make_properties(__log, __name__)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
# Classes
|
6
|
+
from openvino._pyopenvino.properties.streams import Num
|
7
|
+
|
8
|
+
# Properties
|
9
|
+
import openvino._pyopenvino.properties.streams as __streams
|
10
|
+
from openvino.properties._properties import __make_properties
|
11
|
+
__make_properties(__streams, __name__)
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
"""openvino module namespace, exposing factory functions for all ops and other classes."""
|
6
|
+
# noqa: F401
|
7
|
+
|
8
|
+
from openvino._pyopenvino import get_version
|
9
|
+
|
10
|
+
__version__ = get_version()
|
11
|
+
|
12
|
+
# Openvino pybind bindings and python extended classes
|
13
|
+
from openvino._pyopenvino import Symbol
|
14
|
+
from openvino._pyopenvino import Dimension
|
15
|
+
from openvino._pyopenvino import Input
|
16
|
+
from openvino._pyopenvino import Output
|
17
|
+
from openvino._pyopenvino import Node
|
18
|
+
from openvino._pyopenvino import Type
|
19
|
+
from openvino._pyopenvino import PartialShape
|
20
|
+
from openvino._pyopenvino import Shape
|
21
|
+
from openvino._pyopenvino import Strides
|
22
|
+
from openvino._pyopenvino import CoordinateDiff
|
23
|
+
from openvino._pyopenvino import DiscreteTypeInfo
|
24
|
+
from openvino._pyopenvino import AxisSet
|
25
|
+
from openvino._pyopenvino import AxisVector
|
26
|
+
from openvino._pyopenvino import Coordinate
|
27
|
+
from openvino._pyopenvino import Layout
|
28
|
+
from openvino._pyopenvino import ConstOutput
|
29
|
+
from openvino._pyopenvino import layout_helpers
|
30
|
+
from openvino._pyopenvino import OVAny
|
31
|
+
from openvino._pyopenvino import RTMap
|
32
|
+
from openvino.runtime.ie_api import Core
|
33
|
+
from openvino.runtime.ie_api import CompiledModel
|
34
|
+
from openvino.runtime.ie_api import InferRequest
|
35
|
+
from openvino.runtime.ie_api import Model
|
36
|
+
from openvino.runtime.ie_api import AsyncInferQueue
|
37
|
+
from openvino._pyopenvino import Version
|
38
|
+
from openvino._pyopenvino import Tensor
|
39
|
+
from openvino._pyopenvino import Extension
|
40
|
+
from openvino._pyopenvino import ProfilingInfo
|
41
|
+
from openvino._pyopenvino import get_batch
|
42
|
+
from openvino._pyopenvino import set_batch
|
43
|
+
from openvino._pyopenvino import serialize
|
44
|
+
from openvino._pyopenvino import save_model
|
45
|
+
from openvino._pyopenvino import shutdown
|
46
|
+
|
47
|
+
# Import opsets
|
48
|
+
from openvino.runtime import opset1
|
49
|
+
from openvino.runtime import opset2
|
50
|
+
from openvino.runtime import opset3
|
51
|
+
from openvino.runtime import opset4
|
52
|
+
from openvino.runtime import opset5
|
53
|
+
from openvino.runtime import opset6
|
54
|
+
from openvino.runtime import opset7
|
55
|
+
from openvino.runtime import opset8
|
56
|
+
from openvino.runtime import opset9
|
57
|
+
from openvino.runtime import opset10
|
58
|
+
from openvino.runtime import opset11
|
59
|
+
from openvino.runtime import opset12
|
60
|
+
from openvino.runtime import opset13
|
61
|
+
|
62
|
+
# Import properties API
|
63
|
+
from openvino.runtime import properties
|
64
|
+
|
65
|
+
# Helper functions for openvino module
|
66
|
+
from openvino.runtime.ie_api import tensor_from_file
|
67
|
+
from openvino.runtime.ie_api import compile_model
|
68
|
+
|
69
|
+
# Extend Node class to support binary operators
|
70
|
+
Node.__add__ = opset13.add
|
71
|
+
Node.__sub__ = opset13.subtract
|
72
|
+
Node.__mul__ = opset13.multiply
|
73
|
+
Node.__div__ = opset13.divide
|
74
|
+
Node.__truediv__ = opset13.divide
|
75
|
+
Node.__radd__ = lambda left, right: opset13.add(right, left)
|
76
|
+
Node.__rsub__ = lambda left, right: opset13.subtract(right, left)
|
77
|
+
Node.__rmul__ = lambda left, right: opset13.multiply(right, left)
|
78
|
+
Node.__rdiv__ = lambda left, right: opset13.divide(right, left)
|
79
|
+
Node.__rtruediv__ = lambda left, right: opset13.divide(right, left)
|
80
|
+
Node.__eq__ = opset13.equal
|
81
|
+
Node.__ne__ = opset13.not_equal
|
82
|
+
Node.__lt__ = opset13.less
|
83
|
+
Node.__le__ = opset13.less_equal
|
84
|
+
Node.__gt__ = opset13.greater
|
85
|
+
Node.__ge__ = opset13.greater_equal
|