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.
Files changed (234) hide show
  1. bigdl-core-npu/__init__.py +0 -0
  2. bigdl-core-npu/include/common.h +96 -0
  3. bigdl-core-npu/include/npu_llm.h +74 -0
  4. bigdl-core-npu/npu_llm.dll +0 -0
  5. bigdl-core-npu/npu_llm.lib +0 -0
  6. bigdl_core_npu-2.6.0b20250114.dist-info/METADATA +44 -0
  7. bigdl_core_npu-2.6.0b20250114.dist-info/RECORD +234 -0
  8. bigdl_core_npu-2.6.0b20250114.dist-info/WHEEL +5 -0
  9. bigdl_core_npu-2.6.0b20250114.dist-info/top_level.txt +2 -0
  10. intel_npu_acceleration_library/__init__.py +24 -0
  11. intel_npu_acceleration_library/_version.py +6 -0
  12. intel_npu_acceleration_library/backend/__init__.py +37 -0
  13. intel_npu_acceleration_library/backend/base.py +250 -0
  14. intel_npu_acceleration_library/backend/bindings.py +383 -0
  15. intel_npu_acceleration_library/backend/compression.py +24 -0
  16. intel_npu_acceleration_library/backend/convolution.py +58 -0
  17. intel_npu_acceleration_library/backend/factory.py +1161 -0
  18. intel_npu_acceleration_library/backend/linear.py +60 -0
  19. intel_npu_acceleration_library/backend/matmul.py +59 -0
  20. intel_npu_acceleration_library/backend/mlp.py +58 -0
  21. intel_npu_acceleration_library/backend/ops.py +142 -0
  22. intel_npu_acceleration_library/backend/qlinear.py +75 -0
  23. intel_npu_acceleration_library/backend/qmatmul.py +66 -0
  24. intel_npu_acceleration_library/backend/runtime.py +215 -0
  25. intel_npu_acceleration_library/backend/sdpa.py +107 -0
  26. intel_npu_acceleration_library/backend/tensor.py +1120 -0
  27. intel_npu_acceleration_library/backend/utils.py +70 -0
  28. intel_npu_acceleration_library/compiler.py +194 -0
  29. intel_npu_acceleration_library/device.py +230 -0
  30. intel_npu_acceleration_library/dtypes.py +155 -0
  31. intel_npu_acceleration_library/external/openvino/__init__.py +72 -0
  32. intel_npu_acceleration_library/external/openvino/_offline_transformations/__init__.py +21 -0
  33. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp310-win_amd64.pyd +0 -0
  34. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp311-win_amd64.pyd +0 -0
  35. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp312-win_amd64.pyd +0 -0
  36. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp38-win_amd64.pyd +0 -0
  37. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp39-win_amd64.pyd +0 -0
  38. intel_npu_acceleration_library/external/openvino/experimental/__init__.py +14 -0
  39. intel_npu_acceleration_library/external/openvino/frontend/__init__.py +34 -0
  40. intel_npu_acceleration_library/external/openvino/frontend/frontend.py +44 -0
  41. intel_npu_acceleration_library/external/openvino/frontend/jax/__init__.py +15 -0
  42. intel_npu_acceleration_library/external/openvino/frontend/jax/jaxpr_decoder.py +293 -0
  43. intel_npu_acceleration_library/external/openvino/frontend/jax/passes.py +65 -0
  44. intel_npu_acceleration_library/external/openvino/frontend/jax/utils.py +182 -0
  45. intel_npu_acceleration_library/external/openvino/frontend/onnx/__init__.py +15 -0
  46. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp310-win_amd64.pyd +0 -0
  47. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp311-win_amd64.pyd +0 -0
  48. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp312-win_amd64.pyd +0 -0
  49. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp38-win_amd64.pyd +0 -0
  50. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp39-win_amd64.pyd +0 -0
  51. intel_npu_acceleration_library/external/openvino/frontend/paddle/__init__.py +15 -0
  52. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp310-win_amd64.pyd +0 -0
  53. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp311-win_amd64.pyd +0 -0
  54. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp312-win_amd64.pyd +0 -0
  55. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp38-win_amd64.pyd +0 -0
  56. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp39-win_amd64.pyd +0 -0
  57. intel_npu_acceleration_library/external/openvino/frontend/pytorch/__init__.py +19 -0
  58. intel_npu_acceleration_library/external/openvino/frontend/pytorch/fx_decoder.py +370 -0
  59. intel_npu_acceleration_library/external/openvino/frontend/pytorch/gptq.py +180 -0
  60. intel_npu_acceleration_library/external/openvino/frontend/pytorch/module_extension.py +39 -0
  61. intel_npu_acceleration_library/external/openvino/frontend/pytorch/patch_model.py +118 -0
  62. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp310-win_amd64.pyd +0 -0
  63. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp311-win_amd64.pyd +0 -0
  64. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp312-win_amd64.pyd +0 -0
  65. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp38-win_amd64.pyd +0 -0
  66. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp39-win_amd64.pyd +0 -0
  67. intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/backend.py +131 -0
  68. intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/backend_utils.py +85 -0
  69. intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/compile.py +141 -0
  70. intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/decompositions.py +116 -0
  71. intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/execute.py +189 -0
  72. intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/op_support.py +290 -0
  73. intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/partition.py +126 -0
  74. intel_npu_acceleration_library/external/openvino/frontend/pytorch/ts_decoder.py +568 -0
  75. intel_npu_acceleration_library/external/openvino/frontend/pytorch/utils.py +258 -0
  76. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/__init__.py +16 -0
  77. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/graph_iterator.py +116 -0
  78. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/node_decoder.py +219 -0
  79. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp310-win_amd64.pyd +0 -0
  80. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp311-win_amd64.pyd +0 -0
  81. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp312-win_amd64.pyd +0 -0
  82. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp38-win_amd64.pyd +0 -0
  83. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp39-win_amd64.pyd +0 -0
  84. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/utils.py +481 -0
  85. intel_npu_acceleration_library/external/openvino/helpers/__init__.py +6 -0
  86. intel_npu_acceleration_library/external/openvino/helpers/packing.py +87 -0
  87. intel_npu_acceleration_library/external/openvino/preprocess/README.md +60 -0
  88. intel_npu_acceleration_library/external/openvino/preprocess/__init__.py +28 -0
  89. intel_npu_acceleration_library/external/openvino/preprocess/torchvision/__init__.py +15 -0
  90. intel_npu_acceleration_library/external/openvino/preprocess/torchvision/preprocess_converter.py +47 -0
  91. intel_npu_acceleration_library/external/openvino/preprocess/torchvision/requirements.txt +5 -0
  92. intel_npu_acceleration_library/external/openvino/preprocess/torchvision/torchvision_preprocessing.py +347 -0
  93. intel_npu_acceleration_library/external/openvino/properties/__init__.py +22 -0
  94. intel_npu_acceleration_library/external/openvino/properties/_properties.py +55 -0
  95. intel_npu_acceleration_library/external/openvino/properties/device/__init__.py +14 -0
  96. intel_npu_acceleration_library/external/openvino/properties/hint/__init__.py +15 -0
  97. intel_npu_acceleration_library/external/openvino/properties/intel_auto/__init__.py +12 -0
  98. intel_npu_acceleration_library/external/openvino/properties/intel_cpu/__init__.py +8 -0
  99. intel_npu_acceleration_library/external/openvino/properties/intel_gpu/__init__.py +12 -0
  100. intel_npu_acceleration_library/external/openvino/properties/intel_gpu/hint/__init__.py +11 -0
  101. intel_npu_acceleration_library/external/openvino/properties/log/__init__.py +11 -0
  102. intel_npu_acceleration_library/external/openvino/properties/streams/__init__.py +11 -0
  103. intel_npu_acceleration_library/external/openvino/runtime/__init__.py +85 -0
  104. intel_npu_acceleration_library/external/openvino/runtime/exceptions.py +17 -0
  105. intel_npu_acceleration_library/external/openvino/runtime/ie_api.py +631 -0
  106. intel_npu_acceleration_library/external/openvino/runtime/op/__init__.py +19 -0
  107. intel_npu_acceleration_library/external/openvino/runtime/op/util/__init__.py +22 -0
  108. intel_npu_acceleration_library/external/openvino/runtime/opset1/__init__.py +112 -0
  109. intel_npu_acceleration_library/external/openvino/runtime/opset1/ops.py +3068 -0
  110. intel_npu_acceleration_library/external/openvino/runtime/opset10/__init__.py +179 -0
  111. intel_npu_acceleration_library/external/openvino/runtime/opset10/ops.py +173 -0
  112. intel_npu_acceleration_library/external/openvino/runtime/opset11/__init__.py +179 -0
  113. intel_npu_acceleration_library/external/openvino/runtime/opset11/ops.py +107 -0
  114. intel_npu_acceleration_library/external/openvino/runtime/opset12/__init__.py +180 -0
  115. intel_npu_acceleration_library/external/openvino/runtime/opset12/ops.py +120 -0
  116. intel_npu_acceleration_library/external/openvino/runtime/opset13/__init__.py +188 -0
  117. intel_npu_acceleration_library/external/openvino/runtime/opset13/ops.py +398 -0
  118. intel_npu_acceleration_library/external/openvino/runtime/opset14/__init__.py +190 -0
  119. intel_npu_acceleration_library/external/openvino/runtime/opset14/ops.py +171 -0
  120. intel_npu_acceleration_library/external/openvino/runtime/opset15/__init__.py +17 -0
  121. intel_npu_acceleration_library/external/openvino/runtime/opset15/ops.py +276 -0
  122. intel_npu_acceleration_library/external/openvino/runtime/opset2/__init__.py +118 -0
  123. intel_npu_acceleration_library/external/openvino/runtime/opset2/ops.py +216 -0
  124. intel_npu_acceleration_library/external/openvino/runtime/opset3/__init__.py +134 -0
  125. intel_npu_acceleration_library/external/openvino/runtime/opset3/ops.py +638 -0
  126. intel_npu_acceleration_library/external/openvino/runtime/opset4/__init__.py +145 -0
  127. intel_npu_acceleration_library/external/openvino/runtime/opset4/ops.py +464 -0
  128. intel_npu_acceleration_library/external/openvino/runtime/opset5/__init__.py +152 -0
  129. intel_npu_acceleration_library/external/openvino/runtime/opset5/ops.py +372 -0
  130. intel_npu_acceleration_library/external/openvino/runtime/opset6/__init__.py +154 -0
  131. intel_npu_acceleration_library/external/openvino/runtime/opset6/ops.py +215 -0
  132. intel_npu_acceleration_library/external/openvino/runtime/opset7/__init__.py +158 -0
  133. intel_npu_acceleration_library/external/openvino/runtime/opset7/ops.py +169 -0
  134. intel_npu_acceleration_library/external/openvino/runtime/opset8/__init__.py +169 -0
  135. intel_npu_acceleration_library/external/openvino/runtime/opset8/ops.py +787 -0
  136. intel_npu_acceleration_library/external/openvino/runtime/opset9/__init__.py +175 -0
  137. intel_npu_acceleration_library/external/openvino/runtime/opset9/ops.py +341 -0
  138. intel_npu_acceleration_library/external/openvino/runtime/opset_utils.py +22 -0
  139. intel_npu_acceleration_library/external/openvino/runtime/passes/__init__.py +19 -0
  140. intel_npu_acceleration_library/external/openvino/runtime/passes/graph_rewrite.py +33 -0
  141. intel_npu_acceleration_library/external/openvino/runtime/passes/manager.py +26 -0
  142. intel_npu_acceleration_library/external/openvino/runtime/properties/__init__.py +40 -0
  143. intel_npu_acceleration_library/external/openvino/runtime/properties/hint/__init__.py +25 -0
  144. intel_npu_acceleration_library/external/openvino/runtime/utils/__init__.py +7 -0
  145. intel_npu_acceleration_library/external/openvino/runtime/utils/broadcasting.py +44 -0
  146. intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/__init__.py +8 -0
  147. intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/data_dispatcher.py +447 -0
  148. intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/wrappers.py +148 -0
  149. intel_npu_acceleration_library/external/openvino/runtime/utils/decorators.py +156 -0
  150. intel_npu_acceleration_library/external/openvino/runtime/utils/input_validation.py +133 -0
  151. intel_npu_acceleration_library/external/openvino/runtime/utils/node_factory.py +127 -0
  152. intel_npu_acceleration_library/external/openvino/runtime/utils/reduction.py +25 -0
  153. intel_npu_acceleration_library/external/openvino/runtime/utils/types.py +175 -0
  154. intel_npu_acceleration_library/external/openvino/tools/__init__.py +4 -0
  155. intel_npu_acceleration_library/external/openvino/tools/benchmark/__init__.py +3 -0
  156. intel_npu_acceleration_library/external/openvino/tools/benchmark/benchmark.py +186 -0
  157. intel_npu_acceleration_library/external/openvino/tools/benchmark/main.py +695 -0
  158. intel_npu_acceleration_library/external/openvino/tools/benchmark/parameters.py +199 -0
  159. intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/__init__.py +3 -0
  160. intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/constants.py +26 -0
  161. intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/inputs_filling.py +482 -0
  162. intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/logging.py +8 -0
  163. intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/statistics_report.py +296 -0
  164. intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/utils.py +836 -0
  165. intel_npu_acceleration_library/external/openvino/tools/ovc/__init__.py +20 -0
  166. intel_npu_acceleration_library/external/openvino/tools/ovc/__main__.py +10 -0
  167. intel_npu_acceleration_library/external/openvino/tools/ovc/cli_parser.py +633 -0
  168. intel_npu_acceleration_library/external/openvino/tools/ovc/convert.py +102 -0
  169. intel_npu_acceleration_library/external/openvino/tools/ovc/convert_data_type.py +82 -0
  170. intel_npu_acceleration_library/external/openvino/tools/ovc/convert_impl.py +550 -0
  171. intel_npu_acceleration_library/external/openvino/tools/ovc/environment_setup_utils.py +50 -0
  172. intel_npu_acceleration_library/external/openvino/tools/ovc/error.py +49 -0
  173. intel_npu_acceleration_library/external/openvino/tools/ovc/get_ov_update_message.py +16 -0
  174. intel_npu_acceleration_library/external/openvino/tools/ovc/help.py +45 -0
  175. intel_npu_acceleration_library/external/openvino/tools/ovc/logger.py +91 -0
  176. intel_npu_acceleration_library/external/openvino/tools/ovc/main.py +40 -0
  177. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/__init__.py +2 -0
  178. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/analysis.py +46 -0
  179. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/check_config.py +57 -0
  180. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/extractor.py +447 -0
  181. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/jax_frontend_utils.py +19 -0
  182. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/layout_utils.py +73 -0
  183. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/moc_emit_ir.py +32 -0
  184. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/offline_transformations.py +107 -0
  185. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/paddle_frontend_utils.py +83 -0
  186. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/pipeline.py +298 -0
  187. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/preprocessing.py +220 -0
  188. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/pytorch_frontend_utils.py +214 -0
  189. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/shape_utils.py +109 -0
  190. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/type_utils.py +82 -0
  191. intel_npu_acceleration_library/external/openvino/tools/ovc/ovc.py +13 -0
  192. intel_npu_acceleration_library/external/openvino/tools/ovc/telemetry_params.py +6 -0
  193. intel_npu_acceleration_library/external/openvino/tools/ovc/telemetry_stub.py +28 -0
  194. intel_npu_acceleration_library/external/openvino/tools/ovc/telemetry_utils.py +118 -0
  195. intel_npu_acceleration_library/external/openvino/tools/ovc/utils.py +196 -0
  196. intel_npu_acceleration_library/external/openvino/tools/ovc/version.py +80 -0
  197. intel_npu_acceleration_library/external/openvino/torch/__init__.py +5 -0
  198. intel_npu_acceleration_library/external/openvino/utils.py +115 -0
  199. intel_npu_acceleration_library/functional/__init__.py +8 -0
  200. intel_npu_acceleration_library/functional/scaled_dot_product_attention.py +47 -0
  201. intel_npu_acceleration_library/lib/Release/cache.json +113732 -0
  202. intel_npu_acceleration_library/lib/Release/intel_npu_acceleration_library.dll +0 -0
  203. intel_npu_acceleration_library/lib/Release/openvino.dll +0 -0
  204. intel_npu_acceleration_library/lib/Release/openvino_auto_batch_plugin.dll +0 -0
  205. intel_npu_acceleration_library/lib/Release/openvino_auto_plugin.dll +0 -0
  206. intel_npu_acceleration_library/lib/Release/openvino_c.dll +0 -0
  207. intel_npu_acceleration_library/lib/Release/openvino_hetero_plugin.dll +0 -0
  208. intel_npu_acceleration_library/lib/Release/openvino_intel_cpu_plugin.dll +0 -0
  209. intel_npu_acceleration_library/lib/Release/openvino_intel_gpu_plugin.dll +0 -0
  210. intel_npu_acceleration_library/lib/Release/openvino_intel_npu_plugin.dll +0 -0
  211. intel_npu_acceleration_library/lib/Release/openvino_ir_frontend.dll +0 -0
  212. intel_npu_acceleration_library/lib/Release/openvino_onnx_frontend.dll +0 -0
  213. intel_npu_acceleration_library/lib/Release/openvino_paddle_frontend.dll +0 -0
  214. intel_npu_acceleration_library/lib/Release/openvino_pytorch_frontend.dll +0 -0
  215. intel_npu_acceleration_library/lib/Release/openvino_tensorflow_frontend.dll +0 -0
  216. intel_npu_acceleration_library/lib/Release/openvino_tensorflow_lite_frontend.dll +0 -0
  217. intel_npu_acceleration_library/lib/Release/tbb12.dll +0 -0
  218. intel_npu_acceleration_library/lib/Release/tbb12_debug.dll +0 -0
  219. intel_npu_acceleration_library/lib/Release/tbbbind_2_5.dll +0 -0
  220. intel_npu_acceleration_library/lib/Release/tbbbind_2_5_debug.dll +0 -0
  221. intel_npu_acceleration_library/lib/Release/tbbmalloc.dll +0 -0
  222. intel_npu_acceleration_library/lib/Release/tbbmalloc_debug.dll +0 -0
  223. intel_npu_acceleration_library/lib/Release/tbbmalloc_proxy.dll +0 -0
  224. intel_npu_acceleration_library/lib/Release/tbbmalloc_proxy_debug.dll +0 -0
  225. intel_npu_acceleration_library/modelling.py +150 -0
  226. intel_npu_acceleration_library/nn/__init__.py +20 -0
  227. intel_npu_acceleration_library/nn/autograd.py +68 -0
  228. intel_npu_acceleration_library/nn/conv.py +257 -0
  229. intel_npu_acceleration_library/nn/functional.py +1207 -0
  230. intel_npu_acceleration_library/nn/linear.py +162 -0
  231. intel_npu_acceleration_library/nn/llm.py +417 -0
  232. intel_npu_acceleration_library/nn/module.py +393 -0
  233. intel_npu_acceleration_library/optimizations.py +157 -0
  234. intel_npu_acceleration_library/quantization.py +174 -0
@@ -0,0 +1,216 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright (C) 2018-2024 Intel Corporation
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ """Factory functions for all openvino ops."""
6
+ from typing import Callable, Iterable, List, Optional, Set, Union
7
+
8
+ import numpy as np
9
+ from functools import partial
10
+ import warnings
11
+
12
+ from openvino.runtime import Node, Shape
13
+ from openvino.runtime.op import Constant, Parameter
14
+ from openvino.runtime.opset_utils import _get_node_factory
15
+ from openvino.runtime.utils.decorators import binary_op, nameable_op, unary_op
16
+ from openvino.runtime.utils.input_validation import (
17
+ assert_list_of_ints,
18
+ check_valid_attributes,
19
+ is_non_negative_value,
20
+ is_positive_value,
21
+ )
22
+ from openvino.runtime.utils.node_factory import NodeFactory
23
+ from openvino.runtime.utils.types import (
24
+ NodeInput,
25
+ NumericData,
26
+ NumericType,
27
+ ScalarData,
28
+ TensorShape,
29
+ as_node,
30
+ as_nodes,
31
+ get_dtype,
32
+ get_element_type,
33
+ get_element_type_str,
34
+ make_constant_node,
35
+ )
36
+
37
+ _get_node_factory_opset2 = partial(_get_node_factory, "opset2")
38
+
39
+ # -------------------------------------------- ops ------------------------------------------------
40
+
41
+
42
+ @nameable_op
43
+ def batch_to_space(
44
+ data: NodeInput,
45
+ block_shape: NodeInput,
46
+ crops_begin: NodeInput,
47
+ crops_end: NodeInput,
48
+ name: Optional[str] = None,
49
+ ) -> Node:
50
+ """Perform BatchToSpace operation on the input tensor.
51
+
52
+ BatchToSpace permutes data from the batch dimension of the data tensor into spatial dimensions.
53
+
54
+ :param data: Node producing the data tensor.
55
+ :param block_shape: The sizes of the block of values to be moved.
56
+ :param crops_begin: Specifies the amount to crop from the beginning along each axis of `data`.
57
+ :param crops_end: Specifies the amount to crop from the end along each axis of `data`.
58
+ :param name: Optional output node name.
59
+ :return: The new node performing a BatchToSpace operation.
60
+ """
61
+ return _get_node_factory_opset2().create(
62
+ "BatchToSpace",
63
+ as_nodes(data, block_shape, crops_begin, crops_end, name=name),
64
+ )
65
+
66
+
67
+ @unary_op
68
+ def gelu(node: NodeInput, name: Optional[str] = None) -> Node:
69
+ r"""Perform Gaussian Error Linear Unit operation element-wise on data from input node.
70
+
71
+ Computes GELU function:
72
+
73
+ \f[ f(x) = 0.5\cdot x\cdot(1 + erf( \dfrac{x}{\sqrt{2}}) \f]
74
+
75
+ For more information refer to [Gaussian Error Linear Unit (GELU)](https://arxiv.org/pdf/1606.08415.pdf>)
76
+
77
+ :param node: Input tensor. One of: input node, array or scalar.
78
+ :param name: Optional output node name.
79
+ :return: The new node performing a GELU operation on its input data element-wise.
80
+ """
81
+ return _get_node_factory_opset2().create("Gelu", [node])
82
+
83
+
84
+ @nameable_op
85
+ def mvn(
86
+ data: Node,
87
+ across_channels: bool = False,
88
+ normalize_variance: bool = False,
89
+ eps: float = 1e-9,
90
+ name: Optional[str] = None,
91
+ ) -> Node:
92
+ r"""Perform Mean Variance Normalization operation on data from input node.
93
+
94
+ Computes MVN on the input tensor `data` (called `X`) using formula:
95
+
96
+ \f[ Y = \dfrac{X-EX}{\sqrt{E(X-EX)^2}} \f]
97
+
98
+ :param data: The node with data tensor.
99
+ :param across_channels: Denotes if mean values are shared across channels.
100
+ :param normalize_variance: Denotes whether to perform variance normalization.
101
+ :param eps: The number added to the variance to avoid division by zero
102
+ when normalizing the value. Scalar value.
103
+ :param name: Optional output node name.
104
+ :return: The new node performing a MVN operation on input tensor.
105
+ """
106
+ return _get_node_factory_opset2().create(
107
+ "MVN",
108
+ [data],
109
+ {
110
+ "across_channels": across_channels,
111
+ "normalize_variance": normalize_variance,
112
+ "eps": eps,
113
+ },
114
+ )
115
+
116
+
117
+ @nameable_op
118
+ def reorg_yolo(input: Node, stride: List[int], name: Optional[str] = None) -> Node:
119
+ """Return a node which produces the ReorgYolo operation.
120
+
121
+ :param input: Input data.
122
+ :param stride: Stride to reorganize input by.
123
+ :param name: Optional name for output node.
124
+ :return: ReorgYolo node.
125
+ """
126
+ return _get_node_factory_opset2().create("ReorgYolo", [input], {"stride": stride})
127
+
128
+
129
+ @nameable_op
130
+ def roi_pooling(
131
+ input: NodeInput,
132
+ coords: NodeInput,
133
+ output_roi: Optional[TensorShape] = None,
134
+ spatial_scale: Optional[NumericData] = None,
135
+ method: str = "max",
136
+ name: Optional[str] = None,
137
+ *,
138
+ output_size: Optional[TensorShape] = None,
139
+ ) -> Node:
140
+ """Return a node which produces an ROIPooling operation.
141
+
142
+ :param input: Input feature map `{N, C, ...}`.
143
+ :param coords: Coordinates of bounding boxes.
144
+ :param output_roi: Height/Width of ROI output features (shape).
145
+ :param spatial_scale: Ratio of input feature map over input image size (float).
146
+ :param method: Method of pooling - string: "max" or "bilinear". Default: "max"
147
+ :param output_size: (DEPRECATED!) Height/Width of ROI output features (shape).
148
+ Will override `output_roi` if used and change behavior of the operator.
149
+ :return: ROIPooling node.
150
+ """
151
+ # Allow either one of these attributes to be passed.
152
+ if output_roi is None and output_size is None:
153
+ raise AttributeError("One of the following arguments must be defined: `output_roi`, `output_size`!")
154
+ # Force checking of spatial_scale.
155
+ if spatial_scale is None:
156
+ raise AttributeError("The following arguments must be defined: `spatial_scale`!")
157
+
158
+ def _deprecated_output_size_arg(output_roi: Optional[TensorShape], output_size: Optional[TensorShape]) -> Optional[TensorShape]:
159
+ if output_size is not None:
160
+ warnings.warn(
161
+ "`output_size` is deprecated and will be removed in future. "
162
+ "Value of `output_size` is going to override `output_roi` value and "
163
+ "`get_output_size` will behave like `get_output_roi` function."
164
+ "Please use only `output_roi` explicitly.",
165
+ DeprecationWarning,
166
+ stacklevel=3,
167
+ )
168
+ return output_size
169
+ return output_roi
170
+
171
+ method = method.lower()
172
+ roi_shape = _deprecated_output_size_arg(output_roi, output_size)
173
+ node = _get_node_factory_opset2().create(
174
+ "ROIPooling",
175
+ as_nodes(input, coords, name=name),
176
+ {
177
+ "output_size": Shape(roi_shape),
178
+ "output_roi": Shape(roi_shape),
179
+ "spatial_scale": spatial_scale,
180
+ "method": method,
181
+ },
182
+ )
183
+
184
+ # Override behavior when deprecated value was used.
185
+ if output_size is not None:
186
+ node.get_output_size = node.get_output_roi
187
+ node.set_output_size = node.set_output_roi
188
+
189
+ return node
190
+
191
+
192
+ @nameable_op
193
+ def space_to_batch(
194
+ data: NodeInput,
195
+ block_shape: NodeInput,
196
+ pads_begin: NodeInput,
197
+ pads_end: NodeInput,
198
+ name: Optional[str] = None,
199
+ ) -> Node:
200
+ """Perform SpaceToBatch operation on the input tensor.
201
+
202
+ SpaceToBatch permutes data tensor blocks of spatial data into batch dimension.
203
+ The operator returns a copy of the input tensor where values from spatial blocks dimensions
204
+ are moved in the batch dimension
205
+
206
+ :param data: Node producing the data tensor.
207
+ :param block_shape: The sizes of the block of values to be moved.
208
+ :param pads_begin: Specifies the padding for the beginning along each axis of `data`.
209
+ :param pads_end: Specifies the padding for the ending along each axis of `data`.
210
+ :param name: Optional output node name.
211
+ :return: The new node performing a SpaceToBatch operation.
212
+ """
213
+ return _get_node_factory_opset2().create(
214
+ "SpaceToBatch",
215
+ as_nodes(data, block_shape, pads_begin, pads_end, name=name),
216
+ )
@@ -0,0 +1,134 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright (C) 2018-2024 Intel Corporation
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from openvino.runtime.opset1.ops import absolute
6
+ from openvino.runtime.opset1.ops import absolute as abs
7
+ from openvino.runtime.opset1.ops import acos
8
+ from openvino.runtime.opset1.ops import add
9
+ from openvino.runtime.opset1.ops import asin
10
+ from openvino.runtime.opset3.ops import assign
11
+ from openvino.runtime.opset1.ops import atan
12
+ from openvino.runtime.opset1.ops import avg_pool
13
+ from openvino.runtime.opset1.ops import batch_norm_inference
14
+ from openvino.runtime.opset2.ops import batch_to_space
15
+ from openvino.runtime.opset1.ops import binary_convolution
16
+ from openvino.runtime.opset3.ops import broadcast
17
+ from openvino.runtime.opset3.ops import bucketize
18
+ from openvino.runtime.opset1.ops import ceiling
19
+ from openvino.runtime.opset1.ops import ceiling as ceil
20
+ from openvino.runtime.opset1.ops import clamp
21
+ from openvino.runtime.opset1.ops import concat
22
+ from openvino.runtime.opset1.ops import constant
23
+ from openvino.runtime.opset1.ops import convert
24
+ from openvino.runtime.opset1.ops import convert_like
25
+ from openvino.runtime.opset1.ops import convolution
26
+ from openvino.runtime.opset1.ops import convolution_backprop_data
27
+ from openvino.runtime.opset1.ops import cos
28
+ from openvino.runtime.opset1.ops import cosh
29
+ from openvino.runtime.opset1.ops import ctc_greedy_decoder
30
+ from openvino.runtime.opset3.ops import cum_sum
31
+ from openvino.runtime.opset3.ops import cum_sum as cumsum
32
+ from openvino.runtime.opset1.ops import deformable_convolution
33
+ from openvino.runtime.opset1.ops import deformable_psroi_pooling
34
+ from openvino.runtime.opset1.ops import depth_to_space
35
+ from openvino.runtime.opset1.ops import detection_output
36
+ from openvino.runtime.opset1.ops import divide
37
+ from openvino.runtime.opset1.ops import elu
38
+ from openvino.runtime.opset3.ops import embedding_bag_offsets_sum
39
+ from openvino.runtime.opset3.ops import embedding_bag_packed_sum
40
+ from openvino.runtime.opset3.ops import embedding_segments_sum
41
+ from openvino.runtime.opset3.ops import extract_image_patches
42
+ from openvino.runtime.opset1.ops import equal
43
+ from openvino.runtime.opset1.ops import erf
44
+ from openvino.runtime.opset1.ops import exp
45
+ from openvino.runtime.opset1.ops import fake_quantize
46
+ from openvino.runtime.opset1.ops import floor
47
+ from openvino.runtime.opset1.ops import floor_mod
48
+ from openvino.runtime.opset1.ops import gather
49
+ from openvino.runtime.opset1.ops import gather_tree
50
+ from openvino.runtime.opset2.ops import gelu
51
+ from openvino.runtime.opset1.ops import greater
52
+ from openvino.runtime.opset1.ops import greater_equal
53
+ from openvino.runtime.opset1.ops import grn
54
+ from openvino.runtime.opset1.ops import group_convolution
55
+ from openvino.runtime.opset1.ops import group_convolution_backprop_data
56
+ from openvino.runtime.opset3.ops import gru_cell
57
+ from openvino.runtime.opset1.ops import hard_sigmoid
58
+ from openvino.runtime.opset1.ops import interpolate
59
+ from openvino.runtime.opset1.ops import less
60
+ from openvino.runtime.opset1.ops import less_equal
61
+ from openvino.runtime.opset1.ops import log
62
+ from openvino.runtime.opset1.ops import logical_and
63
+ from openvino.runtime.opset1.ops import logical_not
64
+ from openvino.runtime.opset1.ops import logical_or
65
+ from openvino.runtime.opset1.ops import logical_xor
66
+ from openvino.runtime.opset1.ops import lrn
67
+ from openvino.runtime.opset1.ops import lstm_cell
68
+ from openvino.runtime.opset1.ops import lstm_sequence
69
+ from openvino.runtime.opset1.ops import matmul
70
+ from openvino.runtime.opset1.ops import max_pool
71
+ from openvino.runtime.opset1.ops import maximum
72
+ from openvino.runtime.opset1.ops import minimum
73
+ from openvino.runtime.opset1.ops import mod
74
+ from openvino.runtime.opset1.ops import multiply
75
+ from openvino.runtime.opset2.ops import mvn
76
+ from openvino.runtime.opset1.ops import negative
77
+ from openvino.runtime.opset3.ops import non_max_suppression
78
+ from openvino.runtime.opset3.ops import non_zero
79
+ from openvino.runtime.opset1.ops import normalize_l2
80
+ from openvino.runtime.opset1.ops import not_equal
81
+ from openvino.runtime.opset1.ops import one_hot
82
+ from openvino.runtime.opset1.ops import pad
83
+ from openvino.runtime.opset1.ops import parameter
84
+ from openvino.runtime.opset1.ops import power
85
+ from openvino.runtime.opset1.ops import prelu
86
+ from openvino.runtime.opset1.ops import prior_box
87
+ from openvino.runtime.opset1.ops import prior_box_clustered
88
+ from openvino.runtime.opset1.ops import psroi_pooling
89
+ from openvino.runtime.opset1.ops import proposal
90
+ from openvino.runtime.opset1.ops import range
91
+ from openvino.runtime.opset3.ops import read_value
92
+ from openvino.runtime.opset1.ops import reduce_logical_and
93
+ from openvino.runtime.opset1.ops import reduce_logical_or
94
+ from openvino.runtime.opset1.ops import reduce_max
95
+ from openvino.runtime.opset1.ops import reduce_mean
96
+ from openvino.runtime.opset1.ops import reduce_min
97
+ from openvino.runtime.opset1.ops import reduce_prod
98
+ from openvino.runtime.opset1.ops import reduce_sum
99
+ from openvino.runtime.opset1.ops import region_yolo
100
+ from openvino.runtime.opset2.ops import reorg_yolo
101
+ from openvino.runtime.opset1.ops import relu
102
+ from openvino.runtime.opset1.ops import reshape
103
+ from openvino.runtime.opset1.ops import result
104
+ from openvino.runtime.opset1.ops import reverse_sequence
105
+ from openvino.runtime.opset3.ops import rnn_cell
106
+ from openvino.runtime.opset3.ops import roi_align
107
+ from openvino.runtime.opset2.ops import roi_pooling
108
+ from openvino.runtime.opset3.ops import scatter_elements_update
109
+ from openvino.runtime.opset3.ops import scatter_update
110
+ from openvino.runtime.opset1.ops import select
111
+ from openvino.runtime.opset1.ops import selu
112
+ from openvino.runtime.opset3.ops import shape_of
113
+ from openvino.runtime.opset3.ops import shuffle_channels
114
+ from openvino.runtime.opset1.ops import sigmoid
115
+ from openvino.runtime.opset1.ops import sign
116
+ from openvino.runtime.opset1.ops import sin
117
+ from openvino.runtime.opset1.ops import sinh
118
+ from openvino.runtime.opset1.ops import softmax
119
+ from openvino.runtime.opset2.ops import space_to_batch
120
+ from openvino.runtime.opset1.ops import space_to_depth
121
+ from openvino.runtime.opset1.ops import split
122
+ from openvino.runtime.opset1.ops import sqrt
123
+ from openvino.runtime.opset1.ops import squared_difference
124
+ from openvino.runtime.opset1.ops import squeeze
125
+ from openvino.runtime.opset1.ops import strided_slice
126
+ from openvino.runtime.opset1.ops import subtract
127
+ from openvino.runtime.opset1.ops import tan
128
+ from openvino.runtime.opset1.ops import tanh
129
+ from openvino.runtime.opset1.ops import tensor_iterator
130
+ from openvino.runtime.opset1.ops import tile
131
+ from openvino.runtime.opset3.ops import topk
132
+ from openvino.runtime.opset1.ops import transpose
133
+ from openvino.runtime.opset1.ops import unsqueeze
134
+ from openvino.runtime.opset1.ops import variadic_split