4 ms·
Onnx has really poor support by microsoft. I suspect they've basically abandoned it internally (their onnxjs variant is orders of magnitude slower than tfjs[1])
by tvirosi 5y ago
Onnx has really poor support by microsoft. I suspect they've basically abandoned it internally (their onnxjs variant is orders of magnitude slower than tfjs[1]). It's a good 'neutral standard' for the moment but we should all eventually probably move away from it long term.
[1] https://github.com/microsoft/onnxjs/issues/304 https://github.com/microsoft/onnxjs/issues/304
- akhundelar 5y agoONNX != onnxjs ONNX is a representation format for ML models (mostly neural networks). onnxjs is a just a browser runtime for ONNX models. While it may be true that onnxjs is neglected, please note that the 'main' runtime, onnxruntime, is under heavy active development[1]. Moreover, Microsoft is not the sole steward of the ONNX ecosystem. They are one of many contributors, alongside companies like Facebook, Amazon, Nvidia, and many others [2]. I don't think ONNX is going away anytime soon. Not so sure about the TF ecosystem though. [1] https://github.com/microsoft/onnxruntime/releases https://github.com/microsoft/onnxruntime/releases [2] https://onnx.ai/about.html https://onnx.ai/about.html
- deleted 5y ago[deleted]
- tvirosi 5y agoI've tried inference on the python version of onnx and it usually varies between hitting a OOM limit (while with TF it works fine) to being an order of magnitude slower. Even if the codebase is still being changed I don't see much reason for people to use it other than as a convenient distribution format.
- akhundelar 5y agoInteresting, I did not encounter such discrepancies in my work with these tools. There could be multiple reasons for the degraded performance: - Are we comparing apples to apples here (heh), e.g. ResNet-50 vs ResNet-50? - Was the ONNX model ported from TF? There are known issues with that path (https://onnxruntime.ai/docs/how-to/tune-performance.html#my-converted-tensorflow-model-is-slow---why https://onnxruntime.ai/docs/how-to/tune-performance.html#my-...) - Have you tried tuning an execution provider for your specific target platform?(https://onnxruntime.ai/docs/reference/execution-providers/#summary-of-supported-execution-providers https://onnxruntime.ai/docs/reference/execution-providers/#s...)