.. 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_profiling.py: .. _l-example-profiling: Profile the execution of a simple model ======================================= *ONNX Runtime* can profile the execution of the model. This example shows how to interpret the results. .. code-block:: python import onnxruntime as rt import numpy from onnxruntime.datasets import get_example Let's load a very simple model and compute some prediction. .. code-block:: python example1 = get_example("mul_1.onnx") sess = rt.InferenceSession(example1) input_name = sess.get_inputs()[0].name x = numpy.array([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]], dtype=numpy.float32) res = sess.run(None, {input_name: x}) print(res) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none [array([[ 1., 4.], [ 9., 16.], [25., 36.]], dtype=float32)] We need to enable to profiling before running the predictions. .. code-block:: python options = rt.SessionOptions() options.enable_profiling = True sess_profile = rt.InferenceSession(example1, options) input_name = sess.get_inputs()[0].name x = numpy.array([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]], dtype=numpy.float32) sess.run(None, {input_name: x}) prof_file = sess_profile.end_profiling() print(prof_file) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none onnxruntime_profile__2019-12-19_16-47-06.json The results are stored un a file in JSON format. Let's see what it contains. .. code-block:: python import json with open(prof_file, "r") as f: sess_time = json.load(f) import pprint pprint.pprint(sess_time) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none [{'args': {}, 'cat': 'Session', 'dur': 100, 'name': 'model_loading_from_saved_proto', 'ph': 'X', 'pid': 27824, 'tid': 13820, 'ts': 10}, {'args': {}, 'cat': 'Session', 'dur': 200, 'name': 'session_initialization', 'ph': 'X', 'pid': 27824, 'tid': 13820, 'ts': 123}] **Total running time of the script:** ( 0 minutes 0.027 seconds) .. _sphx_glr_download_auto_examples_plot_profiling.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download :download:`Download Python source code: plot_profiling.py ` .. container:: sphx-glr-download :download:`Download Jupyter notebook: plot_profiling.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_