.. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_plot_backend.py: .. _l-example-backend-api: ONNX Runtime Backend for ONNX ============================= *ONNX Runtime* extends the `onnx backend API `_ to run predictions using this runtime. Let's use the API to compute the prediction of a simple logistic regression model. .. code-block:: default import numpy as np from onnxruntime import datasets from onnxruntime.capi.onnxruntime_pybind11_state import InvalidArgument import onnxruntime.backend as backend from onnx import load name = datasets.get_example("logreg_iris.onnx") model = load(name) rep = backend.prepare(model, 'CPU') x = np.array([[-1.0, -2.0]], dtype=np.float32) try: label, proba = rep.run(x) print("label={}".format(label)) print("probabilities={}".format(proba)) except (RuntimeError, InvalidArgument) as e: print(e) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Got invalid dimensions for input: float_input for the following indices index: 0 Got: 1 Expected: 3 Please fix either the inputs or the model. The device depends on how the package was compiled, GPU or CPU. .. code-block:: default from onnxruntime import get_device print(get_device()) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none CPU The backend can also directly load the model without using *onnx*. .. code-block:: default rep = backend.prepare(name, 'CPU') x = np.array([[-1.0, -2.0]], dtype=np.float32) try: label, proba = rep.run(x) print("label={}".format(label)) print("probabilities={}".format(proba)) except (RuntimeError, InvalidArgument) as e: print(e) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Got invalid dimensions for input: float_input for the following indices index: 0 Got: 1 Expected: 3 Please fix either the inputs or the model. The backend API is implemented by other frameworks and makes it easier to switch between multiple runtimes with the same API. .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.047 seconds) .. _sphx_glr_download_auto_examples_plot_backend.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_backend.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_backend.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_