qairt-visualizer 0.5.1__py3-none-win_amd64.whl → 0.6.0__py3-none-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 (309) hide show
  1. qairt_visualizer/core/helpers/version.py +23 -0
  2. qairt_visualizer/core/launchers/base_ui_launcher_context.py +28 -7
  3. qairt_visualizer/core/launchers/electron_launcher_context.py +72 -3
  4. qairt_visualizer/core/parsers/dlc_parser/dlc_parser.py +105 -33
  5. qairt_visualizer/core/parsers/dlc_parser/get_source_topology.py +47 -0
  6. qairt_visualizer/core/parsers/dlc_parser/libDlModelToolsPy.pyd +0 -0
  7. qairt_visualizer/core/parsers/dlc_parser/libDlModelToolsPy.so +0 -0
  8. qairt_visualizer/core/parsers/dlc_parser/libPyIrGraph.pyd +0 -0
  9. qairt_visualizer/core/parsers/dlc_parser/libPyIrGraph.so +0 -0
  10. qairt_visualizer/core/parsers/dlc_parser/models/op_tensor_mappings.py +8 -4
  11. qairt_visualizer/core/ui/dist/browser/__init__.py +47 -0
  12. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/acuity.js → acuity.js} +3 -3
  13. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/app.js → app.js} +63 -57
  14. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/armnn-schema.js → armnn-schema.js} +590 -5
  15. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/armnn.js → armnn.js} +3 -5
  16. qairt_visualizer/core/ui/dist/browser/assets/i18n/common/en.json +8 -2
  17. qairt_visualizer/core/ui/dist/browser/assets/i18n/graph/en.json +32 -36
  18. qairt_visualizer/core/ui/dist/browser/assets/i18n/panels/en.json +9 -3
  19. qairt_visualizer/core/ui/dist/browser/assets/i18n/panels/model-diff/en.json +6 -0
  20. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/barracuda.js → barracuda.js} +3 -3
  21. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/base.js → base.js} +20 -16
  22. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/bigdl.js → bigdl.js} +2 -2
  23. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/browser.js → browser.js} +59 -49
  24. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe.js → caffe.js} +3 -3
  25. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe2-proto.js → caffe2-proto.js} +26 -26
  26. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe2.js → caffe2.js} +113 -114
  27. qairt_visualizer/core/ui/dist/browser/chunk-3SMGFPTN.js +11 -0
  28. qairt_visualizer/core/ui/dist/browser/chunk-43LQFSHA.js +1 -0
  29. qairt_visualizer/core/ui/dist/browser/chunk-447NKSFT.js +1 -0
  30. qairt_visualizer/core/ui/dist/browser/chunk-5MAR72QP.js +1 -0
  31. qairt_visualizer/core/ui/dist/browser/chunk-7PTY53DS.js +5 -0
  32. qairt_visualizer/core/ui/dist/browser/chunk-GAUD627J.js +1 -0
  33. qairt_visualizer/core/ui/dist/browser/chunk-H7TLLCSI.js +1 -0
  34. qairt_visualizer/core/ui/dist/browser/chunk-HISUA6LZ.js +4 -0
  35. qairt_visualizer/core/ui/dist/browser/chunk-HXB7IAZI.js +1 -0
  36. qairt_visualizer/core/ui/dist/browser/chunk-L3QJ7DR2.js +1 -0
  37. qairt_visualizer/core/ui/dist/browser/chunk-M7SD7HRU.js +129 -0
  38. qairt_visualizer/core/ui/dist/browser/{chunk-HBP6TEQ6.js → chunk-MCR4N53U.js} +1 -1
  39. qairt_visualizer/core/ui/dist/browser/chunk-QD7PA2I4.js +19 -0
  40. qairt_visualizer/core/ui/dist/browser/chunk-TKZG6FLW.js +12 -0
  41. qairt_visualizer/core/ui/dist/browser/chunk-WFAVWONI.js +5 -0
  42. qairt_visualizer/core/ui/dist/browser/chunk-WRMDGTCT.js +35 -0
  43. qairt_visualizer/core/ui/dist/browser/chunk-X25J6H7V.js +1 -0
  44. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/circle-schema.js → circle-schema.js} +17 -0
  45. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/circle.js → circle.js} +3 -3
  46. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/cntk.js → cntk.js} +1 -1
  47. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/coreml-proto.js → coreml-proto.js} +1 -0
  48. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/coreml.js → coreml.js} +24 -21
  49. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dagre.js → dagre.js} +5 -5
  50. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/darknet-metadata.json → darknet-metadata.json} +0 -1
  51. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/darknet.js → darknet.js} +3 -3
  52. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/electron.mjs → desktop.mjs} +44 -131
  53. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dl4j.js → dl4j.js} +5 -2
  54. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dlc-schema.js → dlc-schema.js} +8 -8
  55. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dlc.js → dlc.js} +110 -29
  56. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dnn.js → dnn.js} +2 -4
  57. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dot.js → dot.js} +1 -1
  58. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/espresso.js → espresso.js} +1 -1
  59. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/executorch-schema.js → executorch-schema.js} +363 -42
  60. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/executorch.js → executorch.js} +108 -40
  61. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flatbuffers.js → flatbuffers.js} +1 -1
  62. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flax.js → flax.js} +1 -1
  63. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flux.js → flux.js} +2 -2
  64. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/gguf.js → gguf.js} +44 -24
  65. qairt_visualizer/core/ui/dist/browser/grapher.css +145 -0
  66. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/grapher.js → grapher.js} +24 -48
  67. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/hailo.js → hailo.js} +1 -1
  68. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/hickle.js → hickle.js} +1 -1
  69. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/imgdnn.js → imgdnn.js} +1 -1
  70. qairt_visualizer/core/ui/dist/browser/index.html +15 -16
  71. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/index.js → index.js} +2 -24
  72. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/json.js → json.js} +28 -3
  73. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/kann.js → kann.js} +1 -1
  74. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/keras-metadata.json → keras-metadata.json} +15 -7
  75. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/keras.js → keras.js} +13 -7
  76. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/kmodel.js → kmodel.js} +3 -3
  77. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/lasagne.js → lasagne.js} +2 -2
  78. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/lightgbm.js → lightgbm.js} +1 -1
  79. qairt_visualizer/core/ui/dist/browser/main-VGWU2273.js +1 -0
  80. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mediapipe.js → mediapipe.js} +1 -1
  81. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/megengine.js → megengine.js} +1 -1
  82. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/message.js → message.js} +3 -2
  83. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mlir.js → mlir.js} +53 -17
  84. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mlnet.js → mlnet.js} +2 -3
  85. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mnn-schema.js → mnn-schema.js} +9 -6
  86. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mnn.js → mnn.js} +2 -2
  87. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mslite.js → mslite.js} +3 -3
  88. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mxnet.js → mxnet.js} +2 -2
  89. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/ncnn.js → ncnn.js} +3 -2
  90. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnabla.js → nnabla.js} +4 -4
  91. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnef.js → nnef.js} +1 -1
  92. qairt_visualizer/core/ui/dist/browser/node.js +102 -0
  93. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/numpy.js → numpy.js} +9 -9
  94. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/om.js → om.js} +2 -2
  95. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onednn.js → onednn.js} +1 -1
  96. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onnx-metadata.json → onnx-metadata.json} +3500 -233
  97. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onnx-proto.js → onnx-proto.js} +436 -4
  98. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onnx.js → onnx.js} +284 -199
  99. qairt_visualizer/core/ui/dist/browser/onnx.py +231 -0
  100. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/openvino.js → openvino.js} +36 -31
  101. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/paddle-proto.js → paddle-proto.js} +54 -54
  102. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/paddle.js → paddle.js} +22 -3
  103. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pickle.js → pickle.js} +3 -3
  104. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/python.js → python.js} +743 -325
  105. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pytorch-metadata.json → pytorch-metadata.json} +3217 -2934
  106. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pytorch-proto.js → pytorch-proto.js} +4 -4
  107. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pytorch.js → pytorch.js} +172 -86
  108. qairt_visualizer/core/ui/dist/browser/pytorch.py +304 -0
  109. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/qnn.js → qnn.js} +6 -2
  110. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/rknn.js → rknn.js} +3 -3
  111. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/safetensors.js → safetensors.js} +2 -2
  112. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/sentencepiece.js → sentencepiece.js} +1 -1
  113. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/server.py → server.py} +95 -103
  114. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/sklearn-metadata.json → sklearn-metadata.json} +15 -10
  115. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/sklearn.js → sklearn.js} +5 -5
  116. qairt_visualizer/core/ui/dist/browser/{styles-MRR6DOT2.css → styles-52VQCFP5.css} +1 -1
  117. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tar.js → tar.js} +18 -1
  118. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tengine.js → tengine.js} +1 -1
  119. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tensorrt.js → tensorrt.js} +1 -1
  120. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tf-metadata.json → tf-metadata.json} +1255 -163
  121. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tf-proto.js → tf-proto.js} +46 -12
  122. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tf.js → tf.js} +36 -13
  123. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tflite.js → tflite.js} +18 -21
  124. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tnn.js → tnn.js} +1 -3
  125. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/torch.js → torch.js} +1 -1
  126. qairt_visualizer/core/ui/dist/browser/transformers.js +171 -0
  127. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tvm.js → tvm.js} +2 -2
  128. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/uff.js → uff.js} +2 -2
  129. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/view.js → view.js} +1405 -1115
  130. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/weka.js → weka.js} +3 -4
  131. qairt_visualizer/core/ui/dist/browser/worker-CECUQ4FG.js +1 -0
  132. qairt_visualizer/core/ui/dist/browser/worker-IGSZ74QJ.js +4 -0
  133. qairt_visualizer/core/ui/dist/browser/xgboost.js +59 -0
  134. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/xml.js → xml.js} +2 -2
  135. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/xmodel.js → xmodel.js} +1 -1
  136. qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/zip.js → zip.js} +38 -41
  137. qairt_visualizer/core/ui/dist/qairt_visualizer.exe +0 -0
  138. qairt_visualizer/core/ui/dist/resources/app.asar +0 -0
  139. {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.6.0.dist-info}/METADATA +1 -1
  140. qairt_visualizer-0.6.0.dist-info/RECORD +264 -0
  141. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/CITATION.cff +0 -10
  142. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/CONTRIBUTING.md +0 -29
  143. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/LICENSE +0 -21
  144. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/README.md +0 -36
  145. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/jenkins/Jenkinsfile +0 -69
  146. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/package-lock.json +0 -5743
  147. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/package.js +0 -689
  148. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/package.json +0 -53
  149. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/package.py +0 -87
  150. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/background.png +0 -0
  151. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/background.svg +0 -5
  152. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/background@2x.png +0 -0
  153. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/electron-builder.json +0 -109
  154. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/eslint.config.js +0 -231
  155. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/forge.config.js +0 -87
  156. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.html +0 -27
  157. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.icns +0 -0
  158. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.icns.svg +0 -175
  159. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.ico +0 -0
  160. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.png +0 -0
  161. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.svg +0 -179
  162. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/notarize.cjs +0 -24
  163. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/pyproject.toml +0 -63
  164. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/setup.py +0 -43
  165. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/resolve_upgrade_merge.sh +0 -10
  166. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/__init__.py +0 -41
  167. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/cambricon.js +0 -32
  168. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/favicon.ico +0 -0
  169. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/grapher.css +0 -602
  170. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/index.html +0 -2222
  171. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/modular.js +0 -81
  172. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/onnx.py +0 -227
  173. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/pytorch.py +0 -298
  174. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/qais/qcontrol.js +0 -207
  175. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/qais/qgraph-toolkit.js +0 -123
  176. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/qais/qsubgraph.js +0 -226
  177. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/qais/qsummary-panel.js +0 -89
  178. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/server.js +0 -250
  179. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/backend.py +0 -80
  180. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/measures.py +0 -27
  181. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/models.js +0 -359
  182. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/models.json +0 -8523
  183. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/worker.js +0 -859
  184. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/armnn +0 -33
  185. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/bigdl +0 -33
  186. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/caffe +0 -37
  187. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/caffe-script.js +0 -12
  188. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/circle +0 -43
  189. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/circle-script.js +0 -87
  190. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/circle_script.js +0 -73
  191. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/cntk +0 -33
  192. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/coreml +0 -49
  193. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/dlc +0 -20
  194. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/dlc.fbs +0 -165
  195. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/dnn +0 -20
  196. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/dnn.proto +0 -79
  197. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/executorch +0 -41
  198. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/flatc.js +0 -1315
  199. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/gguf +0 -22
  200. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/kann +0 -33
  201. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/keras +0 -62
  202. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/keras_metadata.py +0 -205
  203. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/keras_script.py +0 -204
  204. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mediapipe +0 -72
  205. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/megengine +0 -47
  206. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/megengine-script.js +0 -113
  207. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/megengine_script.js +0 -112
  208. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mnn +0 -40
  209. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mslite +0 -45
  210. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mslite-script.js +0 -83
  211. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mslite_metadata.js +0 -82
  212. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/nnabla +0 -79
  213. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/nnabla_script.py +0 -145
  214. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/om +0 -26
  215. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/om.proto +0 -204
  216. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/onnx +0 -135
  217. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/onnx_metadata.py +0 -233
  218. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/onnx_script.py +0 -332
  219. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/paddle +0 -38
  220. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/protoc.js +0 -1609
  221. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/pytorch +0 -85
  222. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/pytorch_metadata.py +0 -166
  223. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/pytorch_script.py +0 -404
  224. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/rknn +0 -20
  225. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/rknn.fbs +0 -78
  226. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/sentencepiece +0 -39
  227. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/sklearn +0 -65
  228. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/sklearn_metadata.py +0 -126
  229. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/sklearn_script.py +0 -129
  230. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tf +0 -97
  231. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tf_metadata.py +0 -403
  232. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tf_script.py +0 -422
  233. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tflite-script.js +0 -87
  234. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tflite_metadata.js +0 -73
  235. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/uff +0 -20
  236. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/uff.proto +0 -127
  237. qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/xmodel +0 -36
  238. qairt_visualizer/core/ui/dist/browser/chunk-3NAQCYEU.js +0 -1
  239. qairt_visualizer/core/ui/dist/browser/chunk-NFKTPX3Z.js +0 -11
  240. qairt_visualizer/core/ui/dist/browser/chunk-OMI6HJ5Y.js +0 -19
  241. qairt_visualizer/core/ui/dist/browser/chunk-TTZXMRJ5.js +0 -34
  242. qairt_visualizer/core/ui/dist/browser/main-NXPVOKMG.js +0 -1
  243. qairt_visualizer/core/ui/dist/browser/worker-5VPKG2GV.js +0 -4
  244. qairt_visualizer/core/ui/dist/browser/worker-UVGWDZ5K.js +0 -1
  245. qairt_visualizer-0.5.1.dist-info/RECORD +0 -337
  246. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/acuity-metadata.json → acuity-metadata.json} +0 -0
  247. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/armnn-metadata.json → armnn-metadata.json} +0 -0
  248. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/bigdl-metadata.json → bigdl-metadata.json} +0 -0
  249. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/bigdl-proto.js → bigdl-proto.js} +0 -0
  250. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe-metadata.json → caffe-metadata.json} +0 -0
  251. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe-proto.js → caffe-proto.js} +0 -0
  252. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe2-metadata.json → caffe2-metadata.json} +0 -0
  253. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/catboost.js → catboost.js} +0 -0
  254. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/circle-metadata.json → circle-metadata.json} +0 -0
  255. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/cntk-metadata.json → cntk-metadata.json} +0 -0
  256. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/cntk-proto.js → cntk-proto.js} +0 -0
  257. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/coreml-metadata.json → coreml-metadata.json} +0 -0
  258. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dl4j-metadata.json → dl4j-metadata.json} +0 -0
  259. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dlc-metadata.json → dlc-metadata.json} +0 -0
  260. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dnn-metadata.json → dnn-metadata.json} +0 -0
  261. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dnn-proto.js → dnn-proto.js} +0 -0
  262. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/espresso-metadata.json → espresso-metadata.json} +0 -0
  263. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flexbuffers.js → flexbuffers.js} +0 -0
  264. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flux-metadata.json → flux-metadata.json} +0 -0
  265. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/hailo-metadata.json → hailo-metadata.json} +0 -0
  266. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/hdf5.js → hdf5.js} +0 -0
  267. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/icon.png → icon.png} +0 -0
  268. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/kann-metadata.json → kann-metadata.json} +0 -0
  269. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/kann-schema.js → kann-schema.js} +0 -0
  270. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/keras-proto.js → keras-proto.js} +0 -0
  271. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/lasagne-metadata.json → lasagne-metadata.json} +0 -0
  272. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/megengine-metadata.json → megengine-metadata.json} +0 -0
  273. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/megengine-schema.js → megengine-schema.js} +0 -0
  274. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mlnet-metadata.json → mlnet-metadata.json} +0 -0
  275. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mnn-metadata.json → mnn-metadata.json} +0 -0
  276. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mslite-metadata.json → mslite-metadata.json} +0 -0
  277. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mslite-schema.js → mslite-schema.js} +0 -0
  278. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mxnet-metadata.json → mxnet-metadata.json} +0 -0
  279. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/ncnn-metadata.json → ncnn-metadata.json} +0 -0
  280. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnabla-metadata.json → nnabla-metadata.json} +0 -0
  281. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnabla-proto.js → nnabla-proto.js} +0 -0
  282. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnc.js → nnc.js} +0 -0
  283. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/om-metadata.json → om-metadata.json} +0 -0
  284. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/om-proto.js → om-proto.js} +0 -0
  285. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onednn-metadata.json → onednn-metadata.json} +0 -0
  286. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onnx-schema.js → onnx-schema.js} +0 -0
  287. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/openvino-metadata.json → openvino-metadata.json} +0 -0
  288. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/paddle-metadata.json → paddle-metadata.json} +0 -0
  289. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/paddle-schema.js → paddle-schema.js} +0 -0
  290. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/protobuf.js → protobuf.js} +0 -0
  291. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pytorch-schema.js → pytorch-schema.js} +0 -0
  292. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/qnn-metadata.json → qnn-metadata.json} +0 -0
  293. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/rknn-metadata.json → rknn-metadata.json} +0 -0
  294. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/rknn-schema.js → rknn-schema.js} +0 -0
  295. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/sentencepiece-proto.js → sentencepiece-proto.js} +0 -0
  296. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tengine-metadata.json → tengine-metadata.json} +0 -0
  297. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/text.js → text.js} +0 -0
  298. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tflite-metadata.json → tflite-metadata.json} +0 -0
  299. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tflite-schema.js → tflite-schema.js} +0 -0
  300. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tnn-metadata.json → tnn-metadata.json} +0 -0
  301. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/torch-metadata.json → torch-metadata.json} +0 -0
  302. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/uff-metadata.json → uff-metadata.json} +0 -0
  303. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/uff-proto.js → uff-proto.js} +0 -0
  304. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/worker.js → worker.js} +0 -0
  305. /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/xmodel-proto.js → xmodel-proto.js} +0 -0
  306. {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.6.0.dist-info}/LICENSE.pdf +0 -0
  307. {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.6.0.dist-info}/WHEEL +0 -0
  308. {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.6.0.dist-info}/entry_points.txt +0 -0
  309. {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.6.0.dist-info}/top_level.txt +0 -0
@@ -18,7 +18,8 @@ onnx.ModelFactory = class {
18
18
  onnx.TextReader,
19
19
  onnx.JsonReader,
20
20
  onnx.PickleReader,
21
- onnx.DataReader
21
+ onnx.DataReader,
22
+ onnx.MetaReader
22
23
  ];
23
24
  for (const entry of entries) {
24
25
  /* eslint-disable no-await-in-loop */
@@ -40,7 +41,7 @@ onnx.ModelFactory = class {
40
41
  }
41
42
 
42
43
  filter(context, type) {
43
- return context.type !== 'onnx.proto' || (type !== 'onnx.data' && type !== 'dot');
44
+ return context.type !== 'onnx.proto' || (type !== 'onnx.data' && type !== 'onnx.meta' && type !== 'dot');
44
45
  }
45
46
  };
46
47
 
@@ -48,7 +49,7 @@ onnx.Model = class {
48
49
 
49
50
  constructor(metadata, target) {
50
51
  const model = target.model;
51
- this._graphs = [];
52
+ this._modules = [];
52
53
  this._format = target.format;
53
54
  this._producer = model.producer_name && model.producer_name.length > 0 ? model.producer_name + (model.producer_version && model.producer_version.length > 0 ? ` ${model.producer_version}` : '') : null;
54
55
  this._domain = model.domain;
@@ -116,9 +117,11 @@ onnx.Model = class {
116
117
  imageFormat = [imageMetadata['Image.BitmapPixelFormat'], imageMetadata['Image.ColorSpaceGamma'], imageMetadata['Image.NominalPixelRange']].filter((item) => item);
117
118
  }
118
119
  const context = new onnx.Context.Model(metadata, target.locations, imageFormat, imports, model.graph, model.functions);
119
- if (context.graph) {
120
- this._graphs.push(context.graph);
120
+ const graph = context.graph(null);
121
+ if (graph) {
122
+ this._modules.push(graph);
121
123
  }
124
+ this._functions = context.functions;
122
125
  }
123
126
 
124
127
  get format() {
@@ -153,8 +156,12 @@ onnx.Model = class {
153
156
  return this._metadata;
154
157
  }
155
158
 
156
- get graphs() {
157
- return this._graphs;
159
+ get modules() {
160
+ return this._modules;
161
+ }
162
+
163
+ get functions() {
164
+ return this._functions;
158
165
  }
159
166
  };
160
167
 
@@ -177,23 +184,20 @@ onnx.Graph = class {
177
184
  }
178
185
  }
179
186
  }
180
- if (Array.isArray(graph.value_info)) {
181
- for (const value of graph.value_info) {
182
- const tensor = context.tensor(value.name);
183
- tensor.type = context.createType(value.type);
184
- tensor.description = value.doc_string;
185
- }
186
- }
187
187
  graph.input = graph.input.map((value) => {
188
188
  const tensor = context.tensor(value.name);
189
189
  tensor.type = context.createType(value.type);
190
190
  tensor.description = value.doc_string;
191
+ const metadata_props = value.metadata_props || [];
192
+ tensor.metadata = metadata_props.map((metadata) => new onnx.Argument(metadata.key, metadata.value));
191
193
  return tensor;
192
194
  });
193
195
  graph.output = graph.output.map((value) => {
194
196
  const tensor = context.tensor(value.name);
195
197
  tensor.type = context.createType(value.type);
196
198
  tensor.description = value.doc_string;
199
+ const metadata_props = value.metadata_props || [];
200
+ tensor.metadata = metadata_props.map((metadata) => new onnx.Argument(metadata.key, metadata.value));
197
201
  return tensor;
198
202
  });
199
203
  const inference = new onnx.Inference(graph.node);
@@ -204,20 +208,20 @@ onnx.Graph = class {
204
208
  this._nodes = context.pop();
205
209
  for (const input of graph.input) {
206
210
  const value = context.value(input.name);
211
+ value.metadata = input.metadata || [];
207
212
  if (!value.initializer) {
208
213
  this._inputs.push(new onnx.Argument(input.name, [value]));
209
214
  }
210
215
  }
211
216
  for (const output of graph.output) {
212
217
  const value = context.value(output.name);
218
+ value.metadata = output.metadata || [];
213
219
  if (!value.initializer) {
214
220
  this._outputs.push(new onnx.Argument(output.name, [value]));
215
221
  }
216
222
  }
217
223
  const metadata_props = graph.metadata_props || [];
218
- this.metadata = metadata_props.map((metadata) => {
219
- return new onnx.Argument(metadata.key, metadata.value);
220
- });
224
+ this.metadata = metadata_props.map((metadata) => new onnx.Argument(metadata.key, metadata.value));
221
225
  }
222
226
 
223
227
  get name() {
@@ -351,92 +355,12 @@ onnx.Node = class {
351
355
  this.description = node.doc_string || '';
352
356
  this.inputs = inputs || [];
353
357
  this.outputs = outputs || [];
354
- this.attributes = attributes.map((attribute) => {
355
- const name = attribute.name;
356
- let type = null;
357
- let value = null;
358
- let visible = true;
359
- if (attribute.ref_attr_name) {
360
- value = attribute.ref_attr_name;
361
- type = 'reference';
362
- } else {
363
- switch (attribute.type) {
364
- case onnx.AttributeType.UNDEFINED:
365
- break;
366
- case onnx.AttributeType.FLOAT:
367
- value = attribute.f;
368
- type = 'float32';
369
- break;
370
- case onnx.AttributeType.INT:
371
- value = BigInt(attribute.i);
372
- type = 'int64';
373
- break;
374
- case onnx.AttributeType.STRING:
375
- value = op_type === 'Int8GivenTensorFill' ? Array.from(attribute.s) : context.decodeText(attribute.s);
376
- type = 'string';
377
- break;
378
- case onnx.AttributeType.TENSOR:
379
- value = new onnx.Tensor(context, attribute.t);
380
- type = 'tensor';
381
- break;
382
- case onnx.AttributeType.GRAPH:
383
- value = context.graph(attribute.g);
384
- type = 'graph';
385
- break;
386
- case onnx.AttributeType.FLOATS:
387
- value = ArrayBuffer.isView(attribute.floats) ? Array.from(attribute.floats) : attribute.floats;
388
- type = 'float32[]';
389
- break;
390
- case onnx.AttributeType.INTS:
391
- value = ArrayBuffer.isView(attribute.ints) ? Array.from(attribute.ints) : attribute.ints.map((value) => BigInt(value));
392
- type = 'int64[]';
393
- break;
394
- case onnx.AttributeType.STRINGS:
395
- value = attribute.strings.map((s) => context.decodeText(s));
396
- type = 'string[]';
397
- break;
398
- case onnx.AttributeType.TENSORS:
399
- value = attribute.tensors.map((tensor) => new onnx.Tensor(context, tensor));
400
- type = 'tensor[]';
401
- break;
402
- case onnx.AttributeType.GRAPHS:
403
- value = attribute.graphs.map((graph) => context.graph(graph));
404
- type = 'graph[]';
405
- break;
406
- case onnx.AttributeType.SPARSE_TENSOR:
407
- value = new onnx.Tensor(context, attribute.sparse_tensor);
408
- type = 'tensor';
409
- break;
410
- case onnx.AttributeType.SPARSE_TENSORS:
411
- value = attribute.sparse_tensors.map((tensor) => new onnx.Tensor(context, tensor));
412
- type = 'tensor[]';
413
- break;
414
- case onnx.AttributeType.TYPE_PROTO:
415
- value = context.createType(attribute.tp);
416
- type = 'type';
417
- break;
418
- case onnx.AttributeType.TYPE_PROTOS:
419
- value = attribute.type_protos.map((type) => context.createType(type));
420
- type = 'type[]';
421
- break;
422
- default:
423
- throw new onnx.Error(`Unsupported attribute type '${attribute.type}'.`);
424
- }
425
- const metadata = context.attribute(domain, op_type, overload, attribute.name);
426
- if (metadata) {
427
- if (metadata.default !== undefined) {
428
- const defaultValue = type === 'int64' ? BigInt(metadata.default) : metadata.default;
429
- if (value === defaultValue) {
430
- visible = false;
431
- }
432
- }
433
- if (metadata.type === 'DataType') {
434
- type = metadata.type;
435
- value = context.createDataType(value);
436
- }
437
- }
358
+ this.attributes = attributes.map((attr) => {
359
+ if (op_type === 'Int8GivenTensorFill' && attr.s && attr.s.length > 0) {
360
+ return new onnx.Argument(attr.name, Array.from(attr.s), 'byte[]');
438
361
  }
439
- return new onnx.Argument(name, value, type, attribute.doc_string, visible);
362
+ const metadata = context.attribute(domain, op_type, overload, attr.name);
363
+ return context.createAttribute(attr, metadata);
440
364
  });
441
365
  this.chain = [];
442
366
  const identifier = domain ? `${domain}.${op_type}` : op_type;
@@ -853,9 +777,15 @@ onnx.Function = class {
853
777
  this.description = func.doc_string;
854
778
  this.inputs = [];
855
779
  this.outputs = [];
856
- this.attributes = func.attribute.map((attribtue) => {
857
- return { name: attribtue };
858
- });
780
+ this.attributes = [];
781
+ for (let i = 0; i < func.attribute.length; i++) {
782
+ const attribute = new onnx.Argument(i.toString(), func.attribute[i]);
783
+ this.attributes.push(attribute);
784
+ }
785
+ for (const attr of func.attribute_proto) {
786
+ const attribute = context.createAttribute(attr, func.domain, func.name, func.overload);
787
+ this.attributes.push(attribute);
788
+ }
859
789
  context = new onnx.Context.Graph(context, func);
860
790
  func.input = func.input.map((input) => context.tensor(input));
861
791
  func.output = func.output.map((output) => context.tensor(output));
@@ -883,11 +813,17 @@ onnx.Context.Model = class {
883
813
  constructor(metadata, locations, imageFormat, imports, graph, functions) {
884
814
  this._metadata = metadata;
885
815
  this._locations = locations;
816
+ this._dataTypes = new Map(Object.entries(onnx.DataType).map(([name, value]) => [value, name.toLowerCase()]));
817
+ this._dataTypes.set(onnx.DataType.UNDEFINED, 'undefined');
818
+ this._dataTypes.set(onnx.DataType.BOOL, 'boolean');
819
+ this._dataTypes.set(onnx.DataType.FLOAT, 'float32');
820
+ this._dataTypes.set(onnx.DataType.DOUBLE, 'float64');
886
821
  this._imageFormat = imageFormat;
887
822
  this._imports = imports;
888
823
  this._types = new Map();
889
824
  this._attributes = new Map();
890
825
  this._graph = null;
826
+ this._graphs = new Map();
891
827
  this._functions = new Map();
892
828
  for (const func of functions || []) {
893
829
  const key = func.overload ? `${func.domain}:${func.name}:${func.overload}` : `${func.domain}:${func.name}`;
@@ -986,12 +922,23 @@ onnx.Context.Model = class {
986
922
  }
987
923
  }
988
924
 
989
- get imageFormat() {
990
- return this._imageFormat;
925
+ graph(value) {
926
+ if (value === null) {
927
+ return this._graph;
928
+ }
929
+ if (!this._graphs.has(value)) {
930
+ this._graphs.set(value, new onnx.Graph(this, value));
931
+ }
932
+ return this._graphs.get(value);
991
933
  }
992
934
 
993
- get graph() {
994
- return this._graph;
935
+ get functions() {
936
+ for (const [, func] of this._functions) {
937
+ if (func instanceof onnx.Function === false) {
938
+ this.type(func.domain, func.name, func.overload);
939
+ }
940
+ }
941
+ return Array.from(this._functions.values());
995
942
  }
996
943
 
997
944
  location(name) {
@@ -1011,7 +958,7 @@ onnx.Context.Model = class {
1011
958
  let value = null;
1012
959
  if (this._functions.has(key)) {
1013
960
  value = this._functions.get(key);
1014
- if (value.domain !== undefined) {
961
+ if (value && value instanceof onnx.Function === false) {
1015
962
  value = new onnx.Function(this, value);
1016
963
  this._functions.set(key, value);
1017
964
  }
@@ -1039,6 +986,180 @@ onnx.Context.Model = class {
1039
986
  }
1040
987
  return this._attributes.get(key);
1041
988
  }
989
+
990
+ decodeText(value) {
991
+ if (typeof value === 'string') {
992
+ return value;
993
+ }
994
+ this._decoder = this._decoder || new TextDecoder('utf-8');
995
+ return this._decoder.decode(value);
996
+ }
997
+
998
+ createAttribute(attribute, metadata) {
999
+ const name = attribute.name;
1000
+ let type = null;
1001
+ let value = null;
1002
+ let visible = true;
1003
+ if (attribute.ref_attr_name) {
1004
+ value = attribute.ref_attr_name;
1005
+ type = 'reference';
1006
+ } else {
1007
+ switch (attribute.type) {
1008
+ case onnx.AttributeType.UNDEFINED:
1009
+ break;
1010
+ case onnx.AttributeType.FLOAT:
1011
+ value = attribute.f;
1012
+ type = 'float32';
1013
+ break;
1014
+ case onnx.AttributeType.INT:
1015
+ value = BigInt(attribute.i);
1016
+ type = 'int64';
1017
+ break;
1018
+ case onnx.AttributeType.STRING:
1019
+ value = this.decodeText(attribute.s);
1020
+ type = 'string';
1021
+ break;
1022
+ case onnx.AttributeType.TENSOR:
1023
+ value = new onnx.Tensor(this, attribute.t);
1024
+ type = 'tensor';
1025
+ break;
1026
+ case onnx.AttributeType.GRAPH:
1027
+ value = this.graph(attribute.g);
1028
+ type = 'graph';
1029
+ break;
1030
+ case onnx.AttributeType.FLOATS:
1031
+ value = ArrayBuffer.isView(attribute.floats) ? Array.from(attribute.floats) : attribute.floats;
1032
+ type = 'float32[]';
1033
+ break;
1034
+ case onnx.AttributeType.INTS:
1035
+ value = ArrayBuffer.isView(attribute.ints) ? Array.from(attribute.ints) : attribute.ints.map((value) => BigInt(value));
1036
+ type = 'int64[]';
1037
+ break;
1038
+ case onnx.AttributeType.STRINGS:
1039
+ value = attribute.strings.map((s) => this.decodeText(s));
1040
+ type = 'string[]';
1041
+ break;
1042
+ case onnx.AttributeType.TENSORS:
1043
+ value = attribute.tensors.map((tensor) => new onnx.Tensor(this, tensor));
1044
+ type = 'tensor[]';
1045
+ break;
1046
+ case onnx.AttributeType.GRAPHS:
1047
+ value = attribute.graphs.map((graph) => this.graph(graph));
1048
+ type = 'graph[]';
1049
+ break;
1050
+ case onnx.AttributeType.SPARSE_TENSOR:
1051
+ value = new onnx.Tensor(this, attribute.sparse_tensor);
1052
+ type = 'tensor';
1053
+ break;
1054
+ case onnx.AttributeType.SPARSE_TENSORS:
1055
+ value = attribute.sparse_tensors.map((tensor) => new onnx.Tensor(this, tensor));
1056
+ type = 'tensor[]';
1057
+ break;
1058
+ case onnx.AttributeType.TYPE_PROTO:
1059
+ value = this.createType(attribute.tp);
1060
+ type = 'type';
1061
+ break;
1062
+ case onnx.AttributeType.TYPE_PROTOS:
1063
+ value = attribute.type_protos.map((type) => this.createType(type));
1064
+ type = 'type[]';
1065
+ break;
1066
+ default:
1067
+ throw new onnx.Error(`Unsupported attribute type '${attribute.type}'.`);
1068
+ }
1069
+ if (metadata) {
1070
+ if (metadata.default !== undefined) {
1071
+ const defaultValue = type === 'int64' ? BigInt(metadata.default) : metadata.default;
1072
+ if (value === defaultValue) {
1073
+ visible = false;
1074
+ }
1075
+ }
1076
+ if (metadata.type === 'DataType') {
1077
+ type = metadata.type;
1078
+ value = this.createDataType(value);
1079
+ }
1080
+ }
1081
+ }
1082
+ return new onnx.Argument(name, value, type, attribute.doc_string, visible);
1083
+ }
1084
+
1085
+ createType(type) {
1086
+ if (!type) {
1087
+ return null;
1088
+ }
1089
+ let denotation = '';
1090
+ switch (type.denotation) {
1091
+ case undefined:
1092
+ case null:
1093
+ case '':
1094
+ break;
1095
+ case 'TENSOR':
1096
+ denotation = 'Tensor';
1097
+ break;
1098
+ case 'IMAGE':
1099
+ denotation = `Image${this._imageFormat ? `(${this._imageFormat.join(',')})` : ''}`;
1100
+ break;
1101
+ case 'AUDIO':
1102
+ denotation = 'Audio';
1103
+ break;
1104
+ case 'TEXT':
1105
+ denotation = 'Text';
1106
+ break;
1107
+ default:
1108
+ throw new onnx.Error(`Unsupported tensor type denotation '${type.denotation}'.`);
1109
+ }
1110
+ if (type.tensor_type) {
1111
+ const tensor_type = type.tensor_type;
1112
+ const shape = tensor_type.shape && tensor_type.shape.dim ? tensor_type.shape.dim.map((dim) => dim.dim_param ? dim.dim_param : dim.dim_value || null) : [];
1113
+ return this.createTensorType(tensor_type.elem_type, shape, null, denotation);
1114
+ } else if (type.sparse_tensor_type) {
1115
+ type = type.sparse_tensor_type;
1116
+ const shape = type.shape && type.shape.dim ? type.shape.dim.map((dim) => dim.dim_param ? dim.dim_param : dim.dim_value || null) : [];
1117
+ return this.createTensorType(type.elem_type, shape, 'sparse', denotation);
1118
+ } else if (type.map_type) {
1119
+ const keyType = this.createDataType(type.map_type.key_type);
1120
+ const valueType = this.createType(type.map_type.value_type);
1121
+ return new onnx.MapType(keyType, valueType, denotation);
1122
+ } else if (type.sequence_type) {
1123
+ return new onnx.SequenceType(this.createType(type.sequence_type.elem_type), denotation);
1124
+ } else if (type.opaque_type) {
1125
+ return new onnx.OpaqueType(type.opaque_type.domain, type.opaque_type.name);
1126
+ } else if (type.optional_type) {
1127
+ return new onnx.OptionalType(this.createType(type.optional_type.elem_type), denotation);
1128
+ } else if (Object.keys(type).length === 0) {
1129
+ return null;
1130
+ }
1131
+ throw new onnx.Error(`Unsupported tensor type '${JSON.stringify(type)}'.`);
1132
+ }
1133
+
1134
+ createDataType(value) {
1135
+ if (!Number.isInteger(value)) {
1136
+ if (typeof value === 'bigint') {
1137
+ value = value.toNumber();
1138
+ } else if (value && typeof value === 'string' && onnx.DataType[value.toUpperCase()] !== undefined) {
1139
+ value = onnx.DataType[value.toUpperCase()];
1140
+ } else {
1141
+ throw new onnx.Error(`Unsupported data type '${JSON.stringify(value)}'.`);
1142
+ }
1143
+ }
1144
+ if (this._dataTypes.has(value)) {
1145
+ return this._dataTypes.get(value);
1146
+ }
1147
+ throw new onnx.Error(`Unsupported data type '${JSON.stringify(value)}'.`);
1148
+ }
1149
+
1150
+ createLocation(value) {
1151
+ switch (value) {
1152
+ case undefined:
1153
+ case onnx.DataLocation.DEFAULT: return '';
1154
+ case onnx.DataLocation.EXTERNAL: return 'external';
1155
+ default: return 'undefined';
1156
+ }
1157
+ }
1158
+
1159
+ createTensorType(dataType, shape, layout, denotation) {
1160
+ dataType = this.createDataType(dataType);
1161
+ return new onnx.TensorType(dataType, new onnx.TensorShape(shape), layout, denotation);
1162
+ }
1042
1163
  };
1043
1164
 
1044
1165
  onnx.Metadata = class {
@@ -1177,12 +1298,6 @@ onnx.Context.Graph = class {
1177
1298
 
1178
1299
  constructor(context, graph) {
1179
1300
  this._context = context;
1180
- this._dataTypes = new Map(Object.entries(onnx.DataType).map(([name, value]) => [value, name.toLowerCase()]));
1181
- this._dataTypes.set(onnx.DataType.UNDEFINED, 'undefined');
1182
- this._dataTypes.set(onnx.DataType.BOOL, 'boolean');
1183
- this._dataTypes.set(onnx.DataType.FLOAT, 'float32');
1184
- this._dataTypes.set(onnx.DataType.DOUBLE, 'float64');
1185
- this._graphs = new Map();
1186
1301
  this._initializers = new Map();
1187
1302
  this._tensors = new Map();
1188
1303
  this._values = new Map();
@@ -1200,6 +1315,13 @@ onnx.Context.Graph = class {
1200
1315
  this._initializers.set(sparse_initializer.values.name, tensor);
1201
1316
  }
1202
1317
  }
1318
+ if (Array.isArray(graph.value_info)) {
1319
+ for (const value of graph.value_info) {
1320
+ const tensor = this.tensor(value.name);
1321
+ tensor.type = this.createType(value.type);
1322
+ tensor.description = value.doc_string;
1323
+ }
1324
+ }
1203
1325
  for (const node of graph.node) {
1204
1326
  node.input = node.input.map((name) => this.tensor(name));
1205
1327
  node.output = node.output.map((name) => this.tensor(name));
@@ -1245,13 +1367,6 @@ onnx.Context.Graph = class {
1245
1367
  return this._context.attribute(domain, type, overload, name);
1246
1368
  }
1247
1369
 
1248
- graph(value) {
1249
- if (!this._graphs.has(value)) {
1250
- this._graphs.set(value, new onnx.Graph(this, value));
1251
- }
1252
- return this._graphs.get(value);
1253
- }
1254
-
1255
1370
  initializer(name) {
1256
1371
  if (this._initializers.has(name)) {
1257
1372
  return this._initializers.get(name);
@@ -1292,90 +1407,27 @@ onnx.Context.Graph = class {
1292
1407
  }
1293
1408
 
1294
1409
  createType(type) {
1295
- if (!type) {
1296
- return null;
1297
- }
1298
- let denotation = '';
1299
- switch (type.denotation) {
1300
- case undefined:
1301
- case null:
1302
- case '':
1303
- break;
1304
- case 'TENSOR':
1305
- denotation = 'Tensor';
1306
- break;
1307
- case 'IMAGE':
1308
- denotation = `Image${this._context.imageFormat ? `(${this._context.imageFormat.join(',')})` : ''}`;
1309
- break;
1310
- case 'AUDIO':
1311
- denotation = 'Audio';
1312
- break;
1313
- case 'TEXT':
1314
- denotation = 'Text';
1315
- break;
1316
- default:
1317
- throw new onnx.Error(`Unsupported tensor type denotation '${type.denotation}'.`);
1318
- }
1319
- if (type.tensor_type) {
1320
- const tensor_type = type.tensor_type;
1321
- const shape = tensor_type.shape && tensor_type.shape.dim ? tensor_type.shape.dim.map((dim) => dim.dim_param ? dim.dim_param : dim.dim_value || null) : [];
1322
- return this.createTensorType(tensor_type.elem_type, shape, null, denotation);
1323
- } else if (type.sparse_tensor_type) {
1324
- type = type.sparse_tensor_type;
1325
- const shape = type.shape && type.shape.dim ? type.shape.dim.map((dim) => dim.dim_param ? dim.dim_param : dim.dim_value || null) : [];
1326
- return this.createTensorType(type.elem_type, shape, 'sparse', denotation);
1327
- } else if (type.map_type) {
1328
- const keyType = this.createDataType(type.map_type.key_type);
1329
- const valueType = this.createType(type.map_type.value_type);
1330
- return new onnx.MapType(keyType, valueType, denotation);
1331
- } else if (type.sequence_type) {
1332
- return new onnx.SequenceType(this.createType(type.sequence_type.elem_type), denotation);
1333
- } else if (type.opaque_type) {
1334
- return new onnx.OpaqueType(type.opaque_type.domain, type.opaque_type.name);
1335
- } else if (type.optional_type) {
1336
- return new onnx.OptionalType(this.createType(type.optional_type.elem_type), denotation);
1337
- } else if (Object.keys(type).length === 0) {
1338
- return null;
1339
- }
1340
- throw new onnx.Error(`Unsupported tensor type '${JSON.stringify(type)}'.`);
1410
+ return this._context.createType(type);
1341
1411
  }
1342
1412
 
1343
1413
  createTensorType(dataType, shape, layout, denotation) {
1344
- dataType = this.createDataType(dataType);
1345
- return new onnx.TensorType(dataType, new onnx.TensorShape(shape), layout, denotation);
1414
+ return this._context.createTensorType(dataType, shape, layout, denotation);
1346
1415
  }
1347
1416
 
1348
1417
  createDataType(value) {
1349
- if (!Number.isInteger(value)) {
1350
- if (typeof value === 'bigint') {
1351
- value = value.toNumber();
1352
- } else if (value && typeof value === 'string' && onnx.DataType[value.toUpperCase()] !== undefined) {
1353
- value = onnx.DataType[value.toUpperCase()];
1354
- } else {
1355
- throw new onnx.Error(`Unsupported data type '${JSON.stringify(value)}'.`);
1356
- }
1357
- }
1358
- if (this._dataTypes.has(value)) {
1359
- return this._dataTypes.get(value);
1360
- }
1361
- throw new onnx.Error(`Unsupported data type '${JSON.stringify(value)}'.`);
1418
+ return this._context.createDataType(value);
1362
1419
  }
1363
1420
 
1364
1421
  createLocation(value) {
1365
- switch (value) {
1366
- case undefined:
1367
- case onnx.DataLocation.DEFAULT: return '';
1368
- case onnx.DataLocation.EXTERNAL: return 'external';
1369
- default: return 'undefined';
1370
- }
1422
+ return this._context.createLocation(value);
1423
+ }
1424
+
1425
+ createAttribute(attribute, metadata) {
1426
+ return this._context.createAttribute(attribute, metadata);
1371
1427
  }
1372
1428
 
1373
1429
  decodeText(value) {
1374
- if (typeof value === 'string') {
1375
- return value;
1376
- }
1377
- this._decoder = this._decoder || new TextDecoder('utf-8');
1378
- return this._decoder.decode(value);
1430
+ return this._context.decodeText(value);
1379
1431
  }
1380
1432
 
1381
1433
  push(nodes, inputs, outputs) {
@@ -1553,7 +1605,7 @@ onnx.ProtoReader = class {
1553
1605
  return new onnx.ProtoReader(context, 'text', 'model');
1554
1606
  }
1555
1607
  const identifier = context.identifier;
1556
- const extension = identifier.split('.').pop().toLowerCase();
1608
+ const extension = identifier.lastIndexOf('.') > 0 ? identifier.split('.').pop().toLowerCase() : '';
1557
1609
  if (tags.has('graph') && extension !== 'model') {
1558
1610
  return new onnx.ProtoReader(context, 'text', 'model');
1559
1611
  }
@@ -1678,7 +1730,7 @@ onnx.ProtoReader = class {
1678
1730
  const location = (tensor) => {
1679
1731
  if (onnx.proto && tensor instanceof onnx.proto.SparseTensorProto) {
1680
1732
  location(tensor.indices);
1681
- location(tensor.indices);
1733
+ location(tensor.values);
1682
1734
  } else if (tensor.data_location === onnx.DataLocation.EXTERNAL && Array.isArray(tensor.external_data)) {
1683
1735
  for (const entry of tensor.external_data) {
1684
1736
  if (entry.key === 'location') {
@@ -1743,7 +1795,7 @@ onnx.OrtReader = class {
1743
1795
 
1744
1796
  static async open(context) {
1745
1797
  const identifier = context.identifier;
1746
- const extension = identifier.split('.').pop().toLowerCase();
1798
+ const extension = identifier.lastIndexOf('.') > 0 ? identifier.split('.').pop().toLowerCase() : '';
1747
1799
  const reader = await context.peek('flatbuffers.binary');
1748
1800
  if (reader && reader.identifier === 'ORTM') {
1749
1801
  return new onnx.OrtReader(context);
@@ -2743,7 +2795,7 @@ onnx.PickleReader = class {
2743
2795
 
2744
2796
  static async open(context) {
2745
2797
  const identifier = context.identifier;
2746
- const extension = identifier.split('.').pop().toLowerCase();
2798
+ const extension = identifier.lastIndexOf('.') > 0 ? identifier.split('.').pop().toLowerCase() : '';
2747
2799
  const stream = context.stream;
2748
2800
  if (extension === 'onnx' && stream && stream.length > 3) {
2749
2801
  const signature = stream.peek(2);
@@ -2792,6 +2844,39 @@ onnx.DataReader = class {
2792
2844
  }
2793
2845
  };
2794
2846
 
2847
+ onnx.MetaReader = class {
2848
+
2849
+ static async open(context) {
2850
+ const identifier = context.identifier.toLowerCase();
2851
+ if (identifier.endsWith('.onnx.meta')) {
2852
+ const stream = context.stream;
2853
+ const buffer = context.stream.peek(Math.min(stream.length, 32));
2854
+ const content = String.fromCharCode.apply(null, buffer);
2855
+ if (content.startsWith('fileFormatVersion:') || content.startsWith('- !<AssetImportMetadata/')) {
2856
+ return new onnx.MetaReader(context, identifier);
2857
+ }
2858
+ }
2859
+ return null;
2860
+ }
2861
+
2862
+ constructor(context, identifier) {
2863
+ this.name = 'onnx.meta';
2864
+ this.context = context;
2865
+ this.identifier = identifier;
2866
+ this.locations = new Map();
2867
+ }
2868
+
2869
+ async read() {
2870
+ const file = this.identifier.substring(0, this.identifier.length - 5);
2871
+ const context = await this.context.fetch(file);
2872
+ const reader = new onnx.ProtoReader(context, 'binary', 'model');
2873
+ reader.locations = this.locations;
2874
+ await reader.read();
2875
+ this.format = reader.format;
2876
+ this.model = reader.model;
2877
+ }
2878
+ };
2879
+
2795
2880
  onnx.Location = class {
2796
2881
 
2797
2882
  constructor(context, name) {