qairt-visualizer 0.5.1__py3-none-win_amd64.whl → 0.7.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.
- qairt_visualizer/core/helpers/version.py +23 -0
- qairt_visualizer/core/launchers/base_ui_launcher_context.py +28 -7
- qairt_visualizer/core/launchers/electron_launcher_context.py +72 -3
- qairt_visualizer/core/parsers/dlc_parser/dlc_parser.py +105 -33
- qairt_visualizer/core/parsers/dlc_parser/get_source_topology.py +47 -0
- qairt_visualizer/core/parsers/dlc_parser/libDlModelToolsPy.pyd +0 -0
- qairt_visualizer/core/parsers/dlc_parser/libDlModelToolsPy.so +0 -0
- qairt_visualizer/core/parsers/dlc_parser/libPyIrGraph.pyd +0 -0
- qairt_visualizer/core/parsers/dlc_parser/libPyIrGraph.so +0 -0
- qairt_visualizer/core/parsers/dlc_parser/models/op_tensor_mappings.py +8 -4
- qairt_visualizer/core/ui/dist/browser/__init__.py +47 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/acuity.js → acuity.js} +3 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/app.js → app.js} +63 -57
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/armnn-schema.js → armnn-schema.js} +590 -5
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/armnn.js → armnn.js} +3 -5
- qairt_visualizer/core/ui/dist/browser/assets/i18n/common/en.json +8 -2
- qairt_visualizer/core/ui/dist/browser/assets/i18n/graph/en.json +44 -36
- qairt_visualizer/core/ui/dist/browser/assets/i18n/panels/en.json +9 -3
- qairt_visualizer/core/ui/dist/browser/assets/i18n/panels/model-diff/en.json +6 -0
- qairt_visualizer/core/ui/dist/browser/assets/i18n/workspaces/en.json +3 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/barracuda.js → barracuda.js} +3 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/base.js → base.js} +20 -16
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/bigdl.js → bigdl.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/browser.js → browser.js} +59 -49
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe.js → caffe.js} +3 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe2-proto.js → caffe2-proto.js} +26 -26
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe2.js → caffe2.js} +113 -114
- qairt_visualizer/core/ui/dist/browser/chunk-3SMGFPTN.js +11 -0
- qairt_visualizer/core/ui/dist/browser/chunk-43LQFSHA.js +1 -0
- qairt_visualizer/core/ui/dist/browser/chunk-447NKSFT.js +1 -0
- qairt_visualizer/core/ui/dist/browser/chunk-5MAR72QP.js +1 -0
- qairt_visualizer/core/ui/dist/browser/chunk-7PTY53DS.js +5 -0
- qairt_visualizer/core/ui/dist/browser/chunk-GAUD627J.js +1 -0
- qairt_visualizer/core/ui/dist/browser/chunk-H7TLLCSI.js +1 -0
- qairt_visualizer/core/ui/dist/browser/chunk-HISUA6LZ.js +4 -0
- qairt_visualizer/core/ui/dist/browser/chunk-HXB7IAZI.js +1 -0
- qairt_visualizer/core/ui/dist/browser/chunk-JPD5T7FP.js +120 -0
- qairt_visualizer/core/ui/dist/browser/chunk-L3QJ7DR2.js +1 -0
- qairt_visualizer/core/ui/dist/browser/{chunk-HBP6TEQ6.js → chunk-MCR4N53U.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/chunk-QD7PA2I4.js +19 -0
- qairt_visualizer/core/ui/dist/browser/chunk-TKZG6FLW.js +12 -0
- qairt_visualizer/core/ui/dist/browser/chunk-WFAVWONI.js +5 -0
- qairt_visualizer/core/ui/dist/browser/chunk-WRMDGTCT.js +35 -0
- qairt_visualizer/core/ui/dist/browser/chunk-X25J6H7V.js +1 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/circle-schema.js → circle-schema.js} +17 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/circle.js → circle.js} +3 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/cntk.js → cntk.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/coreml-proto.js → coreml-proto.js} +1 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/coreml.js → coreml.js} +24 -21
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dagre.js → dagre.js} +5 -5
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/darknet-metadata.json → darknet-metadata.json} +0 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/darknet.js → darknet.js} +3 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/electron.mjs → desktop.mjs} +44 -131
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dl4j.js → dl4j.js} +5 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dlc-schema.js → dlc-schema.js} +8 -8
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dlc.js → dlc.js} +110 -29
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dnn.js → dnn.js} +2 -4
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dot.js → dot.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/eaix.js +24 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/espresso.js → espresso.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/executorch-schema.js → executorch-schema.js} +363 -42
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/executorch.js → executorch.js} +108 -40
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flatbuffers.js → flatbuffers.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flax.js → flax.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flux.js → flux.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/gguf.js → gguf.js} +44 -24
- qairt_visualizer/core/ui/dist/browser/grapher.css +145 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/grapher.js → grapher.js} +24 -48
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/hailo.js → hailo.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/hickle.js → hickle.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/imgdnn.js → imgdnn.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/index.html +15 -16
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/index.js → index.js} +2 -24
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/json.js → json.js} +28 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/kann.js → kann.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/keras-metadata.json → keras-metadata.json} +15 -7
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/keras.js → keras.js} +13 -7
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/kmodel.js → kmodel.js} +3 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/lasagne.js → lasagne.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/lightgbm.js → lightgbm.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/main-EVI665MB.js +1 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mediapipe.js → mediapipe.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/megengine.js → megengine.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/message.js → message.js} +3 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mlir.js → mlir.js} +53 -17
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mlnet.js → mlnet.js} +2 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mnn-schema.js → mnn-schema.js} +9 -6
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mnn.js → mnn.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mslite.js → mslite.js} +3 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mxnet.js → mxnet.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/ncnn.js → ncnn.js} +3 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnabla.js → nnabla.js} +4 -4
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnef.js → nnef.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/node.js +102 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/numpy.js → numpy.js} +9 -9
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/om.js → om.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onednn.js → onednn.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onnx-metadata.json → onnx-metadata.json} +3500 -233
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onnx-proto.js → onnx-proto.js} +436 -4
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onnx.js → onnx.js} +284 -199
- qairt_visualizer/core/ui/dist/browser/onnx.py +231 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/openvino.js → openvino.js} +36 -31
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/paddle-proto.js → paddle-proto.js} +54 -54
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/paddle.js → paddle.js} +22 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pickle.js → pickle.js} +3 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/python.js → python.js} +743 -325
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pytorch-metadata.json → pytorch-metadata.json} +3217 -2934
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pytorch-proto.js → pytorch-proto.js} +4 -4
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pytorch.js → pytorch.js} +172 -86
- qairt_visualizer/core/ui/dist/browser/pytorch.py +304 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/qnn.js → qnn.js} +6 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/rknn.js → rknn.js} +3 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/safetensors.js → safetensors.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/sentencepiece.js → sentencepiece.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/server.py → server.py} +95 -103
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/sklearn-metadata.json → sklearn-metadata.json} +15 -10
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/sklearn.js → sklearn.js} +5 -5
- qairt_visualizer/core/ui/dist/browser/{styles-MRR6DOT2.css → styles-2Z5PB4WZ.css} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tar.js → tar.js} +18 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tengine.js → tengine.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tensorrt.js → tensorrt.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tf-metadata.json → tf-metadata.json} +1255 -163
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tf-proto.js → tf-proto.js} +46 -12
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tf.js → tf.js} +36 -13
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tflite.js → tflite.js} +18 -21
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tnn.js → tnn.js} +1 -3
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/torch.js → torch.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/transformers.js +171 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tvm.js → tvm.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/uff.js → uff.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/view.js → view.js} +1406 -1115
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/weka.js → weka.js} +3 -4
- qairt_visualizer/core/ui/dist/browser/worker-EHYFMTM7.js +1 -0
- qairt_visualizer/core/ui/dist/browser/worker-KX5DA6GL.js +4 -0
- qairt_visualizer/core/ui/dist/browser/xgboost.js +59 -0
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/xml.js → xml.js} +2 -2
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/xmodel.js → xmodel.js} +1 -1
- qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/zip.js → zip.js} +38 -41
- qairt_visualizer/core/ui/dist/qairt_visualizer.exe +0 -0
- qairt_visualizer/core/ui/dist/resources/app.asar +0 -0
- {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.7.0.dist-info}/METADATA +1 -1
- qairt_visualizer-0.7.0.dist-info/RECORD +265 -0
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/CITATION.cff +0 -10
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/CONTRIBUTING.md +0 -29
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/LICENSE +0 -21
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/README.md +0 -36
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/jenkins/Jenkinsfile +0 -69
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/package-lock.json +0 -5743
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/package.js +0 -689
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/package.json +0 -53
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/package.py +0 -87
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/background.png +0 -0
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/background.svg +0 -5
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/background@2x.png +0 -0
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/electron-builder.json +0 -109
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/eslint.config.js +0 -231
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/forge.config.js +0 -87
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.html +0 -27
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.icns +0 -0
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.icns.svg +0 -175
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.ico +0 -0
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.png +0 -0
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/icon.svg +0 -179
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/notarize.cjs +0 -24
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/pyproject.toml +0 -63
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/publish/setup.py +0 -43
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/resolve_upgrade_merge.sh +0 -10
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/__init__.py +0 -41
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/cambricon.js +0 -32
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/favicon.ico +0 -0
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/grapher.css +0 -602
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/index.html +0 -2222
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/modular.js +0 -81
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/onnx.py +0 -227
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/pytorch.py +0 -298
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/qais/qcontrol.js +0 -207
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/qais/qgraph-toolkit.js +0 -123
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/qais/qsubgraph.js +0 -226
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/qais/qsummary-panel.js +0 -89
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/source/server.js +0 -250
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/backend.py +0 -80
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/measures.py +0 -27
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/models.js +0 -359
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/models.json +0 -8523
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/test/worker.js +0 -859
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/armnn +0 -33
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/bigdl +0 -33
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/caffe +0 -37
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/caffe-script.js +0 -12
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/circle +0 -43
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/circle-script.js +0 -87
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/circle_script.js +0 -73
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/cntk +0 -33
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/coreml +0 -49
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/dlc +0 -20
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/dlc.fbs +0 -165
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/dnn +0 -20
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/dnn.proto +0 -79
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/executorch +0 -41
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/flatc.js +0 -1315
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/gguf +0 -22
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/kann +0 -33
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/keras +0 -62
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/keras_metadata.py +0 -205
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/keras_script.py +0 -204
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mediapipe +0 -72
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/megengine +0 -47
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/megengine-script.js +0 -113
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/megengine_script.js +0 -112
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mnn +0 -40
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mslite +0 -45
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mslite-script.js +0 -83
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/mslite_metadata.js +0 -82
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/nnabla +0 -79
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/nnabla_script.py +0 -145
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/om +0 -26
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/om.proto +0 -204
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/onnx +0 -135
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/onnx_metadata.py +0 -233
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/onnx_script.py +0 -332
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/paddle +0 -38
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/protoc.js +0 -1609
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/pytorch +0 -85
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/pytorch_metadata.py +0 -166
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/pytorch_script.py +0 -404
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/rknn +0 -20
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/rknn.fbs +0 -78
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/sentencepiece +0 -39
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/sklearn +0 -65
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/sklearn_metadata.py +0 -126
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/sklearn_script.py +0 -129
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tf +0 -97
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tf_metadata.py +0 -403
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tf_script.py +0 -422
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tflite-script.js +0 -87
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/tflite_metadata.js +0 -73
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/uff +0 -20
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/uff.proto +0 -127
- qairt_visualizer/core/ui/dist/browser/assets/netron_plugin/tools/xmodel +0 -36
- qairt_visualizer/core/ui/dist/browser/chunk-3NAQCYEU.js +0 -1
- qairt_visualizer/core/ui/dist/browser/chunk-NFKTPX3Z.js +0 -11
- qairt_visualizer/core/ui/dist/browser/chunk-OMI6HJ5Y.js +0 -19
- qairt_visualizer/core/ui/dist/browser/chunk-TTZXMRJ5.js +0 -34
- qairt_visualizer/core/ui/dist/browser/main-NXPVOKMG.js +0 -1
- qairt_visualizer/core/ui/dist/browser/worker-5VPKG2GV.js +0 -4
- qairt_visualizer/core/ui/dist/browser/worker-UVGWDZ5K.js +0 -1
- qairt_visualizer-0.5.1.dist-info/RECORD +0 -337
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/acuity-metadata.json → acuity-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/armnn-metadata.json → armnn-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/bigdl-metadata.json → bigdl-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/bigdl-proto.js → bigdl-proto.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe-metadata.json → caffe-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe-proto.js → caffe-proto.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/caffe2-metadata.json → caffe2-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/catboost.js → catboost.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/circle-metadata.json → circle-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/cntk-metadata.json → cntk-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/cntk-proto.js → cntk-proto.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/coreml-metadata.json → coreml-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dl4j-metadata.json → dl4j-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dlc-metadata.json → dlc-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dnn-metadata.json → dnn-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/dnn-proto.js → dnn-proto.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/espresso-metadata.json → espresso-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flexbuffers.js → flexbuffers.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/flux-metadata.json → flux-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/hailo-metadata.json → hailo-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/hdf5.js → hdf5.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/icon.png → icon.png} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/kann-metadata.json → kann-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/kann-schema.js → kann-schema.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/keras-proto.js → keras-proto.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/lasagne-metadata.json → lasagne-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/megengine-metadata.json → megengine-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/megengine-schema.js → megengine-schema.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mlnet-metadata.json → mlnet-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mnn-metadata.json → mnn-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mslite-metadata.json → mslite-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mslite-schema.js → mslite-schema.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mxnet-metadata.json → mxnet-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/ncnn-metadata.json → ncnn-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnabla-metadata.json → nnabla-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnabla-proto.js → nnabla-proto.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/nnc.js → nnc.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/om-metadata.json → om-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/om-proto.js → om-proto.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onednn-metadata.json → onednn-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/onnx-schema.js → onnx-schema.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/openvino-metadata.json → openvino-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/paddle-metadata.json → paddle-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/paddle-schema.js → paddle-schema.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/protobuf.js → protobuf.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/pytorch-schema.js → pytorch-schema.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/qnn-metadata.json → qnn-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/rknn-metadata.json → rknn-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/rknn-schema.js → rknn-schema.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/sentencepiece-proto.js → sentencepiece-proto.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tengine-metadata.json → tengine-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/text.js → text.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tflite-metadata.json → tflite-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tflite-schema.js → tflite-schema.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/tnn-metadata.json → tnn-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/torch-metadata.json → torch-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/uff-metadata.json → uff-metadata.json} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/uff-proto.js → uff-proto.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/worker.js → worker.js} +0 -0
- /qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/xmodel-proto.js → xmodel-proto.js} +0 -0
- {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.7.0.dist-info}/LICENSE.pdf +0 -0
- {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.7.0.dist-info}/WHEEL +0 -0
- {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.7.0.dist-info}/entry_points.txt +0 -0
- {qairt_visualizer-0.5.1.dist-info → qairt_visualizer-0.7.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
""" PyTorch backend """
|
|
2
|
+
|
|
3
|
+
import json
|
|
4
|
+
import os
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class ModelFactory:
|
|
8
|
+
""" PyTorch backend model factory """
|
|
9
|
+
def open(self, model):
|
|
10
|
+
metadata = {}
|
|
11
|
+
metadata_files = [
|
|
12
|
+
("pytorch-metadata.json", ""),
|
|
13
|
+
("onnx-metadata.json", "onnx::")
|
|
14
|
+
]
|
|
15
|
+
path = os.path.dirname(__file__)
|
|
16
|
+
for entry in metadata_files:
|
|
17
|
+
file = os.path.join(path, entry[0])
|
|
18
|
+
with open(file, encoding="utf-8") as handle:
|
|
19
|
+
for item in json.load(handle):
|
|
20
|
+
name = entry[1] + item["name"].split("(", 1)[0]
|
|
21
|
+
metadata[name] = item
|
|
22
|
+
metadata = Metadata(metadata)
|
|
23
|
+
return _Model(metadata, model)
|
|
24
|
+
|
|
25
|
+
class _Model:
|
|
26
|
+
def __init__(self, metadata, model):
|
|
27
|
+
self.graph = _Graph(metadata, model)
|
|
28
|
+
|
|
29
|
+
def to_json(self):
|
|
30
|
+
""" Serialize model to JSON message """
|
|
31
|
+
import torch
|
|
32
|
+
json_model = {
|
|
33
|
+
"signature": "netron:pytorch",
|
|
34
|
+
"format": "TorchScript v" + torch.__version__,
|
|
35
|
+
"graphs": [ self.graph.to_json() ]
|
|
36
|
+
}
|
|
37
|
+
return json_model
|
|
38
|
+
|
|
39
|
+
class _Graph:
|
|
40
|
+
|
|
41
|
+
def __init__(self, metadata, model):
|
|
42
|
+
self.metadata = metadata
|
|
43
|
+
self.param = model
|
|
44
|
+
self.value = model.graph
|
|
45
|
+
self.nodes = []
|
|
46
|
+
|
|
47
|
+
def _getattr(self, node):
|
|
48
|
+
if node.kind() == "prim::Param":
|
|
49
|
+
return (self.param, "")
|
|
50
|
+
if node.kind() == "prim::GetAttr":
|
|
51
|
+
name = node.s("name")
|
|
52
|
+
obj, parent = self._getattr(node.input().node())
|
|
53
|
+
value = getattr(obj, name)
|
|
54
|
+
path = parent + "." + name if len(parent) > 0 else name
|
|
55
|
+
return (value, path)
|
|
56
|
+
raise NotImplementedError()
|
|
57
|
+
|
|
58
|
+
def to_json(self):
|
|
59
|
+
import torch
|
|
60
|
+
graph = self.value
|
|
61
|
+
json_graph = {
|
|
62
|
+
"values": [],
|
|
63
|
+
"nodes": [],
|
|
64
|
+
"inputs": [],
|
|
65
|
+
"outputs": []
|
|
66
|
+
}
|
|
67
|
+
data_type_map = dict([
|
|
68
|
+
[ torch.float16, "float16"],
|
|
69
|
+
[ torch.float32, "float32"],
|
|
70
|
+
[ torch.float64, "float64"],
|
|
71
|
+
[ torch.int32, "int32"],
|
|
72
|
+
[ torch.int64, "int64"],
|
|
73
|
+
])
|
|
74
|
+
def constant_value(node):
|
|
75
|
+
if node.hasAttribute("value"):
|
|
76
|
+
selector = node.kindOf("value")
|
|
77
|
+
return getattr(node, selector)("value")
|
|
78
|
+
return None
|
|
79
|
+
values_index = {}
|
|
80
|
+
def argument(value):
|
|
81
|
+
if value not in values_index:
|
|
82
|
+
json_value = {}
|
|
83
|
+
json_value["name"] = str(value.unique())
|
|
84
|
+
node = value.node()
|
|
85
|
+
if node.kind() == "prim::GetAttr":
|
|
86
|
+
tensor, name = self._getattr(node)
|
|
87
|
+
if tensor is not None and len(name) > 0 and \
|
|
88
|
+
isinstance(tensor, torch.Tensor):
|
|
89
|
+
json_tensor_shape = {
|
|
90
|
+
"dimensions": list(tensor.shape)
|
|
91
|
+
}
|
|
92
|
+
tensor_type = {
|
|
93
|
+
"dataType": data_type_map[tensor.dtype],
|
|
94
|
+
"shape": json_tensor_shape
|
|
95
|
+
}
|
|
96
|
+
json_value["name"] = name
|
|
97
|
+
json_value["type"] = tensor_type
|
|
98
|
+
json_value["initializer"] = { "type": tensor_type }
|
|
99
|
+
elif node.kind() == "prim::Constant":
|
|
100
|
+
tensor = constant_value(node)
|
|
101
|
+
if tensor and isinstance(tensor, torch.Tensor):
|
|
102
|
+
json_tensor_shape = {
|
|
103
|
+
"dimensions": list(tensor.shape)
|
|
104
|
+
}
|
|
105
|
+
tensor_type = {
|
|
106
|
+
"dataType": data_type_map[tensor.dtype],
|
|
107
|
+
"shape": json_tensor_shape
|
|
108
|
+
}
|
|
109
|
+
json_value["type"] = tensor_type
|
|
110
|
+
json_value["initializer"] = { "type": tensor_type }
|
|
111
|
+
elif value.isCompleteTensor():
|
|
112
|
+
json_tensor_shape = {
|
|
113
|
+
"dimensions": value.type().sizes()
|
|
114
|
+
}
|
|
115
|
+
json_value["type"] = {
|
|
116
|
+
"dataType": data_type_map[value.type().dtype()],
|
|
117
|
+
"shape": json_tensor_shape
|
|
118
|
+
}
|
|
119
|
+
values = json_graph["values"]
|
|
120
|
+
values_index[value] = len(values)
|
|
121
|
+
values.append(json_value)
|
|
122
|
+
return values_index[value]
|
|
123
|
+
|
|
124
|
+
for value in graph.inputs():
|
|
125
|
+
if len(value.uses()) != 0 and value.type().kind() != "ClassType":
|
|
126
|
+
json_graph["inputs"].append({
|
|
127
|
+
"name": value.debugName(),
|
|
128
|
+
"value": [ argument(value) ]
|
|
129
|
+
})
|
|
130
|
+
for value in graph.outputs():
|
|
131
|
+
json_graph["outputs"].append({
|
|
132
|
+
"name": value.debugName(),
|
|
133
|
+
"value": [ argument(value) ]
|
|
134
|
+
})
|
|
135
|
+
constants = {}
|
|
136
|
+
for node in graph.nodes():
|
|
137
|
+
if node.kind() == "prim::Constant":
|
|
138
|
+
constants[node] = 0
|
|
139
|
+
|
|
140
|
+
lists = {}
|
|
141
|
+
for node in graph.nodes():
|
|
142
|
+
if node.kind() == "prim::ListConstruct":
|
|
143
|
+
if all(_.node() in constants for _ in node.inputs()):
|
|
144
|
+
for _ in node.inputs():
|
|
145
|
+
constants[_.node()] += 1
|
|
146
|
+
lists[node] = 0
|
|
147
|
+
|
|
148
|
+
def create_node(node):
|
|
149
|
+
identifier = node.schema()
|
|
150
|
+
schema, category = self.metadata.type(identifier)
|
|
151
|
+
json_node = {
|
|
152
|
+
"type": {
|
|
153
|
+
"name": node.kind(),
|
|
154
|
+
"category": category
|
|
155
|
+
},
|
|
156
|
+
"inputs": [],
|
|
157
|
+
"outputs": [],
|
|
158
|
+
"attributes": []
|
|
159
|
+
}
|
|
160
|
+
json_graph["nodes"].append(json_node)
|
|
161
|
+
for name in node.attributeNames():
|
|
162
|
+
selector = node.kindOf(name)
|
|
163
|
+
value = getattr(node, selector)(name)
|
|
164
|
+
json_attribute = {
|
|
165
|
+
"name": name,
|
|
166
|
+
"value": value
|
|
167
|
+
}
|
|
168
|
+
if torch.is_tensor(value):
|
|
169
|
+
json_node["inputs"].append({
|
|
170
|
+
"name": name,
|
|
171
|
+
"value": []
|
|
172
|
+
})
|
|
173
|
+
else:
|
|
174
|
+
json_node["attributes"].append(json_attribute)
|
|
175
|
+
|
|
176
|
+
for i, value in enumerate(node.inputs()):
|
|
177
|
+
arg = None
|
|
178
|
+
if schema and i < len(schema.arguments):
|
|
179
|
+
arg = schema.arguments[i]
|
|
180
|
+
parameter_name = arg.name if arg else "input"
|
|
181
|
+
real_type = arg.real_type if arg else None
|
|
182
|
+
input_node = value.node()
|
|
183
|
+
if input_node in constants:
|
|
184
|
+
if (real_type and real_type.kind() == "TensorType") or \
|
|
185
|
+
value.type().kind() == "TensorType":
|
|
186
|
+
json_node["inputs"].append({
|
|
187
|
+
"name": parameter_name,
|
|
188
|
+
"value": [ argument(value) ]
|
|
189
|
+
})
|
|
190
|
+
else:
|
|
191
|
+
json_attribute = {
|
|
192
|
+
"name": parameter_name,
|
|
193
|
+
"value": constant_value(input_node)
|
|
194
|
+
}
|
|
195
|
+
if real_type:
|
|
196
|
+
json_attribute["type"] = self._argument_type(real_type)
|
|
197
|
+
json_node["attributes"].append(json_attribute)
|
|
198
|
+
constants[input_node] = constants[input_node] + 1
|
|
199
|
+
continue
|
|
200
|
+
if input_node in lists:
|
|
201
|
+
value = [ constant_value(_.node()) for _ in input_node.inputs() ]
|
|
202
|
+
json_attribute = {
|
|
203
|
+
"name": parameter_name,
|
|
204
|
+
"value": value
|
|
205
|
+
}
|
|
206
|
+
json_node["attributes"].append(json_attribute)
|
|
207
|
+
lists[input_node] += 1
|
|
208
|
+
continue
|
|
209
|
+
if input_node.kind() == "prim::TupleUnpack":
|
|
210
|
+
continue
|
|
211
|
+
if input_node.kind() == "prim::TupleConstruct":
|
|
212
|
+
continue
|
|
213
|
+
json_node["inputs"].append({
|
|
214
|
+
"name": parameter_name,
|
|
215
|
+
"value": [ argument(value) ]
|
|
216
|
+
})
|
|
217
|
+
|
|
218
|
+
for i, value in enumerate(node.outputs()):
|
|
219
|
+
ret = schema.returns[i] if schema and i < len(schema.returns) else None
|
|
220
|
+
name = ret.name if ret else "output"
|
|
221
|
+
json_node["outputs"].append({
|
|
222
|
+
"name": name,
|
|
223
|
+
"value": [ argument(value) ]
|
|
224
|
+
})
|
|
225
|
+
|
|
226
|
+
for node in graph.nodes():
|
|
227
|
+
if node in lists:
|
|
228
|
+
continue
|
|
229
|
+
if node in constants:
|
|
230
|
+
continue
|
|
231
|
+
if node.kind() == "prim::GetAttr":
|
|
232
|
+
continue
|
|
233
|
+
create_node(node)
|
|
234
|
+
|
|
235
|
+
for node in graph.nodes():
|
|
236
|
+
if node.kind() == "prim::Constant" and \
|
|
237
|
+
node in constants and constants[node] != len(node.output().uses()):
|
|
238
|
+
create_node(node)
|
|
239
|
+
if node.kind() == "prim::ListConstruct" and \
|
|
240
|
+
node in lists and lists[node] != len(node.output().uses()):
|
|
241
|
+
create_node(node)
|
|
242
|
+
|
|
243
|
+
return json_graph
|
|
244
|
+
|
|
245
|
+
def _argument_type(self, value):
|
|
246
|
+
if value.kind() == "TensorType":
|
|
247
|
+
return "Tensor"
|
|
248
|
+
if value.kind() == "OptionalType":
|
|
249
|
+
element_type = self._argument_type(value.getElementType())
|
|
250
|
+
return f"{element_type}?"
|
|
251
|
+
if value.kind() == "ListType":
|
|
252
|
+
element_type = self._argument_type(value.getElementType())
|
|
253
|
+
size = str(value.size) if hasattr(value, "size") else ""
|
|
254
|
+
return f"{element_type}[{size}]"
|
|
255
|
+
if value.kind() == "DictType":
|
|
256
|
+
key_type = self._argument_type(value.getKeyType())
|
|
257
|
+
value_type = self._argument_type(value.getValueType())
|
|
258
|
+
return f"Dict({key_type}, {value_type})"
|
|
259
|
+
if value.kind() == "TupleType":
|
|
260
|
+
elements = []
|
|
261
|
+
for element in value.elements():
|
|
262
|
+
elements.append(self._argument_type(element))
|
|
263
|
+
return f"({', '.join(elements)})"
|
|
264
|
+
if value.kind() == "IntType":
|
|
265
|
+
return "int64"
|
|
266
|
+
if value.kind() == "SymIntType":
|
|
267
|
+
return "SymInt"
|
|
268
|
+
if value.kind() == "FloatType":
|
|
269
|
+
return "float32"
|
|
270
|
+
if value.kind() == "BoolType":
|
|
271
|
+
return "boolean"
|
|
272
|
+
if value.kind() == "StringType":
|
|
273
|
+
return "string"
|
|
274
|
+
if value.kind() == "NumberType":
|
|
275
|
+
return "Scalar"
|
|
276
|
+
if value.kind() == "ScalarTypeType":
|
|
277
|
+
return "ScalarType"
|
|
278
|
+
if value.kind() == "LayoutType":
|
|
279
|
+
return "Layout"
|
|
280
|
+
if value.kind() == "MemoryFormatType":
|
|
281
|
+
return "MemoryFormat"
|
|
282
|
+
if value.kind() == "DeviceObjType":
|
|
283
|
+
return "Device"
|
|
284
|
+
if value.kind() == "GeneratorType":
|
|
285
|
+
return "Generator"
|
|
286
|
+
if value.kind() == "VarType":
|
|
287
|
+
return value.annotation_str
|
|
288
|
+
raise NotImplementedError()
|
|
289
|
+
|
|
290
|
+
class Metadata:
|
|
291
|
+
|
|
292
|
+
def __init__(self, metadata):
|
|
293
|
+
self.types = metadata
|
|
294
|
+
|
|
295
|
+
def type(self, identifier):
|
|
296
|
+
if identifier == "(no schema)":
|
|
297
|
+
return (None, "")
|
|
298
|
+
key = identifier.split("(", 1)[0]
|
|
299
|
+
value = self.types.get(key)
|
|
300
|
+
category = value["category"] if value and "category" in value else ""
|
|
301
|
+
name, overload_name = key.split(".", 1) if key.find(".") > 0 else (key, "")
|
|
302
|
+
import torch
|
|
303
|
+
schema = torch._C._get_schema(name, overload_name)
|
|
304
|
+
return (schema, category)
|
|
@@ -40,7 +40,10 @@ qnn.ModelFactory = class {
|
|
|
40
40
|
if (obj['model.bin']) {
|
|
41
41
|
const name = obj['model.bin'].split('/').pop();
|
|
42
42
|
const content = await context.fetch(name);
|
|
43
|
-
|
|
43
|
+
const entries = await content.read('tar');
|
|
44
|
+
if (entries) {
|
|
45
|
+
weights = entries;
|
|
46
|
+
}
|
|
44
47
|
}
|
|
45
48
|
} catch {
|
|
46
49
|
// continue regardless of error
|
|
@@ -78,7 +81,7 @@ qnn.Model = class {
|
|
|
78
81
|
if (obj.copyright_str) {
|
|
79
82
|
this.metadata.push(new qnn.Argument('License', obj.copyright_str));
|
|
80
83
|
}
|
|
81
|
-
this.
|
|
84
|
+
this.modules = [new qnn.Graph(metadata, obj.graph, weights)];
|
|
82
85
|
}
|
|
83
86
|
};
|
|
84
87
|
|
|
@@ -177,6 +180,7 @@ qnn.Node = class {
|
|
|
177
180
|
this.inputs = [];
|
|
178
181
|
this.outputs = [];
|
|
179
182
|
this.attributes = [];
|
|
183
|
+
this.grouping = obj.grouping; // QAIRT Netron: Add support for assigning groups to nodes
|
|
180
184
|
const inputs = Array.isArray(obj.input_names) ? Array.from(obj.input_names).map((name) => values.map(name)) : [];
|
|
181
185
|
if (Array.isArray(this.type.inputs) && inputs.length === this.type.inputs.length) {
|
|
182
186
|
for (let i = 0; i < inputs.length; i++) {
|
|
@@ -52,7 +52,7 @@ rknn.Model = class {
|
|
|
52
52
|
this.name = model.name || '';
|
|
53
53
|
this.producer = model.ori_network_platform || model.network_platform || '';
|
|
54
54
|
this.runtime = model.target_platform ? model.target_platform.join(',') : '';
|
|
55
|
-
this.
|
|
55
|
+
this.modules = [new rknn.Graph(metadata, type, model.name || '', model, container)];
|
|
56
56
|
break;
|
|
57
57
|
}
|
|
58
58
|
case 'flatbuffers': {
|
|
@@ -60,14 +60,14 @@ rknn.Model = class {
|
|
|
60
60
|
this.format = `RKNN Lite${version ? ` v${version}` : ''}`;
|
|
61
61
|
this.runtime = model.runtime;
|
|
62
62
|
this.name = model.name || '';
|
|
63
|
-
this.
|
|
63
|
+
this.modules = model.graphs.map((graph) => new rknn.Graph(metadata, type, '', graph, null));
|
|
64
64
|
this.source = model.source;
|
|
65
65
|
break;
|
|
66
66
|
}
|
|
67
67
|
case 'openvx': {
|
|
68
68
|
this.format = 'RKNN OpenVX';
|
|
69
69
|
this.name = model.name || '';
|
|
70
|
-
this.
|
|
70
|
+
this.modules = [new rknn.Graph(metadata, type, '', model, container)];
|
|
71
71
|
break;
|
|
72
72
|
}
|
|
73
73
|
default: {
|
qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/safetensors.js → safetensors.js}
RENAMED
|
@@ -55,11 +55,11 @@ safetensors.Model = class {
|
|
|
55
55
|
|
|
56
56
|
constructor(entries) {
|
|
57
57
|
this.format = 'Safetensors';
|
|
58
|
-
this.
|
|
58
|
+
this.modules = [new safetensors.Module(entries)];
|
|
59
59
|
}
|
|
60
60
|
};
|
|
61
61
|
|
|
62
|
-
safetensors.
|
|
62
|
+
safetensors.Module = class {
|
|
63
63
|
|
|
64
64
|
constructor(entries) {
|
|
65
65
|
this.inputs = [];
|