onnxruntime-directml 1.20.0__cp313-cp313-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 (305) hide show
  1. onnxruntime/LICENSE +21 -0
  2. onnxruntime/Privacy.md +21 -0
  3. onnxruntime/ThirdPartyNotices.txt +6508 -0
  4. onnxruntime/__init__.py +78 -0
  5. onnxruntime/backend/__init__.py +6 -0
  6. onnxruntime/backend/backend.py +174 -0
  7. onnxruntime/backend/backend_rep.py +53 -0
  8. onnxruntime/capi/DirectML.dll +0 -0
  9. onnxruntime/capi/__init__.py +4 -0
  10. onnxruntime/capi/_ld_preload.py +7 -0
  11. onnxruntime/capi/_pybind_state.py +33 -0
  12. onnxruntime/capi/convert_npz_to_onnx_adapter.py +48 -0
  13. onnxruntime/capi/onnxruntime.dll +0 -0
  14. onnxruntime/capi/onnxruntime_collect_build_info.py +47 -0
  15. onnxruntime/capi/onnxruntime_inference_collection.py +1108 -0
  16. onnxruntime/capi/onnxruntime_providers_shared.dll +0 -0
  17. onnxruntime/capi/onnxruntime_pybind11_state.pyd +0 -0
  18. onnxruntime/capi/onnxruntime_validation.py +150 -0
  19. onnxruntime/capi/version_info.py +2 -0
  20. onnxruntime/datasets/__init__.py +17 -0
  21. onnxruntime/datasets/logreg_iris.onnx +0 -0
  22. onnxruntime/datasets/mul_1.onnx +0 -0
  23. onnxruntime/datasets/sigmoid.onnx +13 -0
  24. onnxruntime/quantization/CalTableFlatBuffers/KeyValue.py +78 -0
  25. onnxruntime/quantization/CalTableFlatBuffers/TrtTable.py +90 -0
  26. onnxruntime/quantization/CalTableFlatBuffers/__init__.py +0 -0
  27. onnxruntime/quantization/__init__.py +16 -0
  28. onnxruntime/quantization/base_quantizer.py +532 -0
  29. onnxruntime/quantization/calibrate.py +1245 -0
  30. onnxruntime/quantization/execution_providers/qnn/__init__.py +2 -0
  31. onnxruntime/quantization/execution_providers/qnn/fusion_lpnorm.py +132 -0
  32. onnxruntime/quantization/execution_providers/qnn/mixed_precision_overrides_utils.py +413 -0
  33. onnxruntime/quantization/execution_providers/qnn/preprocess.py +307 -0
  34. onnxruntime/quantization/execution_providers/qnn/quant_config.py +387 -0
  35. onnxruntime/quantization/fusions/__init__.py +3 -0
  36. onnxruntime/quantization/fusions/fusion.py +311 -0
  37. onnxruntime/quantization/fusions/fusion_gelu.py +272 -0
  38. onnxruntime/quantization/fusions/fusion_layernorm.py +135 -0
  39. onnxruntime/quantization/matmul_4bits_quantizer.py +1480 -0
  40. onnxruntime/quantization/matmul_bnb4_quantizer.py +240 -0
  41. onnxruntime/quantization/onnx_model.py +580 -0
  42. onnxruntime/quantization/onnx_quantizer.py +1008 -0
  43. onnxruntime/quantization/operators/__init__.py +2 -0
  44. onnxruntime/quantization/operators/activation.py +119 -0
  45. onnxruntime/quantization/operators/argmax.py +18 -0
  46. onnxruntime/quantization/operators/attention.py +73 -0
  47. onnxruntime/quantization/operators/base_operator.py +26 -0
  48. onnxruntime/quantization/operators/binary_op.py +72 -0
  49. onnxruntime/quantization/operators/concat.py +62 -0
  50. onnxruntime/quantization/operators/conv.py +258 -0
  51. onnxruntime/quantization/operators/direct_q8.py +78 -0
  52. onnxruntime/quantization/operators/embed_layernorm.py +121 -0
  53. onnxruntime/quantization/operators/gather.py +64 -0
  54. onnxruntime/quantization/operators/gavgpool.py +62 -0
  55. onnxruntime/quantization/operators/gemm.py +166 -0
  56. onnxruntime/quantization/operators/lstm.py +117 -0
  57. onnxruntime/quantization/operators/matmul.py +231 -0
  58. onnxruntime/quantization/operators/maxpool.py +34 -0
  59. onnxruntime/quantization/operators/norm.py +40 -0
  60. onnxruntime/quantization/operators/pad.py +100 -0
  61. onnxruntime/quantization/operators/pooling.py +67 -0
  62. onnxruntime/quantization/operators/qdq_base_operator.py +22 -0
  63. onnxruntime/quantization/operators/resize.py +34 -0
  64. onnxruntime/quantization/operators/softmax.py +74 -0
  65. onnxruntime/quantization/operators/split.py +63 -0
  66. onnxruntime/quantization/operators/where.py +87 -0
  67. onnxruntime/quantization/preprocess.py +141 -0
  68. onnxruntime/quantization/qdq_loss_debug.py +389 -0
  69. onnxruntime/quantization/qdq_quantizer.py +1187 -0
  70. onnxruntime/quantization/quant_utils.py +891 -0
  71. onnxruntime/quantization/quantize.py +748 -0
  72. onnxruntime/quantization/registry.py +106 -0
  73. onnxruntime/quantization/shape_inference.py +187 -0
  74. onnxruntime/quantization/tensor_quant_overrides.py +516 -0
  75. onnxruntime/tools/__init__.py +10 -0
  76. onnxruntime/tools/check_onnx_model_mobile_usability.py +47 -0
  77. onnxruntime/tools/convert_onnx_models_to_ort.py +377 -0
  78. onnxruntime/tools/file_utils.py +46 -0
  79. onnxruntime/tools/logger.py +11 -0
  80. onnxruntime/tools/make_dynamic_shape_fixed.py +72 -0
  81. onnxruntime/tools/mobile_helpers/__init__.py +0 -0
  82. onnxruntime/tools/mobile_helpers/coreml_supported_mlprogram_ops.md +33 -0
  83. onnxruntime/tools/mobile_helpers/coreml_supported_neuralnetwork_ops.md +43 -0
  84. onnxruntime/tools/mobile_helpers/nnapi_supported_ops.md +58 -0
  85. onnxruntime/tools/mobile_helpers/usability_checker.py +739 -0
  86. onnxruntime/tools/offline_tuning.py +169 -0
  87. onnxruntime/tools/onnx_model_utils.py +413 -0
  88. onnxruntime/tools/onnx_randomizer.py +85 -0
  89. onnxruntime/tools/onnxruntime_test.py +164 -0
  90. onnxruntime/tools/optimize_onnx_model.py +55 -0
  91. onnxruntime/tools/ort_format_model/__init__.py +25 -0
  92. onnxruntime/tools/ort_format_model/operator_type_usage_processors.py +663 -0
  93. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/__init__.py +0 -0
  94. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/ArgType.py +7 -0
  95. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/ArgTypeAndIndex.py +67 -0
  96. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/Attribute.py +337 -0
  97. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/AttributeType.py +18 -0
  98. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/Checkpoint.py +125 -0
  99. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/DeprecatedKernelCreateInfos.py +120 -0
  100. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/DeprecatedNodeIndexAndKernelDefHash.py +68 -0
  101. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/DeprecatedSessionState.py +96 -0
  102. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/DeprecatedSubGraphSessionState.py +72 -0
  103. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/Dimension.py +71 -0
  104. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/DimensionValue.py +80 -0
  105. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/DimensionValueType.py +8 -0
  106. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/EdgeEnd.py +32 -0
  107. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/FloatProperty.py +67 -0
  108. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/Graph.py +320 -0
  109. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/InferenceSession.py +88 -0
  110. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/IntProperty.py +67 -0
  111. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/KernelTypeStrArgsEntry.py +91 -0
  112. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/KernelTypeStrResolver.py +78 -0
  113. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/MapType.py +71 -0
  114. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/Model.py +223 -0
  115. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/ModuleState.py +141 -0
  116. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/Node.py +317 -0
  117. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/NodeEdge.py +126 -0
  118. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/NodeType.py +7 -0
  119. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/NodesToOptimizeIndices.py +160 -0
  120. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/OpIdKernelTypeStrArgsEntry.py +91 -0
  121. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/OperatorSetId.py +67 -0
  122. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/OptimizerGroup.py +117 -0
  123. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/ParameterOptimizerState.py +91 -0
  124. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/PropertyBag.py +152 -0
  125. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/RuntimeOptimizationRecord.py +105 -0
  126. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/RuntimeOptimizationRecordContainerEntry.py +91 -0
  127. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/RuntimeOptimizations.py +79 -0
  128. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/SequenceType.py +58 -0
  129. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/Shape.py +78 -0
  130. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/SparseTensor.py +114 -0
  131. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/StringProperty.py +67 -0
  132. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/StringStringEntry.py +67 -0
  133. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/Tensor.py +203 -0
  134. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/TensorDataType.py +26 -0
  135. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/TensorTypeAndShape.py +71 -0
  136. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/TypeInfo.py +83 -0
  137. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/TypeInfoValue.py +9 -0
  138. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/ValueInfo.py +84 -0
  139. onnxruntime/tools/ort_format_model/ort_flatbuffers_py/fbs/__init__.py +6 -0
  140. onnxruntime/tools/ort_format_model/ort_model_processor.py +86 -0
  141. onnxruntime/tools/ort_format_model/types.py +84 -0
  142. onnxruntime/tools/ort_format_model/utils.py +62 -0
  143. onnxruntime/tools/pytorch_export_contrib_ops.py +108 -0
  144. onnxruntime/tools/pytorch_export_helpers.py +131 -0
  145. onnxruntime/tools/qdq_helpers/__init__.py +0 -0
  146. onnxruntime/tools/qdq_helpers/optimize_qdq_model.py +37 -0
  147. onnxruntime/tools/reduced_build_config_parser.py +202 -0
  148. onnxruntime/tools/symbolic_shape_infer.py +3016 -0
  149. onnxruntime/tools/update_onnx_opset.py +31 -0
  150. onnxruntime/transformers/__init__.py +8 -0
  151. onnxruntime/transformers/affinity_helper.py +40 -0
  152. onnxruntime/transformers/benchmark.py +944 -0
  153. onnxruntime/transformers/benchmark_helper.py +646 -0
  154. onnxruntime/transformers/bert_perf_test.py +634 -0
  155. onnxruntime/transformers/bert_test_data.py +642 -0
  156. onnxruntime/transformers/compare_bert_results.py +246 -0
  157. onnxruntime/transformers/constants.py +47 -0
  158. onnxruntime/transformers/convert_generation.py +3124 -0
  159. onnxruntime/transformers/convert_tf_models_to_pytorch.py +205 -0
  160. onnxruntime/transformers/convert_to_packing_mode.py +387 -0
  161. onnxruntime/transformers/dynamo_onnx_helper.py +104 -0
  162. onnxruntime/transformers/float16.py +501 -0
  163. onnxruntime/transformers/fusion_attention.py +1235 -0
  164. onnxruntime/transformers/fusion_attention_clip.py +257 -0
  165. onnxruntime/transformers/fusion_attention_sam2.py +534 -0
  166. onnxruntime/transformers/fusion_attention_unet.py +1304 -0
  167. onnxruntime/transformers/fusion_attention_vae.py +301 -0
  168. onnxruntime/transformers/fusion_bart_attention.py +640 -0
  169. onnxruntime/transformers/fusion_base.py +137 -0
  170. onnxruntime/transformers/fusion_bias_add.py +58 -0
  171. onnxruntime/transformers/fusion_biasgelu.py +66 -0
  172. onnxruntime/transformers/fusion_biassplitgelu.py +111 -0
  173. onnxruntime/transformers/fusion_conformer_attention.py +143 -0
  174. onnxruntime/transformers/fusion_embedlayer.py +811 -0
  175. onnxruntime/transformers/fusion_fastgelu.py +360 -0
  176. onnxruntime/transformers/fusion_gelu.py +259 -0
  177. onnxruntime/transformers/fusion_gelu_approximation.py +25 -0
  178. onnxruntime/transformers/fusion_gemmfastgelu.py +122 -0
  179. onnxruntime/transformers/fusion_gpt_attention.py +546 -0
  180. onnxruntime/transformers/fusion_gpt_attention_megatron.py +355 -0
  181. onnxruntime/transformers/fusion_gpt_attention_no_past.py +260 -0
  182. onnxruntime/transformers/fusion_group_norm.py +179 -0
  183. onnxruntime/transformers/fusion_layernorm.py +465 -0
  184. onnxruntime/transformers/fusion_nhwc_conv.py +100 -0
  185. onnxruntime/transformers/fusion_options.py +340 -0
  186. onnxruntime/transformers/fusion_qordered_attention.py +421 -0
  187. onnxruntime/transformers/fusion_qordered_gelu.py +119 -0
  188. onnxruntime/transformers/fusion_qordered_layernorm.py +123 -0
  189. onnxruntime/transformers/fusion_qordered_matmul.py +217 -0
  190. onnxruntime/transformers/fusion_quickgelu.py +74 -0
  191. onnxruntime/transformers/fusion_reshape.py +173 -0
  192. onnxruntime/transformers/fusion_rotary_attention.py +1592 -0
  193. onnxruntime/transformers/fusion_shape.py +110 -0
  194. onnxruntime/transformers/fusion_simplified_layernorm.py +159 -0
  195. onnxruntime/transformers/fusion_skip_group_norm.py +255 -0
  196. onnxruntime/transformers/fusion_skiplayernorm.py +209 -0
  197. onnxruntime/transformers/fusion_transpose.py +168 -0
  198. onnxruntime/transformers/fusion_utils.py +307 -0
  199. onnxruntime/transformers/huggingface_models.py +167 -0
  200. onnxruntime/transformers/import_utils.py +20 -0
  201. onnxruntime/transformers/io_binding_helper.py +442 -0
  202. onnxruntime/transformers/large_model_exporter.py +395 -0
  203. onnxruntime/transformers/machine_info.py +221 -0
  204. onnxruntime/transformers/metrics.py +164 -0
  205. onnxruntime/transformers/models/bart/__init__.py +12 -0
  206. onnxruntime/transformers/models/bart/export.py +98 -0
  207. onnxruntime/transformers/models/bert/__init__.py +12 -0
  208. onnxruntime/transformers/models/bert/eval_squad.py +329 -0
  209. onnxruntime/transformers/models/gpt2/__init__.py +12 -0
  210. onnxruntime/transformers/models/gpt2/benchmark_gpt2.py +413 -0
  211. onnxruntime/transformers/models/gpt2/convert_to_onnx.py +561 -0
  212. onnxruntime/transformers/models/gpt2/gpt2_helper.py +1032 -0
  213. onnxruntime/transformers/models/gpt2/gpt2_parity.py +513 -0
  214. onnxruntime/transformers/models/gpt2/gpt2_tester.py +501 -0
  215. onnxruntime/transformers/models/gpt2/parity_check_helper.py +146 -0
  216. onnxruntime/transformers/models/llama/__init__.py +12 -0
  217. onnxruntime/transformers/models/llama/benchmark.py +703 -0
  218. onnxruntime/transformers/models/llama/benchmark_all.py +488 -0
  219. onnxruntime/transformers/models/llama/benchmark_e2e.py +606 -0
  220. onnxruntime/transformers/models/llama/convert_to_onnx.py +1027 -0
  221. onnxruntime/transformers/models/llama/dist_settings.py +57 -0
  222. onnxruntime/transformers/models/llama/llama_inputs.py +503 -0
  223. onnxruntime/transformers/models/llama/llama_parity.py +309 -0
  224. onnxruntime/transformers/models/llama/llama_torch.py +47 -0
  225. onnxruntime/transformers/models/llama/quant_kv_dataloader.py +108 -0
  226. onnxruntime/transformers/models/longformer/__init__.py +12 -0
  227. onnxruntime/transformers/models/longformer/benchmark_longformer.py +821 -0
  228. onnxruntime/transformers/models/longformer/convert_to_onnx.py +413 -0
  229. onnxruntime/transformers/models/longformer/generate_test_data.py +347 -0
  230. onnxruntime/transformers/models/longformer/longformer_helper.py +77 -0
  231. onnxruntime/transformers/models/phi2/__init__.py +12 -0
  232. onnxruntime/transformers/models/phi2/convert_to_onnx.py +576 -0
  233. onnxruntime/transformers/models/phi2/inference_example.py +414 -0
  234. onnxruntime/transformers/models/sam2/__init__.py +12 -0
  235. onnxruntime/transformers/models/sam2/benchmark_sam2.py +625 -0
  236. onnxruntime/transformers/models/sam2/convert_to_onnx.py +260 -0
  237. onnxruntime/transformers/models/sam2/image_decoder.py +273 -0
  238. onnxruntime/transformers/models/sam2/image_encoder.py +186 -0
  239. onnxruntime/transformers/models/sam2/mask_decoder.py +208 -0
  240. onnxruntime/transformers/models/sam2/nvtx_helper.py +33 -0
  241. onnxruntime/transformers/models/sam2/prompt_encoder.py +189 -0
  242. onnxruntime/transformers/models/sam2/sam2_demo.py +322 -0
  243. onnxruntime/transformers/models/sam2/sam2_image_onnx_predictor.py +280 -0
  244. onnxruntime/transformers/models/sam2/sam2_utils.py +147 -0
  245. onnxruntime/transformers/models/stable_diffusion/__init__.py +12 -0
  246. onnxruntime/transformers/models/stable_diffusion/benchmark.py +1429 -0
  247. onnxruntime/transformers/models/stable_diffusion/benchmark_controlnet.py +426 -0
  248. onnxruntime/transformers/models/stable_diffusion/demo_txt2img.py +102 -0
  249. onnxruntime/transformers/models/stable_diffusion/demo_txt2img_xl.py +268 -0
  250. onnxruntime/transformers/models/stable_diffusion/demo_utils.py +778 -0
  251. onnxruntime/transformers/models/stable_diffusion/diffusion_models.py +1319 -0
  252. onnxruntime/transformers/models/stable_diffusion/diffusion_schedulers.py +1181 -0
  253. onnxruntime/transformers/models/stable_diffusion/engine_builder.py +296 -0
  254. onnxruntime/transformers/models/stable_diffusion/engine_builder_ort_cuda.py +388 -0
  255. onnxruntime/transformers/models/stable_diffusion/engine_builder_ort_trt.py +288 -0
  256. onnxruntime/transformers/models/stable_diffusion/engine_builder_tensorrt.py +395 -0
  257. onnxruntime/transformers/models/stable_diffusion/engine_builder_torch.py +108 -0
  258. onnxruntime/transformers/models/stable_diffusion/optimize_pipeline.py +350 -0
  259. onnxruntime/transformers/models/stable_diffusion/ort_optimizer.py +136 -0
  260. onnxruntime/transformers/models/stable_diffusion/pipeline_stable_diffusion.py +831 -0
  261. onnxruntime/transformers/models/stable_diffusion/trt_utilities.py +12 -0
  262. onnxruntime/transformers/models/t5/__init__.py +12 -0
  263. onnxruntime/transformers/models/t5/convert_to_onnx.py +278 -0
  264. onnxruntime/transformers/models/t5/past_helper.py +150 -0
  265. onnxruntime/transformers/models/t5/t5_decoder.py +438 -0
  266. onnxruntime/transformers/models/t5/t5_encoder.py +171 -0
  267. onnxruntime/transformers/models/t5/t5_encoder_decoder_init.py +299 -0
  268. onnxruntime/transformers/models/t5/t5_helper.py +272 -0
  269. onnxruntime/transformers/models/whisper/__init__.py +12 -0
  270. onnxruntime/transformers/models/whisper/benchmark.py +610 -0
  271. onnxruntime/transformers/models/whisper/benchmark_all.py +528 -0
  272. onnxruntime/transformers/models/whisper/convert_to_onnx.py +536 -0
  273. onnxruntime/transformers/models/whisper/whisper_chain.py +329 -0
  274. onnxruntime/transformers/models/whisper/whisper_decoder.py +402 -0
  275. onnxruntime/transformers/models/whisper/whisper_encoder.py +164 -0
  276. onnxruntime/transformers/models/whisper/whisper_encoder_decoder_init.py +306 -0
  277. onnxruntime/transformers/models/whisper/whisper_helper.py +524 -0
  278. onnxruntime/transformers/models/whisper/whisper_openai_helper.py +84 -0
  279. onnxruntime/transformers/onnx_exporter.py +717 -0
  280. onnxruntime/transformers/onnx_model.py +1569 -0
  281. onnxruntime/transformers/onnx_model_bart.py +142 -0
  282. onnxruntime/transformers/onnx_model_bert.py +481 -0
  283. onnxruntime/transformers/onnx_model_bert_keras.py +475 -0
  284. onnxruntime/transformers/onnx_model_bert_tf.py +589 -0
  285. onnxruntime/transformers/onnx_model_clip.py +40 -0
  286. onnxruntime/transformers/onnx_model_conformer.py +33 -0
  287. onnxruntime/transformers/onnx_model_gpt2.py +101 -0
  288. onnxruntime/transformers/onnx_model_phi.py +930 -0
  289. onnxruntime/transformers/onnx_model_sam2.py +138 -0
  290. onnxruntime/transformers/onnx_model_t5.py +791 -0
  291. onnxruntime/transformers/onnx_model_tnlr.py +227 -0
  292. onnxruntime/transformers/onnx_model_unet.py +259 -0
  293. onnxruntime/transformers/onnx_model_vae.py +43 -0
  294. onnxruntime/transformers/onnx_utils.py +55 -0
  295. onnxruntime/transformers/optimizer.py +612 -0
  296. onnxruntime/transformers/profiler.py +725 -0
  297. onnxruntime/transformers/quantize_helper.py +76 -0
  298. onnxruntime/transformers/shape_infer_helper.py +122 -0
  299. onnxruntime/transformers/shape_optimizer.py +401 -0
  300. onnxruntime/transformers/torch_onnx_export_helper.py +74 -0
  301. onnxruntime_directml-1.20.0.dist-info/METADATA +187 -0
  302. onnxruntime_directml-1.20.0.dist-info/RECORD +305 -0
  303. onnxruntime_directml-1.20.0.dist-info/WHEEL +5 -0
  304. onnxruntime_directml-1.20.0.dist-info/entry_points.txt +2 -0
  305. onnxruntime_directml-1.20.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,317 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: fbs
4
+
5
+ import flatbuffers
6
+ from flatbuffers.compat import import_numpy
7
+ np = import_numpy()
8
+
9
+ class Node(object):
10
+ __slots__ = ['_tab']
11
+
12
+ @classmethod
13
+ def GetRootAs(cls, buf, offset=0):
14
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15
+ x = Node()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsNode(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ @classmethod
24
+ def NodeBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
25
+ return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4F\x52\x54\x4D", size_prefixed=size_prefixed)
26
+
27
+ # Node
28
+ def Init(self, buf, pos):
29
+ self._tab = flatbuffers.table.Table(buf, pos)
30
+
31
+ # Node
32
+ def Name(self):
33
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
34
+ if o != 0:
35
+ return self._tab.String(o + self._tab.Pos)
36
+ return None
37
+
38
+ # Node
39
+ def DocString(self):
40
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
41
+ if o != 0:
42
+ return self._tab.String(o + self._tab.Pos)
43
+ return None
44
+
45
+ # Node
46
+ def Domain(self):
47
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
48
+ if o != 0:
49
+ return self._tab.String(o + self._tab.Pos)
50
+ return None
51
+
52
+ # Node
53
+ def SinceVersion(self):
54
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
55
+ if o != 0:
56
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
57
+ return 0
58
+
59
+ # Node
60
+ def Index(self):
61
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
62
+ if o != 0:
63
+ return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
64
+ return 0
65
+
66
+ # Node
67
+ def OpType(self):
68
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
69
+ if o != 0:
70
+ return self._tab.String(o + self._tab.Pos)
71
+ return None
72
+
73
+ # Node
74
+ def Type(self):
75
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
76
+ if o != 0:
77
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
78
+ return 0
79
+
80
+ # Node
81
+ def ExecutionProviderType(self):
82
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(18))
83
+ if o != 0:
84
+ return self._tab.String(o + self._tab.Pos)
85
+ return None
86
+
87
+ # Node
88
+ def Inputs(self, j):
89
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
90
+ if o != 0:
91
+ a = self._tab.Vector(o)
92
+ return self._tab.String(a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
93
+ return ""
94
+
95
+ # Node
96
+ def InputsLength(self):
97
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
98
+ if o != 0:
99
+ return self._tab.VectorLen(o)
100
+ return 0
101
+
102
+ # Node
103
+ def InputsIsNone(self):
104
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
105
+ return o == 0
106
+
107
+ # Node
108
+ def Outputs(self, j):
109
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22))
110
+ if o != 0:
111
+ a = self._tab.Vector(o)
112
+ return self._tab.String(a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
113
+ return ""
114
+
115
+ # Node
116
+ def OutputsLength(self):
117
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22))
118
+ if o != 0:
119
+ return self._tab.VectorLen(o)
120
+ return 0
121
+
122
+ # Node
123
+ def OutputsIsNone(self):
124
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22))
125
+ return o == 0
126
+
127
+ # Node
128
+ def Attributes(self, j):
129
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(24))
130
+ if o != 0:
131
+ x = self._tab.Vector(o)
132
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
133
+ x = self._tab.Indirect(x)
134
+ from ort_flatbuffers_py.fbs.Attribute import Attribute
135
+ obj = Attribute()
136
+ obj.Init(self._tab.Bytes, x)
137
+ return obj
138
+ return None
139
+
140
+ # Node
141
+ def AttributesLength(self):
142
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(24))
143
+ if o != 0:
144
+ return self._tab.VectorLen(o)
145
+ return 0
146
+
147
+ # Node
148
+ def AttributesIsNone(self):
149
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(24))
150
+ return o == 0
151
+
152
+ # Node
153
+ def InputArgCounts(self, j):
154
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
155
+ if o != 0:
156
+ a = self._tab.Vector(o)
157
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
158
+ return 0
159
+
160
+ # Node
161
+ def InputArgCountsAsNumpy(self):
162
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
163
+ if o != 0:
164
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
165
+ return 0
166
+
167
+ # Node
168
+ def InputArgCountsLength(self):
169
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
170
+ if o != 0:
171
+ return self._tab.VectorLen(o)
172
+ return 0
173
+
174
+ # Node
175
+ def InputArgCountsIsNone(self):
176
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
177
+ return o == 0
178
+
179
+ # Node
180
+ def ImplicitInputs(self, j):
181
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
182
+ if o != 0:
183
+ a = self._tab.Vector(o)
184
+ return self._tab.String(a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
185
+ return ""
186
+
187
+ # Node
188
+ def ImplicitInputsLength(self):
189
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
190
+ if o != 0:
191
+ return self._tab.VectorLen(o)
192
+ return 0
193
+
194
+ # Node
195
+ def ImplicitInputsIsNone(self):
196
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
197
+ return o == 0
198
+
199
+ def NodeStart(builder):
200
+ builder.StartObject(13)
201
+
202
+ def Start(builder):
203
+ NodeStart(builder)
204
+
205
+ def NodeAddName(builder, name):
206
+ builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
207
+
208
+ def AddName(builder, name):
209
+ NodeAddName(builder, name)
210
+
211
+ def NodeAddDocString(builder, docString):
212
+ builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(docString), 0)
213
+
214
+ def AddDocString(builder, docString):
215
+ NodeAddDocString(builder, docString)
216
+
217
+ def NodeAddDomain(builder, domain):
218
+ builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(domain), 0)
219
+
220
+ def AddDomain(builder, domain):
221
+ NodeAddDomain(builder, domain)
222
+
223
+ def NodeAddSinceVersion(builder, sinceVersion):
224
+ builder.PrependInt32Slot(3, sinceVersion, 0)
225
+
226
+ def AddSinceVersion(builder, sinceVersion):
227
+ NodeAddSinceVersion(builder, sinceVersion)
228
+
229
+ def NodeAddIndex(builder, index):
230
+ builder.PrependUint32Slot(4, index, 0)
231
+
232
+ def AddIndex(builder, index):
233
+ NodeAddIndex(builder, index)
234
+
235
+ def NodeAddOpType(builder, opType):
236
+ builder.PrependUOffsetTRelativeSlot(5, flatbuffers.number_types.UOffsetTFlags.py_type(opType), 0)
237
+
238
+ def AddOpType(builder, opType):
239
+ NodeAddOpType(builder, opType)
240
+
241
+ def NodeAddType(builder, type):
242
+ builder.PrependInt32Slot(6, type, 0)
243
+
244
+ def AddType(builder, type):
245
+ NodeAddType(builder, type)
246
+
247
+ def NodeAddExecutionProviderType(builder, executionProviderType):
248
+ builder.PrependUOffsetTRelativeSlot(7, flatbuffers.number_types.UOffsetTFlags.py_type(executionProviderType), 0)
249
+
250
+ def AddExecutionProviderType(builder, executionProviderType):
251
+ NodeAddExecutionProviderType(builder, executionProviderType)
252
+
253
+ def NodeAddInputs(builder, inputs):
254
+ builder.PrependUOffsetTRelativeSlot(8, flatbuffers.number_types.UOffsetTFlags.py_type(inputs), 0)
255
+
256
+ def AddInputs(builder, inputs):
257
+ NodeAddInputs(builder, inputs)
258
+
259
+ def NodeStartInputsVector(builder, numElems):
260
+ return builder.StartVector(4, numElems, 4)
261
+
262
+ def StartInputsVector(builder, numElems: int) -> int:
263
+ return NodeStartInputsVector(builder, numElems)
264
+
265
+ def NodeAddOutputs(builder, outputs):
266
+ builder.PrependUOffsetTRelativeSlot(9, flatbuffers.number_types.UOffsetTFlags.py_type(outputs), 0)
267
+
268
+ def AddOutputs(builder, outputs):
269
+ NodeAddOutputs(builder, outputs)
270
+
271
+ def NodeStartOutputsVector(builder, numElems):
272
+ return builder.StartVector(4, numElems, 4)
273
+
274
+ def StartOutputsVector(builder, numElems: int) -> int:
275
+ return NodeStartOutputsVector(builder, numElems)
276
+
277
+ def NodeAddAttributes(builder, attributes):
278
+ builder.PrependUOffsetTRelativeSlot(10, flatbuffers.number_types.UOffsetTFlags.py_type(attributes), 0)
279
+
280
+ def AddAttributes(builder, attributes):
281
+ NodeAddAttributes(builder, attributes)
282
+
283
+ def NodeStartAttributesVector(builder, numElems):
284
+ return builder.StartVector(4, numElems, 4)
285
+
286
+ def StartAttributesVector(builder, numElems: int) -> int:
287
+ return NodeStartAttributesVector(builder, numElems)
288
+
289
+ def NodeAddInputArgCounts(builder, inputArgCounts):
290
+ builder.PrependUOffsetTRelativeSlot(11, flatbuffers.number_types.UOffsetTFlags.py_type(inputArgCounts), 0)
291
+
292
+ def AddInputArgCounts(builder, inputArgCounts):
293
+ NodeAddInputArgCounts(builder, inputArgCounts)
294
+
295
+ def NodeStartInputArgCountsVector(builder, numElems):
296
+ return builder.StartVector(4, numElems, 4)
297
+
298
+ def StartInputArgCountsVector(builder, numElems: int) -> int:
299
+ return NodeStartInputArgCountsVector(builder, numElems)
300
+
301
+ def NodeAddImplicitInputs(builder, implicitInputs):
302
+ builder.PrependUOffsetTRelativeSlot(12, flatbuffers.number_types.UOffsetTFlags.py_type(implicitInputs), 0)
303
+
304
+ def AddImplicitInputs(builder, implicitInputs):
305
+ NodeAddImplicitInputs(builder, implicitInputs)
306
+
307
+ def NodeStartImplicitInputsVector(builder, numElems):
308
+ return builder.StartVector(4, numElems, 4)
309
+
310
+ def StartImplicitInputsVector(builder, numElems: int) -> int:
311
+ return NodeStartImplicitInputsVector(builder, numElems)
312
+
313
+ def NodeEnd(builder):
314
+ return builder.EndObject()
315
+
316
+ def End(builder):
317
+ return NodeEnd(builder)
@@ -0,0 +1,126 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: fbs
4
+
5
+ import flatbuffers
6
+ from flatbuffers.compat import import_numpy
7
+ np = import_numpy()
8
+
9
+ class NodeEdge(object):
10
+ __slots__ = ['_tab']
11
+
12
+ @classmethod
13
+ def GetRootAs(cls, buf, offset=0):
14
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15
+ x = NodeEdge()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsNodeEdge(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ @classmethod
24
+ def NodeEdgeBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
25
+ return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4F\x52\x54\x4D", size_prefixed=size_prefixed)
26
+
27
+ # NodeEdge
28
+ def Init(self, buf, pos):
29
+ self._tab = flatbuffers.table.Table(buf, pos)
30
+
31
+ # NodeEdge
32
+ def NodeIndex(self):
33
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
34
+ if o != 0:
35
+ return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
36
+ return 0
37
+
38
+ # NodeEdge
39
+ def InputEdges(self, j):
40
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
41
+ if o != 0:
42
+ x = self._tab.Vector(o)
43
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 12
44
+ from ort_flatbuffers_py.fbs.EdgeEnd import EdgeEnd
45
+ obj = EdgeEnd()
46
+ obj.Init(self._tab.Bytes, x)
47
+ return obj
48
+ return None
49
+
50
+ # NodeEdge
51
+ def InputEdgesLength(self):
52
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
53
+ if o != 0:
54
+ return self._tab.VectorLen(o)
55
+ return 0
56
+
57
+ # NodeEdge
58
+ def InputEdgesIsNone(self):
59
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
60
+ return o == 0
61
+
62
+ # NodeEdge
63
+ def OutputEdges(self, j):
64
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
65
+ if o != 0:
66
+ x = self._tab.Vector(o)
67
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 12
68
+ from ort_flatbuffers_py.fbs.EdgeEnd import EdgeEnd
69
+ obj = EdgeEnd()
70
+ obj.Init(self._tab.Bytes, x)
71
+ return obj
72
+ return None
73
+
74
+ # NodeEdge
75
+ def OutputEdgesLength(self):
76
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
77
+ if o != 0:
78
+ return self._tab.VectorLen(o)
79
+ return 0
80
+
81
+ # NodeEdge
82
+ def OutputEdgesIsNone(self):
83
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
84
+ return o == 0
85
+
86
+ def NodeEdgeStart(builder):
87
+ builder.StartObject(3)
88
+
89
+ def Start(builder):
90
+ NodeEdgeStart(builder)
91
+
92
+ def NodeEdgeAddNodeIndex(builder, nodeIndex):
93
+ builder.PrependUint32Slot(0, nodeIndex, 0)
94
+
95
+ def AddNodeIndex(builder, nodeIndex):
96
+ NodeEdgeAddNodeIndex(builder, nodeIndex)
97
+
98
+ def NodeEdgeAddInputEdges(builder, inputEdges):
99
+ builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(inputEdges), 0)
100
+
101
+ def AddInputEdges(builder, inputEdges):
102
+ NodeEdgeAddInputEdges(builder, inputEdges)
103
+
104
+ def NodeEdgeStartInputEdgesVector(builder, numElems):
105
+ return builder.StartVector(12, numElems, 4)
106
+
107
+ def StartInputEdgesVector(builder, numElems: int) -> int:
108
+ return NodeEdgeStartInputEdgesVector(builder, numElems)
109
+
110
+ def NodeEdgeAddOutputEdges(builder, outputEdges):
111
+ builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(outputEdges), 0)
112
+
113
+ def AddOutputEdges(builder, outputEdges):
114
+ NodeEdgeAddOutputEdges(builder, outputEdges)
115
+
116
+ def NodeEdgeStartOutputEdgesVector(builder, numElems):
117
+ return builder.StartVector(12, numElems, 4)
118
+
119
+ def StartOutputEdgesVector(builder, numElems: int) -> int:
120
+ return NodeEdgeStartOutputEdgesVector(builder, numElems)
121
+
122
+ def NodeEdgeEnd(builder):
123
+ return builder.EndObject()
124
+
125
+ def End(builder):
126
+ return NodeEdgeEnd(builder)
@@ -0,0 +1,7 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: fbs
4
+
5
+ class NodeType(object):
6
+ Primitive = 0
7
+ Fused = 1
@@ -0,0 +1,160 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: fbs
4
+
5
+ import flatbuffers
6
+ from flatbuffers.compat import import_numpy
7
+ np = import_numpy()
8
+
9
+ # nodes to consider for a runtime optimization
10
+ # see corresponding type in onnxruntime/core/graph/runtime_optimization_record.h
11
+ class NodesToOptimizeIndices(object):
12
+ __slots__ = ['_tab']
13
+
14
+ @classmethod
15
+ def GetRootAs(cls, buf, offset=0):
16
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
17
+ x = NodesToOptimizeIndices()
18
+ x.Init(buf, n + offset)
19
+ return x
20
+
21
+ @classmethod
22
+ def GetRootAsNodesToOptimizeIndices(cls, buf, offset=0):
23
+ """This method is deprecated. Please switch to GetRootAs."""
24
+ return cls.GetRootAs(buf, offset)
25
+ @classmethod
26
+ def NodesToOptimizeIndicesBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
27
+ return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4F\x52\x54\x4D", size_prefixed=size_prefixed)
28
+
29
+ # NodesToOptimizeIndices
30
+ def Init(self, buf, pos):
31
+ self._tab = flatbuffers.table.Table(buf, pos)
32
+
33
+ # NodesToOptimizeIndices
34
+ def NodeIndices(self, j):
35
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
36
+ if o != 0:
37
+ a = self._tab.Vector(o)
38
+ return self._tab.Get(flatbuffers.number_types.Uint32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
39
+ return 0
40
+
41
+ # NodesToOptimizeIndices
42
+ def NodeIndicesAsNumpy(self):
43
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
44
+ if o != 0:
45
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Uint32Flags, o)
46
+ return 0
47
+
48
+ # NodesToOptimizeIndices
49
+ def NodeIndicesLength(self):
50
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
51
+ if o != 0:
52
+ return self._tab.VectorLen(o)
53
+ return 0
54
+
55
+ # NodesToOptimizeIndices
56
+ def NodeIndicesIsNone(self):
57
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
58
+ return o == 0
59
+
60
+ # NodesToOptimizeIndices
61
+ def NumInputs(self):
62
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
63
+ if o != 0:
64
+ return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
65
+ return 0
66
+
67
+ # NodesToOptimizeIndices
68
+ def NumOutputs(self):
69
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
70
+ if o != 0:
71
+ return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
72
+ return 0
73
+
74
+ # NodesToOptimizeIndices
75
+ def HasVariadicInput(self):
76
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
77
+ if o != 0:
78
+ return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
79
+ return False
80
+
81
+ # NodesToOptimizeIndices
82
+ def HasVariadicOutput(self):
83
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
84
+ if o != 0:
85
+ return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
86
+ return False
87
+
88
+ # NodesToOptimizeIndices
89
+ def NumVariadicInputs(self):
90
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
91
+ if o != 0:
92
+ return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
93
+ return 0
94
+
95
+ # NodesToOptimizeIndices
96
+ def NumVariadicOutputs(self):
97
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
98
+ if o != 0:
99
+ return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
100
+ return 0
101
+
102
+ def NodesToOptimizeIndicesStart(builder):
103
+ builder.StartObject(7)
104
+
105
+ def Start(builder):
106
+ NodesToOptimizeIndicesStart(builder)
107
+
108
+ def NodesToOptimizeIndicesAddNodeIndices(builder, nodeIndices):
109
+ builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(nodeIndices), 0)
110
+
111
+ def AddNodeIndices(builder, nodeIndices):
112
+ NodesToOptimizeIndicesAddNodeIndices(builder, nodeIndices)
113
+
114
+ def NodesToOptimizeIndicesStartNodeIndicesVector(builder, numElems):
115
+ return builder.StartVector(4, numElems, 4)
116
+
117
+ def StartNodeIndicesVector(builder, numElems: int) -> int:
118
+ return NodesToOptimizeIndicesStartNodeIndicesVector(builder, numElems)
119
+
120
+ def NodesToOptimizeIndicesAddNumInputs(builder, numInputs):
121
+ builder.PrependUint32Slot(1, numInputs, 0)
122
+
123
+ def AddNumInputs(builder, numInputs):
124
+ NodesToOptimizeIndicesAddNumInputs(builder, numInputs)
125
+
126
+ def NodesToOptimizeIndicesAddNumOutputs(builder, numOutputs):
127
+ builder.PrependUint32Slot(2, numOutputs, 0)
128
+
129
+ def AddNumOutputs(builder, numOutputs):
130
+ NodesToOptimizeIndicesAddNumOutputs(builder, numOutputs)
131
+
132
+ def NodesToOptimizeIndicesAddHasVariadicInput(builder, hasVariadicInput):
133
+ builder.PrependBoolSlot(3, hasVariadicInput, 0)
134
+
135
+ def AddHasVariadicInput(builder, hasVariadicInput):
136
+ NodesToOptimizeIndicesAddHasVariadicInput(builder, hasVariadicInput)
137
+
138
+ def NodesToOptimizeIndicesAddHasVariadicOutput(builder, hasVariadicOutput):
139
+ builder.PrependBoolSlot(4, hasVariadicOutput, 0)
140
+
141
+ def AddHasVariadicOutput(builder, hasVariadicOutput):
142
+ NodesToOptimizeIndicesAddHasVariadicOutput(builder, hasVariadicOutput)
143
+
144
+ def NodesToOptimizeIndicesAddNumVariadicInputs(builder, numVariadicInputs):
145
+ builder.PrependUint32Slot(5, numVariadicInputs, 0)
146
+
147
+ def AddNumVariadicInputs(builder, numVariadicInputs):
148
+ NodesToOptimizeIndicesAddNumVariadicInputs(builder, numVariadicInputs)
149
+
150
+ def NodesToOptimizeIndicesAddNumVariadicOutputs(builder, numVariadicOutputs):
151
+ builder.PrependUint32Slot(6, numVariadicOutputs, 0)
152
+
153
+ def AddNumVariadicOutputs(builder, numVariadicOutputs):
154
+ NodesToOptimizeIndicesAddNumVariadicOutputs(builder, numVariadicOutputs)
155
+
156
+ def NodesToOptimizeIndicesEnd(builder):
157
+ return builder.EndObject()
158
+
159
+ def End(builder):
160
+ return NodesToOptimizeIndicesEnd(builder)
@@ -0,0 +1,91 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: fbs
4
+
5
+ import flatbuffers
6
+ from flatbuffers.compat import import_numpy
7
+ np = import_numpy()
8
+
9
+ class OpIdKernelTypeStrArgsEntry(object):
10
+ __slots__ = ['_tab']
11
+
12
+ @classmethod
13
+ def GetRootAs(cls, buf, offset=0):
14
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15
+ x = OpIdKernelTypeStrArgsEntry()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsOpIdKernelTypeStrArgsEntry(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ @classmethod
24
+ def OpIdKernelTypeStrArgsEntryBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
25
+ return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4F\x52\x54\x4D", size_prefixed=size_prefixed)
26
+
27
+ # OpIdKernelTypeStrArgsEntry
28
+ def Init(self, buf, pos):
29
+ self._tab = flatbuffers.table.Table(buf, pos)
30
+
31
+ # OpIdKernelTypeStrArgsEntry
32
+ def OpId(self):
33
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
34
+ if o != 0:
35
+ return self._tab.String(o + self._tab.Pos)
36
+ return None
37
+
38
+ # OpIdKernelTypeStrArgsEntry
39
+ def KernelTypeStrArgs(self, j):
40
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
41
+ if o != 0:
42
+ x = self._tab.Vector(o)
43
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
44
+ x = self._tab.Indirect(x)
45
+ from ort_flatbuffers_py.fbs.KernelTypeStrArgsEntry import KernelTypeStrArgsEntry
46
+ obj = KernelTypeStrArgsEntry()
47
+ obj.Init(self._tab.Bytes, x)
48
+ return obj
49
+ return None
50
+
51
+ # OpIdKernelTypeStrArgsEntry
52
+ def KernelTypeStrArgsLength(self):
53
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
54
+ if o != 0:
55
+ return self._tab.VectorLen(o)
56
+ return 0
57
+
58
+ # OpIdKernelTypeStrArgsEntry
59
+ def KernelTypeStrArgsIsNone(self):
60
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
61
+ return o == 0
62
+
63
+ def OpIdKernelTypeStrArgsEntryStart(builder):
64
+ builder.StartObject(2)
65
+
66
+ def Start(builder):
67
+ OpIdKernelTypeStrArgsEntryStart(builder)
68
+
69
+ def OpIdKernelTypeStrArgsEntryAddOpId(builder, opId):
70
+ builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(opId), 0)
71
+
72
+ def AddOpId(builder, opId):
73
+ OpIdKernelTypeStrArgsEntryAddOpId(builder, opId)
74
+
75
+ def OpIdKernelTypeStrArgsEntryAddKernelTypeStrArgs(builder, kernelTypeStrArgs):
76
+ builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(kernelTypeStrArgs), 0)
77
+
78
+ def AddKernelTypeStrArgs(builder, kernelTypeStrArgs):
79
+ OpIdKernelTypeStrArgsEntryAddKernelTypeStrArgs(builder, kernelTypeStrArgs)
80
+
81
+ def OpIdKernelTypeStrArgsEntryStartKernelTypeStrArgsVector(builder, numElems):
82
+ return builder.StartVector(4, numElems, 4)
83
+
84
+ def StartKernelTypeStrArgsVector(builder, numElems: int) -> int:
85
+ return OpIdKernelTypeStrArgsEntryStartKernelTypeStrArgsVector(builder, numElems)
86
+
87
+ def OpIdKernelTypeStrArgsEntryEnd(builder):
88
+ return builder.EndObject()
89
+
90
+ def End(builder):
91
+ return OpIdKernelTypeStrArgsEntryEnd(builder)