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
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
"name": "AveragePooling2D",
|
|
228
228
|
"module": "keras.layers",
|
|
229
229
|
"category": "Pool",
|
|
230
|
-
"description": "Average pooling operation for 2D spatial data.\n\nDownsamples the input along its spatial dimensions (height and width)\nby taking the average value over an input window\n(of size defined by `pool_size`) for each channel of the input.\nThe window is shifted by `strides` along each dimension.\n\nThe resulting output when using the `\"valid\"` padding option has a spatial\nshape (number of rows or columns) of:\n`output_shape = math.floor((input_shape - pool_size) / strides) + 1`\n(when `input_shape >= pool_size`)\n\nThe resulting output shape when using the `\"same\"` padding option is:\n`output_shape =
|
|
230
|
+
"description": "Average pooling operation for 2D spatial data.\n\nDownsamples the input along its spatial dimensions (height and width)\nby taking the average value over an input window\n(of size defined by `pool_size`) for each channel of the input.\nThe window is shifted by `strides` along each dimension.\n\nThe resulting output when using the `\"valid\"` padding option has a spatial\nshape (number of rows or columns) of:\n`output_shape = math.floor((input_shape - pool_size) / strides) + 1`\n(when `input_shape >= pool_size`)\n\nThe resulting output shape when using the `\"same\"` padding option is:\n`output_shape = input_shape`",
|
|
231
231
|
"attributes": [
|
|
232
232
|
{
|
|
233
233
|
"default": "channels_last",
|
|
@@ -339,7 +339,7 @@
|
|
|
339
339
|
},
|
|
340
340
|
{
|
|
341
341
|
"name": "rms_scaling",
|
|
342
|
-
"description": "If True, `center` and `scale` are ignored, and the\n inputs are scaled by `gamma` and the inverse square root\n of the square of all inputs. This is an approximate and faster\n approach that avoids ever computing the mean of the input."
|
|
342
|
+
"description": "If True, `center` and `scale` are ignored, and the\n inputs are scaled by `gamma` and the inverse square root\n of the square of all inputs. This is an approximate and faster\n approach that avoids ever computing the mean of the input. Note that\n this *isn't* equivalent to the computation that the\n `keras.layers.RMSNormalization` layer performs."
|
|
343
343
|
},
|
|
344
344
|
{
|
|
345
345
|
"name": "beta_initializer",
|
|
@@ -998,7 +998,7 @@
|
|
|
998
998
|
},
|
|
999
999
|
{
|
|
1000
1000
|
"default": "channels_last",
|
|
1001
|
-
"description": "string, either `\"channels_last\"` or `\"channels_first\"`.\n The ordering of the dimensions in the inputs. `\"channels_last\"`\n corresponds to inputs with shape\n `(batch_size, height, width, channels)`\n while `\"channels_first\"` corresponds to inputs with shape\n `(batch_size, channels, height, width)`. It defaults to the\n `image_data_format` value found in your Keras config file at\n `~/.keras/keras.json`. If you never set it, then it will be\n `\"channels_last\"
|
|
1001
|
+
"description": "string, either `\"channels_last\"` or `\"channels_first\"`.\n The ordering of the dimensions in the inputs. `\"channels_last\"`\n corresponds to inputs with shape\n `(batch_size, height, width, channels)`\n while `\"channels_first\"` corresponds to inputs with shape\n `(batch_size, channels, height, width)`. It defaults to the\n `image_data_format` value found in your Keras config file at\n `~/.keras/keras.json`. If you never set it, then it will be\n `\"channels_last\"`.\n dilation_rate: An integer or tuple/list of 2 integers,\n specifying the dilation rate for\n all spatial dimensions for dilated convolution.\n Specifying different dilation rates\n for different dimensions is not supported.\n Currently, specifying any `dilation_rate` value != 1 is\n incompatible with specifying any stride value != 1.",
|
|
1002
1002
|
"name": "data_format"
|
|
1003
1003
|
},
|
|
1004
1004
|
{
|
|
@@ -1062,7 +1062,7 @@
|
|
|
1062
1062
|
"name": "bias_constraint"
|
|
1063
1063
|
},
|
|
1064
1064
|
{
|
|
1065
|
-
"description": "An integer or tuple/list of 2 integers,\n
|
|
1065
|
+
"description": "An integer or tuple/list of 2 integers,\n specifying the amount of padding along the height and width\n of the output tensor.\n Can be a single integer to specify the same value for all\n spatial dimensions.\n The amount of output padding along a given dimension must be\n lower than the stride along that same dimension.\n If set to `None` (default), the output shape is inferred.",
|
|
1066
1066
|
"name": "output_padding"
|
|
1067
1067
|
}
|
|
1068
1068
|
],
|
|
@@ -1779,6 +1779,10 @@
|
|
|
1779
1779
|
{
|
|
1780
1780
|
"name": "lora_rank",
|
|
1781
1781
|
"description": "Optional integer. If set, the layer's forward pass\n will implement LoRA (Low-Rank Adaptation)\n with the provided rank. LoRA sets the layer's kernel\n to non-trainable and replaces it with a delta over the\n original kernel, obtained via multiplying two lower-rank\n trainable matrices. This can be useful to reduce the\n computation cost of fine-tuning large dense layers.\n You can also enable LoRA on an existing\n `Dense` layer by calling `layer.enable_lora(rank)`."
|
|
1782
|
+
},
|
|
1783
|
+
{
|
|
1784
|
+
"name": "lora_alpha",
|
|
1785
|
+
"description": "Optional integer. If set, this parameter scales the\n low-rank adaptation delta (computed as the product of two lower-rank\n trainable matrices) during the forward pass. The delta is scaled by\n `lora_alpha / lora_rank`, allowing you to fine-tune the strength of\n the LoRA adjustment independently of `lora_rank`."
|
|
1782
1786
|
}
|
|
1783
1787
|
],
|
|
1784
1788
|
"inputs": [
|
|
@@ -2057,6 +2061,10 @@
|
|
|
2057
2061
|
{
|
|
2058
2062
|
"name": "weights",
|
|
2059
2063
|
"description": "Optional floating-point matrix of size\n `(input_dim, output_dim)`. The initial embeddings values\n to use."
|
|
2064
|
+
},
|
|
2065
|
+
{
|
|
2066
|
+
"name": "lora_alpha",
|
|
2067
|
+
"description": "Optional integer. If set, this parameter scales the\n low-rank adaptation delta (computed as the product of two lower-rank\n trainable matrices) during the forward pass. The delta is scaled by\n `lora_alpha / lora_rank`, allowing you to fine-tune the strength of\n the LoRA adjustment independently of `lora_rank`."
|
|
2060
2068
|
}
|
|
2061
2069
|
],
|
|
2062
2070
|
"inputs": [
|
|
@@ -2251,7 +2259,7 @@
|
|
|
2251
2259
|
"name": "GRU",
|
|
2252
2260
|
"module": "keras.layers",
|
|
2253
2261
|
"category": "Layer",
|
|
2254
|
-
"description": "Gated Recurrent Unit - Cho et al. 2014.\n\nBased on available runtime hardware and constraints, this layer\nwill choose different implementations (cuDNN-based or backend-native)\nto maximize the performance. If a GPU is available and all\nthe arguments to the layer meet the requirement of the cuDNN kernel\n(see below for details), the layer will use a fast cuDNN implementation\nwhen using the TensorFlow backend.\n\nThe requirements to use the cuDNN implementation are:\n\n1. `activation` == `tanh`\n2. `recurrent_activation` == `sigmoid`\n3. `
|
|
2262
|
+
"description": "Gated Recurrent Unit - Cho et al. 2014.\n\nBased on available runtime hardware and constraints, this layer\nwill choose different implementations (cuDNN-based or backend-native)\nto maximize the performance. If a GPU is available and all\nthe arguments to the layer meet the requirement of the cuDNN kernel\n(see below for details), the layer will use a fast cuDNN implementation\nwhen using the TensorFlow backend.\n\nThe requirements to use the cuDNN implementation are:\n\n1. `activation` == `tanh`\n2. `recurrent_activation` == `sigmoid`\n3. `recurrent_dropout` == 0\n4. `unroll` is `False`\n5. `use_bias` is `True`\n6. `reset_after` is `True`\n7. Inputs, if use masking, are strictly right-padded.\n8. Eager execution is enabled in the outermost context.\n\nThere are two variants of the GRU implementation. The default one is based\non [v3](https://arxiv.org/abs/1406.1078v3) and has reset gate applied to\nhidden state before matrix multiplication. The other one is based on\n[original](https://arxiv.org/abs/1406.1078v1) and has the order reversed.\n\nThe second variant is compatible with CuDNNGRU (GPU-only) and allows\ninference on CPU. Thus it has separate biases for `kernel` and\n`recurrent_kernel`. To use this variant, set `reset_after=True` and\n`recurrent_activation='sigmoid'`.\n\nFor example:\n\n```\n>>> inputs = np.random.random((32, 10, 8))\n>>> gru = keras.layers.GRU(4)\n>>> output = gru(inputs)\n>>> output.shape\n(32, 4)\n>>> gru = keras.layers.GRU(4, return_sequences=True, return_state=True)\n>>> whole_sequence_output, final_state = gru(inputs)\n>>> whole_sequence_output.shape\n(32, 10, 4)\n>>> final_state.shape\n(32, 4)\n```",
|
|
2255
2263
|
"attributes": [
|
|
2256
2264
|
{
|
|
2257
2265
|
"default": "tanh",
|
|
@@ -2899,7 +2907,7 @@
|
|
|
2899
2907
|
"name": "LSTM",
|
|
2900
2908
|
"module": "keras.layers",
|
|
2901
2909
|
"category": "Layer",
|
|
2902
|
-
"description": "Long Short-Term Memory layer - Hochreiter 1997.\n\nBased on available runtime hardware and constraints, this layer\nwill choose different implementations (cuDNN-based or backend-native)\nto maximize the performance. If a GPU is available and all\nthe arguments to the layer meet the requirement of the cuDNN kernel\n(see below for details), the layer will use a fast cuDNN implementation\nwhen using the TensorFlow backend.\nThe requirements to use the cuDNN implementation are:\n\n1. `activation` == `tanh`\n2. `recurrent_activation` == `sigmoid`\n3. `
|
|
2910
|
+
"description": "Long Short-Term Memory layer - Hochreiter 1997.\n\nBased on available runtime hardware and constraints, this layer\nwill choose different implementations (cuDNN-based or backend-native)\nto maximize the performance. If a GPU is available and all\nthe arguments to the layer meet the requirement of the cuDNN kernel\n(see below for details), the layer will use a fast cuDNN implementation\nwhen using the TensorFlow backend.\nThe requirements to use the cuDNN implementation are:\n\n1. `activation` == `tanh`\n2. `recurrent_activation` == `sigmoid`\n3. `recurrent_dropout` == 0\n4. `unroll` is `False`\n5. `use_bias` is `True`\n6. Inputs, if use masking, are strictly right-padded.\n7. Eager execution is enabled in the outermost context.\n\nFor example:\n\n```\n>>> inputs = np.random.random((32, 10, 8))\n>>> lstm = keras.layers.LSTM(4)\n>>> output = lstm(inputs)\n>>> output.shape\n(32, 4)\n>>> lstm = keras.layers.LSTM(\n... 4, return_sequences=True, return_state=True)\n>>> whole_seq_output, final_memory_state, final_carry_state = lstm(inputs)\n>>> whole_seq_output.shape\n(32, 10, 4)\n>>> final_memory_state.shape\n(32, 4)\n>>> final_carry_state.shape\n(32, 4)\n```",
|
|
2903
2911
|
"attributes": [
|
|
2904
2912
|
{
|
|
2905
2913
|
"description": "Positive integer, dimensionality of the output space.",
|
|
@@ -3715,7 +3723,7 @@
|
|
|
3715
3723
|
],
|
|
3716
3724
|
"examples": [
|
|
3717
3725
|
{
|
|
3718
|
-
"code": "from keras.layers import RNN\nfrom keras import ops\n\n# First, let's define a RNN Cell, as a layer subclass.\nclass MinimalRNNCell(keras.Layer):\n\n def __init__(self, units, **kwargs):\n super().__init__(**kwargs)\n self.units = units\n self.state_size = units\n\n def build(self, input_shape):\n self.kernel = self.add_weight(shape=(input_shape[-1], self.units),\n initializer='uniform',\n name='kernel')\n self.recurrent_kernel = self.add_weight(\n shape=(self.units, self.units),\n initializer='uniform',\n name='recurrent_kernel')\n
|
|
3726
|
+
"code": "from keras.layers import RNN\nfrom keras import ops\n\n# First, let's define a RNN Cell, as a layer subclass.\nclass MinimalRNNCell(keras.Layer):\n\n def __init__(self, units, **kwargs):\n super().__init__(**kwargs)\n self.units = units\n self.state_size = units\n\n def build(self, input_shape):\n self.kernel = self.add_weight(shape=(input_shape[-1], self.units),\n initializer='uniform',\n name='kernel')\n self.recurrent_kernel = self.add_weight(\n shape=(self.units, self.units),\n initializer='uniform',\n name='recurrent_kernel')\n\n def call(self, inputs, states):\n prev_output = states[0]\n h = ops.matmul(inputs, self.kernel)\n output = h + ops.matmul(prev_output, self.recurrent_kernel)\n return output, [output]\n\n# Let's use this cell in a RNN layer:\n\ncell = MinimalRNNCell(32)\nx = keras.Input((None, 5))\nlayer = RNN(cell)\ny = layer(x)\n\n# Here's how to use the cell to build a stacked RNN:\n\ncells = [MinimalRNNCell(32), MinimalRNNCell(64)]\nx = keras.Input((None, 5))\nlayer = RNN(cells)\ny = layer(x)"
|
|
3719
3727
|
}
|
|
3720
3728
|
]
|
|
3721
3729
|
},
|
|
@@ -9,7 +9,7 @@ keras.ModelFactory = class {
|
|
|
9
9
|
|
|
10
10
|
async match(context) {
|
|
11
11
|
const identifier = context.identifier;
|
|
12
|
-
const extension = identifier.split('.').pop().toLowerCase();
|
|
12
|
+
const extension = identifier.lastIndexOf('.') > 0 ? identifier.split('.').pop().toLowerCase() : '';
|
|
13
13
|
const group = await context.peek('hdf5');
|
|
14
14
|
if (group && group.attributes && group.attributes.get('CLASS') !== 'hickle') {
|
|
15
15
|
if (identifier === 'model.weights.h5') {
|
|
@@ -518,7 +518,7 @@ keras.Model = class {
|
|
|
518
518
|
this.runtime = backend;
|
|
519
519
|
this.producer = producer;
|
|
520
520
|
metadata = new keras.GraphMetadata(metadata);
|
|
521
|
-
this.
|
|
521
|
+
this.modules = [new keras.Graph(metadata, config, weights)];
|
|
522
522
|
}
|
|
523
523
|
};
|
|
524
524
|
|
|
@@ -565,15 +565,22 @@ keras.Graph = class {
|
|
|
565
565
|
return null;
|
|
566
566
|
};
|
|
567
567
|
this.name = config.name || (config.config && config.config.name ? config.config.name : '');
|
|
568
|
-
this.
|
|
568
|
+
this.description = config.class_name;
|
|
569
569
|
let baseType = config.class_name;
|
|
570
570
|
switch (baseType) {
|
|
571
|
-
case 'Sequential':
|
|
572
571
|
case '__Function__':
|
|
572
|
+
this.type = 'function';
|
|
573
|
+
break;
|
|
574
|
+
case 'Sequential':
|
|
573
575
|
case 'Functional':
|
|
574
576
|
case 'Model': {
|
|
575
577
|
break;
|
|
576
578
|
}
|
|
579
|
+
case 'Tokenizer': {
|
|
580
|
+
config = { config: { layers: [config] } };
|
|
581
|
+
baseType = 'Functional';
|
|
582
|
+
break;
|
|
583
|
+
}
|
|
577
584
|
default: {
|
|
578
585
|
const layers = Array.from(config.layers ? config.layers : config);
|
|
579
586
|
const sequential = layers.every((layer) => layer.inbound_nodes === undefined);
|
|
@@ -766,9 +773,7 @@ keras.Graph = class {
|
|
|
766
773
|
layer.inputs = [];
|
|
767
774
|
layer.outputs = [];
|
|
768
775
|
layer.args = {};
|
|
769
|
-
|
|
770
|
-
layer.inbound_node = layer.inbound_nodes[0];
|
|
771
|
-
/* eslint-enable prefer-destructuring */
|
|
776
|
+
[layer.inbound_node] = layer.inbound_nodes;
|
|
772
777
|
nodes.set(`${layer.name}[${first_index}]`, layer);
|
|
773
778
|
} else {
|
|
774
779
|
let config = {};
|
|
@@ -861,6 +866,7 @@ keras.Graph = class {
|
|
|
861
866
|
}
|
|
862
867
|
}
|
|
863
868
|
} else if (weights) {
|
|
869
|
+
this.type = 'weights';
|
|
864
870
|
for (const name of weights.keys()) {
|
|
865
871
|
if (weights.get('', name).length <= 6) {
|
|
866
872
|
const layer = { class_name: 'Weights', config: { name } };
|
|
@@ -24,7 +24,7 @@ kmodel.Model = class {
|
|
|
24
24
|
|
|
25
25
|
constructor(model) {
|
|
26
26
|
this.format = `kmodel v${model.version}`;
|
|
27
|
-
this.
|
|
27
|
+
this.modules = model.modules.map((module) => new kmodel.Graph(module));
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
|
|
@@ -32,7 +32,7 @@ kmodel.Graph = class {
|
|
|
32
32
|
|
|
33
33
|
constructor(module) {
|
|
34
34
|
this.name = module.name || '';
|
|
35
|
-
this.
|
|
35
|
+
this.description = module.type || '';
|
|
36
36
|
this.inputs = [];
|
|
37
37
|
this.outputs = [];
|
|
38
38
|
this.nodes = [];
|
|
@@ -252,7 +252,7 @@ kmodel.Reader = class {
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
read() {
|
|
255
|
-
if (this.version < 3 || this.version >
|
|
255
|
+
if (this.version < 3 || this.version > 7) {
|
|
256
256
|
throw new kmodel.Error(`Unsupported model version '${this.version}'.`);
|
|
257
257
|
}
|
|
258
258
|
const types = new Map();
|
|
@@ -23,7 +23,7 @@ lasagne.Model = class {
|
|
|
23
23
|
|
|
24
24
|
constructor(metadata, model) {
|
|
25
25
|
this.format = 'Lasagne';
|
|
26
|
-
this.
|
|
26
|
+
this.modules = [new lasagne.Graph(metadata, model)];
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
|
|
@@ -48,7 +48,7 @@ lasagne.Graph = class {
|
|
|
48
48
|
const layer = model.layers_[name];
|
|
49
49
|
if (layer.input_layer && layer.input_layer.name) {
|
|
50
50
|
const input_layer = layer.input_layer;
|
|
51
|
-
const dataType = input_layer.input_var ? input_layer.input_var.type.dtype : '?';
|
|
51
|
+
const dataType = input_layer.input_var && input_layer.input_var.type ? input_layer.input_var.type.dtype : '?';
|
|
52
52
|
const shape = layer.input_shape ? new lasagne.TensorShape(layer.input_shape) : null;
|
|
53
53
|
const type = shape ? new lasagne.TensorType(dataType, shape) : null;
|
|
54
54
|
values.map(input_layer.name, type);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Promise.all([]).then(()=>import("./chunk-JPD5T7FP.js")).catch(r=>console.error("error",r));
|
qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/megengine.js → megengine.js}
RENAMED
|
@@ -72,7 +72,7 @@ megengine.Model = class {
|
|
|
72
72
|
} else if (type === 'megengine.mge') {
|
|
73
73
|
this.format += ` Mge${obj.model_version ? ` v${obj.model_version}` : ''}`;
|
|
74
74
|
}
|
|
75
|
-
this.
|
|
75
|
+
this.modules = [new megengine.Graph(metadata, obj)];
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
78
|
|
|
@@ -37,11 +37,12 @@ message.Model = class {
|
|
|
37
37
|
this.metadata = (data.metadata || []).map((entry) => {
|
|
38
38
|
return { name: entry.name, value: entry.value };
|
|
39
39
|
});
|
|
40
|
-
|
|
40
|
+
const modules = data.modules || data.graphs || [];
|
|
41
|
+
this.modules = modules.map((module) => new message.Module(module));
|
|
41
42
|
}
|
|
42
43
|
};
|
|
43
44
|
|
|
44
|
-
message.
|
|
45
|
+
message.Module = class {
|
|
45
46
|
|
|
46
47
|
constructor(data) {
|
|
47
48
|
this.inputs = [];
|
|
@@ -34,13 +34,14 @@ mlir.ModelFactory = class {
|
|
|
34
34
|
const decoder = await context.read('text.decoder');
|
|
35
35
|
const parser = new mlir.Parser(decoder);
|
|
36
36
|
const obj = await parser.read();
|
|
37
|
-
|
|
37
|
+
const metadata = new mlir.Metadata();
|
|
38
|
+
return new mlir.Model(metadata, obj);
|
|
38
39
|
}
|
|
39
40
|
case 'mlir.binary': {
|
|
40
41
|
const reader = await context.read('binary');
|
|
41
42
|
const parser = new mlir.BytecodeReader(reader);
|
|
42
43
|
parser.read();
|
|
43
|
-
throw new mlir.Error('
|
|
44
|
+
throw new mlir.Error('File contains unsupported MLIR bytecode data.');
|
|
44
45
|
}
|
|
45
46
|
default: {
|
|
46
47
|
throw new mlir.Error(`Unsupported MLIR format '${context.type}'.`);
|
|
@@ -51,22 +52,22 @@ mlir.ModelFactory = class {
|
|
|
51
52
|
|
|
52
53
|
mlir.Model = class {
|
|
53
54
|
|
|
54
|
-
constructor(obj) {
|
|
55
|
+
constructor(metadata, obj) {
|
|
55
56
|
this.format = 'MLIR';
|
|
56
|
-
this.
|
|
57
|
+
this.modules = [];
|
|
57
58
|
this.metadata = [];
|
|
58
59
|
for (const op of obj.operations) {
|
|
59
60
|
if (op.name.endsWith('.func')) {
|
|
60
|
-
const graph = new mlir.Graph(op);
|
|
61
|
-
this.
|
|
61
|
+
const graph = new mlir.Graph(metadata, op);
|
|
62
|
+
this.modules.push(graph);
|
|
62
63
|
}
|
|
63
64
|
if (op.name.endsWith('.module')) {
|
|
64
65
|
for (const region of op.regions) {
|
|
65
66
|
for (const block of region.blocks) {
|
|
66
67
|
for (const op of block.operations) {
|
|
67
68
|
if (op.name.endsWith('.func')) {
|
|
68
|
-
const graph = new mlir.Graph(op);
|
|
69
|
-
this.
|
|
69
|
+
const graph = new mlir.Graph(metadata, op);
|
|
70
|
+
this.modules.push(graph);
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
73
|
}
|
|
@@ -75,7 +76,8 @@ mlir.Model = class {
|
|
|
75
76
|
}
|
|
76
77
|
if (obj.definitions) {
|
|
77
78
|
for (const attribute of obj.definitions) {
|
|
78
|
-
const
|
|
79
|
+
const value = typeof attribute.value === 'string' ? attribute.value : JSON.stringify(attribute.value);
|
|
80
|
+
const metadata = new mlir.Argument(attribute.name, value, 'attribute');
|
|
79
81
|
this.metadata.push(metadata);
|
|
80
82
|
}
|
|
81
83
|
}
|
|
@@ -84,10 +86,11 @@ mlir.Model = class {
|
|
|
84
86
|
|
|
85
87
|
mlir.Graph = class {
|
|
86
88
|
|
|
87
|
-
constructor(func) {
|
|
89
|
+
constructor(metadata, func) {
|
|
88
90
|
const attr = Object.fromEntries(func.attributes.map((attr) => [attr.name, attr.value]));
|
|
89
91
|
this.name = attr.sym_name || '';
|
|
90
|
-
this.type = func.name;
|
|
92
|
+
this.type = func.name === 'func' || func.name.endsWith('.func') ? 'function' : '';
|
|
93
|
+
this.description = func.name;
|
|
91
94
|
this.inputs = [];
|
|
92
95
|
this.outputs = [];
|
|
93
96
|
this.nodes = [];
|
|
@@ -285,7 +288,7 @@ mlir.Graph = class {
|
|
|
285
288
|
// const map = new Map(metadata.inputs.map((input) => [ input.name, index++ ]));
|
|
286
289
|
// op.inputs.sort((a, b) => (map.get(a.name) || map.size) - (map.get(b.name) || map.size));
|
|
287
290
|
// }
|
|
288
|
-
const node = new mlir.Node(op);
|
|
291
|
+
const node = new mlir.Node(metadata, op);
|
|
289
292
|
this.nodes.push(node);
|
|
290
293
|
}
|
|
291
294
|
}
|
|
@@ -301,8 +304,8 @@ mlir.Argument = class {
|
|
|
301
304
|
case 'i64': this.type = 'int64'; break;
|
|
302
305
|
case 'si64': this.type = 'int64'; break;
|
|
303
306
|
case 'i32': this.type = 'int32'; break;
|
|
304
|
-
case 'f32': this.type = 'float32'; break;
|
|
305
|
-
case 'f64': this.type = 'float64'; break;
|
|
307
|
+
case 'f32': case 'float32': this.type = 'float32'; break;
|
|
308
|
+
case 'f64': case 'float64': this.type = 'float64'; break;
|
|
306
309
|
case null:
|
|
307
310
|
case 'attribute':
|
|
308
311
|
case 'boolean':
|
|
@@ -331,11 +334,13 @@ mlir.Value = class {
|
|
|
331
334
|
|
|
332
335
|
mlir.Node = class {
|
|
333
336
|
|
|
334
|
-
constructor(op) {
|
|
337
|
+
constructor(metadata, op) {
|
|
335
338
|
if (!op.type) {
|
|
336
339
|
throw new mlir.Error('Undefined node type.');
|
|
337
340
|
}
|
|
338
|
-
this.type = {
|
|
341
|
+
this.type = { ...metadata.type(op.identifier || '') };
|
|
342
|
+
this.type.name = op.type || '';
|
|
343
|
+
this.type.identifier = op.identifier || '';
|
|
339
344
|
this.name = op.name || '';
|
|
340
345
|
this.inputs = op.operands || [];
|
|
341
346
|
this.outputs = op.results || [];
|
|
@@ -1214,7 +1219,7 @@ mlir.Parser = class {
|
|
|
1214
1219
|
const open = this._eat('(');
|
|
1215
1220
|
while (!this._match(')') && !this._match('->') && !this._match('{')) {
|
|
1216
1221
|
const input = {};
|
|
1217
|
-
if (this._token.kind === 'id' && this._token.value !== 'dense') {
|
|
1222
|
+
if (this._token.kind === 'id' && this._token.value !== 'dense' && this._token.value !== 'dense_resource') {
|
|
1218
1223
|
const identifier = this._read('id');
|
|
1219
1224
|
if (this._eat('(')) {
|
|
1220
1225
|
const args = this._parseArguments();
|
|
@@ -1455,6 +1460,16 @@ mlir.Parser = class {
|
|
|
1455
1460
|
value.type = 'type';
|
|
1456
1461
|
return value;
|
|
1457
1462
|
}
|
|
1463
|
+
if (this._eat('id', 'dense_resource')) {
|
|
1464
|
+
value.value = null;
|
|
1465
|
+
value.type = 'dense';
|
|
1466
|
+
this._read('<');
|
|
1467
|
+
if (!this._match('>')) {
|
|
1468
|
+
value.value = this._read();
|
|
1469
|
+
}
|
|
1470
|
+
this._read('>');
|
|
1471
|
+
return value;
|
|
1472
|
+
}
|
|
1458
1473
|
if (this._eat('id', 'dense')) {
|
|
1459
1474
|
value.value = null;
|
|
1460
1475
|
value.type = 'dense';
|
|
@@ -1872,6 +1887,27 @@ mlir.Utility = class {
|
|
|
1872
1887
|
}
|
|
1873
1888
|
};
|
|
1874
1889
|
|
|
1890
|
+
mlir.Metadata = class {
|
|
1891
|
+
|
|
1892
|
+
constructor() {
|
|
1893
|
+
this._types = new Map();
|
|
1894
|
+
this.register('stablehlo.reshape', 'Shape');
|
|
1895
|
+
this.register('asuka.split', 'Tensor');
|
|
1896
|
+
this.register('stablehlo.transpose', 'Transform');
|
|
1897
|
+
this.register('toy.transpose', 'Transform');
|
|
1898
|
+
this.register('asuka.softmax', 'Activation');
|
|
1899
|
+
this.register('stablehlo.slice', 'Tensor');
|
|
1900
|
+
}
|
|
1901
|
+
|
|
1902
|
+
register(name, category) {
|
|
1903
|
+
this._types.set(name, { name, category });
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
type(name) {
|
|
1907
|
+
return this._types.get(name) || { name };
|
|
1908
|
+
}
|
|
1909
|
+
};
|
|
1910
|
+
|
|
1875
1911
|
mlir.Error = class extends Error {
|
|
1876
1912
|
|
|
1877
1913
|
constructor(message) {
|
|
@@ -32,12 +32,11 @@ mlnet.Model = class {
|
|
|
32
32
|
if (reader.version && reader.version.length > 0) {
|
|
33
33
|
this.format += ` v${reader.version}`;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
this.graphs = [graph];
|
|
35
|
+
this.modules = [new mlnet.Module(metadata, reader)];
|
|
37
36
|
}
|
|
38
37
|
};
|
|
39
38
|
|
|
40
|
-
mlnet.
|
|
39
|
+
mlnet.Module = class {
|
|
41
40
|
|
|
42
41
|
constructor(metadata, reader) {
|
|
43
42
|
this.inputs = [];
|
qairt_visualizer/core/ui/dist/browser/{assets/netron_plugin/source/mnn-schema.js → mnn-schema.js}
RENAMED
|
@@ -269,7 +269,7 @@ MNN.IDSTQuan = class IDSTQuan {
|
|
|
269
269
|
$.quantScale = reader.float32_(position, 12, 0);
|
|
270
270
|
$.scaleIn = reader.float32_(position, 14, 0);
|
|
271
271
|
$.scaleOut = reader.float32_(position, 16, 0);
|
|
272
|
-
$.
|
|
272
|
+
$.aMaxOrBits = reader.int32_(position, 18, 0);
|
|
273
273
|
$.aMin = reader.int32_(position, 20, 0);
|
|
274
274
|
$.readType = reader.int32_(position, 22, 0);
|
|
275
275
|
$.has_scaleInt = reader.bool_(position, 24, false);
|
|
@@ -288,7 +288,7 @@ MNN.IDSTQuan = class IDSTQuan {
|
|
|
288
288
|
$.quantScale = reader.value(json.quantScale, 0);
|
|
289
289
|
$.scaleIn = reader.value(json.scaleIn, 0);
|
|
290
290
|
$.scaleOut = reader.value(json.scaleOut, 0);
|
|
291
|
-
$.
|
|
291
|
+
$.aMaxOrBits = reader.value(json.aMaxOrBits, 0);
|
|
292
292
|
$.aMin = reader.value(json.aMin, 0);
|
|
293
293
|
$.readType = reader.value(json.readType, 0);
|
|
294
294
|
$.has_scaleInt = reader.value(json.has_scaleInt, false);
|
|
@@ -2489,7 +2489,7 @@ MNN.OpType = {
|
|
|
2489
2489
|
LRN: 37,
|
|
2490
2490
|
LSTM: 38,
|
|
2491
2491
|
MatMul: 39,
|
|
2492
|
-
|
|
2492
|
+
MoE: 40,
|
|
2493
2493
|
NonMaxSuppression: 41,
|
|
2494
2494
|
NonMaxSuppressionV2: 42,
|
|
2495
2495
|
Normalize: 43,
|
|
@@ -3157,9 +3157,12 @@ MNN.TensorDescribe = class TensorDescribe {
|
|
|
3157
3157
|
MNN.ForwardType = {
|
|
3158
3158
|
CPU: 0,
|
|
3159
3159
|
METAL: 1,
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3160
|
+
CUDA: 2,
|
|
3161
|
+
OPENCL: 3,
|
|
3162
|
+
AUTO: 4,
|
|
3163
|
+
NNAPI: 5,
|
|
3164
|
+
OPENGLES: 6,
|
|
3165
|
+
VULKAN: 7
|
|
3163
3166
|
};
|
|
3164
3167
|
|
|
3165
3168
|
MNN.Usage = {
|
|
@@ -64,7 +64,7 @@ mnn.Model = class {
|
|
|
64
64
|
throw new mnn.Error(`Unsupported model source '${net.sourceType}'.`);
|
|
65
65
|
}
|
|
66
66
|
this.source = sources.get(net.sourceType);
|
|
67
|
-
this.
|
|
67
|
+
this.modules = [new mnn.Graph(metadata, net)];
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
|
|
@@ -178,7 +178,7 @@ mnn.Node = class {
|
|
|
178
178
|
delete param.symmetricQuan;
|
|
179
179
|
} else if (param instanceof mnn.schema.InnerProduct) {
|
|
180
180
|
const outputCount = param.outputCount;
|
|
181
|
-
const inputCount = param.weightSize / outputCount;
|
|
181
|
+
const inputCount = outputCount > 0 ? param.weightSize / outputCount : 0;
|
|
182
182
|
this._buildTensor('weight', mnn.schema.DataType.DT_FLOAT, [outputCount, inputCount], param.weight);
|
|
183
183
|
this._buildTensor('bias', mnn.schema.DataType.DT_FLOAT, [outputCount], param.bias);
|
|
184
184
|
delete param.weight;
|
|
@@ -47,17 +47,17 @@ mslite.Model = class {
|
|
|
47
47
|
|
|
48
48
|
constructor(metadata, model) {
|
|
49
49
|
this.name = model.name || '';
|
|
50
|
-
this.
|
|
50
|
+
this.modules = [];
|
|
51
51
|
const version = model.version ? model.version.match(/^.*(\d\.\d\.\d)$/) : null;
|
|
52
52
|
this.format = `MindSpore Lite${version ? ` v${version[1]}` : ''}`;
|
|
53
53
|
const subgraphs = model.subGraph;
|
|
54
54
|
if (Array.isArray(subgraphs)) {
|
|
55
55
|
for (const subgraph of subgraphs) {
|
|
56
|
-
this.
|
|
56
|
+
this.modules.push(new mslite.Graph(metadata, subgraph, model));
|
|
57
57
|
}
|
|
58
58
|
} else {
|
|
59
59
|
const graph = new mslite.Graph(metadata, model, model);
|
|
60
|
-
this.
|
|
60
|
+
this.modules.push(graph);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
};
|
|
@@ -7,7 +7,7 @@ mxnet.ModelFactory = class {
|
|
|
7
7
|
|
|
8
8
|
async match(context) {
|
|
9
9
|
const identifier = context.identifier;
|
|
10
|
-
const extension = identifier.split('.').pop().toLowerCase();
|
|
10
|
+
const extension = identifier.lastIndexOf('.') > 0 ? identifier.split('.').pop().toLowerCase() : '';
|
|
11
11
|
if (extension === 'json') {
|
|
12
12
|
const obj = await context.peek('json');
|
|
13
13
|
if (obj && Array.isArray(obj.nodes) && Array.isArray(obj.arg_nodes) && Array.isArray(obj.heads) && !obj.nodes.some((node) => node && node.op === 'tvm_op')) {
|
|
@@ -259,7 +259,7 @@ mxnet.Model = class {
|
|
|
259
259
|
if (manifest.license) {
|
|
260
260
|
this.metadata.push(new mxnet.Argument('license', manifest.license));
|
|
261
261
|
}
|
|
262
|
-
this.
|
|
262
|
+
this.modules = [new mxnet.Graph(metadata, manifest, symbol, params)];
|
|
263
263
|
}
|
|
264
264
|
};
|
|
265
265
|
|
|
@@ -191,7 +191,7 @@ ncnn.Model = class {
|
|
|
191
191
|
|
|
192
192
|
constructor(metadata, format, param, blobs) {
|
|
193
193
|
this.format = format === 'pnnx' ? 'PNNX' : 'ncnn';
|
|
194
|
-
this.
|
|
194
|
+
this.modules = [new ncnn.Graph(metadata, format, param, blobs)];
|
|
195
195
|
}
|
|
196
196
|
};
|
|
197
197
|
|
|
@@ -367,7 +367,8 @@ ncnn.Node = class {
|
|
|
367
367
|
const weight_data_size = parseInt(params.get('2') || 0, 10);
|
|
368
368
|
const int8_scale_term = parseInt(params.get('8') || 0, 10);
|
|
369
369
|
const activation_type = parseInt(params.get('9') || 0, 10);
|
|
370
|
-
|
|
370
|
+
const input_size = num_output > 0 ? Math.floor(weight_data_size / num_output) : 0;
|
|
371
|
+
blobs.weight('weight', [num_output, input_size]);
|
|
371
372
|
if (bias_term) {
|
|
372
373
|
blobs.weight('bias', [num_output], 1);
|
|
373
374
|
}
|
|
@@ -79,7 +79,7 @@ nnabla.Model = class {
|
|
|
79
79
|
|
|
80
80
|
constructor(metadata, model, version) {
|
|
81
81
|
this.format = `NNabla${version ? ` v${version}` : ''}`;
|
|
82
|
-
this.
|
|
82
|
+
this.modules = [];
|
|
83
83
|
const tensors = new Map(model.parameter.map((parameter) => {
|
|
84
84
|
const name = parameter.variable_name;
|
|
85
85
|
const shape = new nnabla.TensorShape(parameter.shape.dim);
|
|
@@ -90,17 +90,17 @@ nnabla.Model = class {
|
|
|
90
90
|
for (const executor of model.executor) {
|
|
91
91
|
const network = networks.get(executor.network_name);
|
|
92
92
|
const graph = new nnabla.Graph(metadata, network, executor.data_variable, executor.output_variable, tensors);
|
|
93
|
-
this.
|
|
93
|
+
this.modules.push(graph);
|
|
94
94
|
}
|
|
95
95
|
for (const optimizer of model.optimizer) {
|
|
96
96
|
const network = networks.get(optimizer.network_name);
|
|
97
97
|
const graph = new nnabla.Graph(metadata, network, optimizer.data_variable, optimizer.loss_variable, tensors);
|
|
98
|
-
this.
|
|
98
|
+
this.modules.push(graph);
|
|
99
99
|
}
|
|
100
100
|
for (const monitor of model.monitor) {
|
|
101
101
|
const network = networks.get(monitor.network_name);
|
|
102
102
|
const graph = new nnabla.Graph(metadata, network, monitor.data_variable, monitor.monitor_variable, tensors);
|
|
103
|
-
this.
|
|
103
|
+
this.modules.push(graph);
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
};
|
|
@@ -5,7 +5,7 @@ nnef.ModelFactory = class {
|
|
|
5
5
|
|
|
6
6
|
async match(context) {
|
|
7
7
|
const identifier = context.identifier;
|
|
8
|
-
const extension = identifier.split('.').pop().toLowerCase();
|
|
8
|
+
const extension = identifier.lastIndexOf('.') > 0 ? identifier.split('.').pop().toLowerCase() : '';
|
|
9
9
|
switch (extension) {
|
|
10
10
|
case 'nnef': {
|
|
11
11
|
const reader = await nnef.TextReader.open(context);
|