mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-15 18:23:41 +00:00
211 lines
No EOL
13 KiB
HTML
211 lines
No EOL
13 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Load and predict with ONNX Runtime and a very simple model — ONNX Runtime 1.7.0 documentation</title>
|
||
<link rel="stylesheet" href="../static/pygments.css" type="text/css" />
|
||
<link rel="stylesheet" href="../static/alabaster.css" type="text/css" />
|
||
<link rel="stylesheet" type="text/css" href="../static/graphviz.css" />
|
||
<link rel="stylesheet" type="text/css" href="../static/gallery.css" />
|
||
<link rel="stylesheet" type="text/css" href="../static/gallery-binder.css" />
|
||
<link rel="stylesheet" type="text/css" href="../static/gallery-dataframe.css" />
|
||
<link rel="stylesheet" type="text/css" href="../static/gallery-rendered-html.css" />
|
||
<script id="documentation_options" data-url_root="../" src="../static/documentation_options.js"></script>
|
||
<script src="../static/jquery.js"></script>
|
||
<script src="../static/underscore.js"></script>
|
||
<script src="../static/doctools.js"></script>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
<link rel="next" title="ONNX Runtime Backend for ONNX" href="plot_backend.html" />
|
||
<link rel="prev" title="Draw a pipeline" href="plot_pipeline.html" />
|
||
|
||
<link rel="stylesheet" href="../static/custom.css" type="text/css" />
|
||
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||
|
||
</head><body>
|
||
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
|
||
|
||
<div class="body" role="main">
|
||
|
||
<div class="sphx-glr-download-link-note admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>Click <a class="reference internal" href="#sphx-glr-download-auto-examples-plot-load-and-predict-py"><span class="std std-ref">here</span></a>
|
||
to download the full example code</p>
|
||
</div>
|
||
<div class="sphx-glr-example-title section" id="load-and-predict-with-onnx-runtime-and-a-very-simple-model">
|
||
<span id="l-example-simple-usage"></span><span id="sphx-glr-auto-examples-plot-load-and-predict-py"></span><h1>Load and predict with ONNX Runtime and a very simple model<a class="headerlink" href="#load-and-predict-with-onnx-runtime-and-a-very-simple-model" title="Permalink to this headline">¶</a></h1>
|
||
<p>This example demonstrates how to load a model and compute
|
||
the output for an input vector. It also shows how to
|
||
retrieve the definition of its inputs and outputs.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">onnxruntime</span> <span class="k">as</span> <span class="nn">rt</span>
|
||
<span class="kn">import</span> <span class="nn">numpy</span>
|
||
<span class="kn">from</span> <span class="nn">onnxruntime.datasets</span> <span class="kn">import</span> <span class="n">get_example</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Let’s load a very simple model.
|
||
The model is available on github <a class="reference external" href="https://github.com/onnx/onnx/tree/master/onnx/backend/test/data/node/test_sigmoid">onnx…test_sigmoid</a>.
|
||
Note: The next release (ORT 1.10) will require explicitly setting
|
||
the providers parameter if you want to use execution providers other
|
||
than the default CPU provider (as opposed to the current behavior of
|
||
providers getting set/registered by default based on the build flags) when
|
||
instantiating InferenceSession. Following code assumes NVIDIA GPU is available,
|
||
you can specify other execution providers or don't include providers parameter
|
||
to use default CPU provider.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">example1</span> <span class="o">=</span> <span class="n">get_example</span><span class="p">(</span><span class="s2">"sigmoid.onnx"</span><span class="p">)</span>
|
||
<span class="n">sess</span> <span class="o">=</span> <span class="n">rt</span><span class="o">.</span><span class="n">InferenceSession</span><span class="p">(</span><span class="n">example1</span><span class="p">,</span> <span class="n">providers=</span><span class="p">[</span><span class="s2">"CUDAExecutionProvider"</span><span class="p">]</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Let’s see the input name and shape.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">input_name</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">get_inputs</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">name</span>
|
||
<span class="nb">print</span><span class="p">(</span><span class="s2">"input name"</span><span class="p">,</span> <span class="n">input_name</span><span class="p">)</span>
|
||
<span class="n">input_shape</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">get_inputs</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span>
|
||
<span class="nb">print</span><span class="p">(</span><span class="s2">"input shape"</span><span class="p">,</span> <span class="n">input_shape</span><span class="p">)</span>
|
||
<span class="n">input_type</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">get_inputs</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">type</span>
|
||
<span class="nb">print</span><span class="p">(</span><span class="s2">"input type"</span><span class="p">,</span> <span class="n">input_type</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p class="sphx-glr-script-out">Out:</p>
|
||
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>input name x
|
||
input shape [3, 4, 5]
|
||
input type tensor(float)
|
||
</pre></div>
|
||
</div>
|
||
<p>Let’s see the output name and shape.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">output_name</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">get_outputs</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">name</span>
|
||
<span class="nb">print</span><span class="p">(</span><span class="s2">"output name"</span><span class="p">,</span> <span class="n">output_name</span><span class="p">)</span>
|
||
<span class="n">output_shape</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">get_outputs</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span>
|
||
<span class="nb">print</span><span class="p">(</span><span class="s2">"output shape"</span><span class="p">,</span> <span class="n">output_shape</span><span class="p">)</span>
|
||
<span class="n">output_type</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">get_outputs</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">type</span>
|
||
<span class="nb">print</span><span class="p">(</span><span class="s2">"output type"</span><span class="p">,</span> <span class="n">output_type</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p class="sphx-glr-script-out">Out:</p>
|
||
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>output name y
|
||
output shape [3, 4, 5]
|
||
output type tensor(float)
|
||
</pre></div>
|
||
</div>
|
||
<p>Let’s compute its outputs (or predictions if it is a machine learned model).</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">numpy.random</span>
|
||
<span class="n">x</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">random</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
|
||
<span class="n">x</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">numpy</span><span class="o">.</span><span class="n">float32</span><span class="p">)</span>
|
||
<span class="n">res</span> <span class="o">=</span> <span class="n">sess</span><span class="o">.</span><span class="n">run</span><span class="p">([</span><span class="n">output_name</span><span class="p">],</span> <span class="p">{</span><span class="n">input_name</span><span class="p">:</span> <span class="n">x</span><span class="p">})</span>
|
||
<span class="nb">print</span><span class="p">(</span><span class="n">res</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p class="sphx-glr-script-out">Out:</p>
|
||
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[array([[[0.56617785, 0.551158 , 0.57431483, 0.62868774, 0.5294609 ],
|
||
[0.6545371 , 0.64250827, 0.6819708 , 0.5105157 , 0.5584753 ],
|
||
[0.66830933, 0.7094791 , 0.70664704, 0.6744693 , 0.7030401 ],
|
||
[0.5395019 , 0.7210481 , 0.5845876 , 0.59664494, 0.6563896 ]],
|
||
|
||
[[0.71235013, 0.6528918 , 0.5907483 , 0.66855776, 0.61100346],
|
||
[0.51468205, 0.60125333, 0.5410304 , 0.57149607, 0.56778824],
|
||
[0.5155948 , 0.54921585, 0.5138594 , 0.7051111 , 0.62632954],
|
||
[0.5651827 , 0.55247986, 0.6941072 , 0.50415695, 0.7062323 ]],
|
||
|
||
[[0.51758766, 0.67160237, 0.59442437, 0.5007695 , 0.56175166],
|
||
[0.72844744, 0.5150477 , 0.5052765 , 0.5447472 , 0.7088654 ],
|
||
[0.596162 , 0.5197903 , 0.6099661 , 0.724396 , 0.5885481 ],
|
||
[0.6910895 , 0.53817046, 0.596786 , 0.6119356 , 0.5707261 ]]],
|
||
dtype=float32)]
|
||
</pre></div>
|
||
</div>
|
||
<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 0 minutes 0.012 seconds)</p>
|
||
<div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-auto-examples-plot-load-and-predict-py">
|
||
<div class="sphx-glr-download sphx-glr-download-python docutils container">
|
||
<p><a class="reference download internal" download="" href="../downloads/7c8424f45d0156abd4d0221c65601124/plot_load_and_predict.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">plot_load_and_predict.py</span></code></a></p>
|
||
</div>
|
||
<div class="sphx-glr-download sphx-glr-download-jupyter docutils container">
|
||
<p><a class="reference download internal" download="" href="../downloads/290d1103c4874727a37c05b400ffb83c/plot_load_and_predict.ipynb"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Jupyter</span> <span class="pre">notebook:</span> <span class="pre">plot_load_and_predict.ipynb</span></code></a></p>
|
||
</div>
|
||
</div>
|
||
<p class="sphx-glr-signature"><a class="reference external" href="https://sphinx-gallery.github.io">Gallery generated by Sphinx-Gallery</a></p>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<p class="logo"><a href="../index.html">
|
||
<img class="logo" src="../static/ONNX_Runtime_icon.png" alt="Logo"/>
|
||
</a></p>
|
||
<h1 class="logo"><a href="../index.html">ONNX Runtime</a></h1>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../tutorial.html">Tutorial</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../api_summary.html">API Summary</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="index.html">Gallery of examples</a></li>
|
||
</ul>
|
||
|
||
<div class="relations">
|
||
<h3>Related Topics</h3>
|
||
<ul>
|
||
<li><a href="../index.html">Documentation overview</a><ul>
|
||
<li><a href="index.html">Gallery of examples</a><ul>
|
||
<li>Previous: <a href="plot_pipeline.html" title="previous chapter">Draw a pipeline</a></li>
|
||
<li>Next: <a href="plot_backend.html" title="next chapter">ONNX Runtime Backend for ONNX</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
</ul>
|
||
</div>
|
||
<div id="searchbox" style="display: none" role="search">
|
||
<h3 id="searchlabel">Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="../search.html" method="get">
|
||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||
<input type="submit" value="Go" />
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<script>$('#searchbox').show(0);</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="footer">
|
||
©2018-2021, Microsoft.
|
||
|
||
|
|
||
Powered by <a href="http://sphinx-doc.org/">Sphinx 3.5.1</a>
|
||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||
|
||
|
|
||
<a href="../sources/auto_examples/plot_load_and_predict.rst.txt"
|
||
rel="nofollow">Page source</a>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
</body>
|
||
</html> |