onnxruntime/docs/api/python/api_summary.html

542 lines
53 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
2020-08-13 02:12:50 +00:00
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>API Summary &#8212; 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="Gallery of examples" href="auto_examples/index.html" />
<link rel="prev" title="Tutorial" href="tutorial.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="section" id="api-summary">
<h1>API Summary<a class="headerlink" href="#api-summary" title="Permalink to this headline"></a></h1>
<p>Summary of public functions and classes exposed
in <em>ONNX Runtime</em>.</p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#ortvalue" id="id1">OrtValue</a></p></li>
<li><p><a class="reference internal" href="#iobinding" id="id2">IOBinding</a></p></li>
<li><p><a class="reference internal" href="#device" id="id3">Device</a></p></li>
<li><p><a class="reference internal" href="#examples-and-datasets" id="id4">Examples and datasets</a></p></li>
<li><p><a class="reference internal" href="#load-and-run-a-model" id="id5">Load and run a model</a></p></li>
<li><p><a class="reference internal" href="#backend" id="id6">Backend</a></p></li>
</ul>
</div>
<div class="section" id="ortvalue">
<h2><a class="toc-backref" href="#id1">OrtValue</a><a class="headerlink" href="#ortvalue" title="Permalink to this headline"></a></h2>
<p><em>ONNX Runtime</em> works with native Python data structures which are mapped into ONNX data formats :
Numpy arrays (tensors), dictionaries (maps), and a list of Numpy arrays (sequences).
The data backing these are on CPU.</p>
<p><em>ONNX Runtime</em> supports a custom data structure that supports all ONNX data formats that allows users
to place the data backing these on a device, for example, on a CUDA supported device. This allows for
interesting <em>IOBinding</em> scenarios (discussed below). In addition, <em>ONNX Runtime</em> supports directly
working with <em>OrtValue</em> (s) while inferencing a model if provided as part of the input feed.</p>
<p>Below is an example showing creation of an <em>OrtValue</em> from a Numpy array while placing its backing memory
on a CUDA device:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1">#X is numpy array on cpu, create an OrtValue and place it on cuda device id = 0</span>
<span class="n">ortvalue</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">OrtValue</span><span class="o">.</span><span class="n">ortvalue_from_numpy</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="s1">&#39;cuda&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">ortvalue</span><span class="o">.</span><span class="n">device_name</span><span class="p">()</span> <span class="c1"># &#39;cuda&#39;</span>
<span class="n">ortvalue</span><span class="o">.</span><span class="n">shape</span><span class="p">()</span> <span class="c1"># shape of the numpy array X</span>
<span class="n">ortvalue</span><span class="o">.</span><span class="n">data_type</span><span class="p">()</span> <span class="c1"># &#39;tensor(float)&#39;</span>
<span class="n">ortvalue</span><span class="o">.</span><span class="n">is_tensor</span><span class="p">()</span> <span class="c1"># &#39;True&#39;</span>
<span class="n">np</span><span class="o">.</span><span class="n">array_equal</span><span class="p">(</span><span class="n">ortvalue</span><span class="o">.</span><span class="n">numpy</span><span class="p">(),</span> <span class="n">X</span><span class="p">)</span> <span class="c1"># &#39;True&#39;</span>
<span class="c1">#ortvalue can be provided as part of the input feed to a model</span>
<span class="n">ses</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">InferenceSession</span><span class="p">(</span><span class="s1">&#39;model.onnx&#39;</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="s2">&quot;Y&quot;</span><span class="p">],</span> <span class="p">{</span><span class="s2">&quot;X&quot;</span><span class="p">:</span> <span class="n">ortvalue</span><span class="p">})</span>
</pre></div>
</div>
</div>
2020-08-13 02:12:50 +00:00
<div class="section" id="iobinding">
<h2><a class="toc-backref" href="#id2">IOBinding</a><a class="headerlink" href="#iobinding" title="Permalink to this headline"></a></h2>
2020-08-13 02:12:50 +00:00
<p>By default, <em>ONNX Runtime</em> always places input(s) and output(s) on CPU, which
is not optimal if the input or output is consumed and produced on a device
other than CPU because it introduces data copy between CPU and the device.
<em>ONNX Runtime</em> provides a feature, <em>IO Binding</em>, which addresses this issue by
enabling users to specify which device to place input(s) and output(s) on.
Here are scenarios to use this feature.</p>
<p>(In the following code snippets, <em>model.onnx</em> is the model to execute,
<em>X</em> is the input data to feed, and <em>Y</em> is the output data.)</p>
<p>Scenario 1:</p>
<p>A graph is executed on a device other than CPU, for instance CUDA. Users can
2020-08-13 02:12:50 +00:00
use IOBinding to put input on CUDA as the follows.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1">#X is numpy array on cpu</span>
<span class="n">session</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">InferenceSession</span><span class="p">(</span><span class="s1">&#39;model.onnx&#39;</span><span class="p">)</span>
<span class="n">io_binding</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">io_binding</span><span class="p">()</span>
<span class="c1"># OnnxRuntime will copy the data over to the CUDA device if &#39;input&#39; is consumed by nodes on the CUDA device</span>
2020-08-13 02:12:50 +00:00
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_cpu_input</span><span class="p">(</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="n">X</span><span class="p">)</span>
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_output</span><span class="p">(</span><span class="s1">&#39;output&#39;</span><span class="p">)</span>
<span class="n">session</span><span class="o">.</span><span class="n">run_with_iobinding</span><span class="p">(</span><span class="n">io_binding</span><span class="p">)</span>
<span class="n">Y</span> <span class="o">=</span> <span class="n">io_binding</span><span class="o">.</span><span class="n">copy_outputs_to_cpu</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
</pre></div>
</div>
<p>Scenario 2:</p>
<p>The input data is on a device, users directly use the input. The output data is on CPU.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1">#X is numpy array on cpu</span>
<span class="n">X_ortvalue</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">OrtValue</span><span class="o">.</span><span class="n">ortvalue_from_numpy</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="s1">&#39;cuda&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">session</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">InferenceSession</span><span class="p">(</span><span class="s1">&#39;model.onnx&#39;</span><span class="p">)</span>
2020-08-13 02:12:50 +00:00
<span class="n">io_binding</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">io_binding</span><span class="p">()</span>
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_input</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="n">device_type</span><span class="o">=</span><span class="n">X_ortvalue</span><span class="o">.</span><span class="n">device_name</span><span class="p">(),</span> <span class="n">device_id</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">element_type</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="n">X_ortvalue</span><span class="o">.</span><span class="n">shape</span><span class="p">(),</span> <span class="n">buffer_ptr</span><span class="o">=</span><span class="n">X_ortvalue</span><span class="o">.</span><span class="n">data_ptr</span><span class="p">())</span>
2020-08-13 02:12:50 +00:00
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_output</span><span class="p">(</span><span class="s1">&#39;output&#39;</span><span class="p">)</span>
<span class="n">session</span><span class="o">.</span><span class="n">run_with_iobinding</span><span class="p">(</span><span class="n">io_binding</span><span class="p">)</span>
<span class="n">Y</span> <span class="o">=</span> <span class="n">io_binding</span><span class="o">.</span><span class="n">copy_outputs_to_cpu</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
</pre></div>
</div>
<p>Scenario 3:</p>
<p>The input data and output data are both on a device, users directly use the input and also place output on the device.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1">#X is numpy array on cpu</span>
<span class="n">X_ortvalue</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">OrtValue</span><span class="o">.</span><span class="n">ortvalue_from_numpy</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="s1">&#39;cuda&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">Y_ortvalue</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">OrtValue</span><span class="o">.</span><span class="n">ortvalue_from_shape_and_type</span><span class="p">([</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">,</span> <span class="s1">&#39;cuda&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># Change the shape to the actual shape of the output being bound</span>
<span class="n">session</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">InferenceSession</span><span class="p">(</span><span class="s1">&#39;model.onnx&#39;</span><span class="p">)</span>
2020-08-13 02:12:50 +00:00
<span class="n">io_binding</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">io_binding</span><span class="p">()</span>
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_input</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="n">device_type</span><span class="o">=</span><span class="n">X_ortvalue</span><span class="o">.</span><span class="n">device_name</span><span class="p">(),</span> <span class="n">device_id</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">element_type</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="n">X_ortvalue</span><span class="o">.</span><span class="n">shape</span><span class="p">(),</span> <span class="n">buffer_ptr</span><span class="o">=</span><span class="n">X_ortvalue</span><span class="o">.</span><span class="n">data_ptr</span><span class="p">())</span>
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_output</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;output&#39;</span><span class="p">,</span> <span class="n">device_type</span><span class="o">=</span><span class="n">Y_ortvalue</span><span class="o">.</span><span class="n">device_name</span><span class="p">(),</span> <span class="n">device_id</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">element_type</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="n">Y_ortvalue</span><span class="o">.</span><span class="n">shape</span><span class="p">(),</span> <span class="n">buffer_ptr</span><span class="o">=</span><span class="n">Y_ortvalue</span><span class="o">.</span><span class="n">data_ptr</span><span class="p">())</span>
<span class="n">session</span><span class="o">.</span><span class="n">run_with_iobinding</span><span class="p">(</span><span class="n">io_binding</span><span class="p">)</span>
</pre></div>
</div>
<p>Scenario 4:</p>
<p>Users can request <em>ONNX Runtime</em> to allocate an output on a device. This is particularly useful for dynamic shaped outputs.
Users can use the <em>get_outputs()</em> API to get access to the <em>OrtValue</em> (s) corresponding to the allocated output(s).
Users can thus consume the <em>ONNX Runtime</em> allocated memory for the output as an <em>OrtValue</em>.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1">#X is numpy array on cpu</span>
<span class="n">X_ortvalue</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">OrtValue</span><span class="o">.</span><span class="n">ortvalue_from_numpy</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="s1">&#39;cuda&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">session</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">InferenceSession</span><span class="p">(</span><span class="s1">&#39;model.onnx&#39;</span><span class="p">)</span>
<span class="n">io_binding</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">io_binding</span><span class="p">()</span>
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_input</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="n">device_type</span><span class="o">=</span><span class="n">X_ortvalue</span><span class="o">.</span><span class="n">device_name</span><span class="p">(),</span> <span class="n">device_id</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">element_type</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="n">X_ortvalue</span><span class="o">.</span><span class="n">shape</span><span class="p">(),</span> <span class="n">buffer_ptr</span><span class="o">=</span><span class="n">X_ortvalue</span><span class="o">.</span><span class="n">data_ptr</span><span class="p">())</span>
<span class="c1">#Request ONNX Runtime to bind and allocate memory on CUDA for &#39;output&#39;</span>
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_output</span><span class="p">(</span><span class="s1">&#39;output&#39;</span><span class="p">,</span> <span class="s1">&#39;cuda&#39;</span><span class="p">)</span>
<span class="n">session</span><span class="o">.</span><span class="n">run_with_iobinding</span><span class="p">(</span><span class="n">io_binding</span><span class="p">)</span>
<span class="c1"># The following call returns an OrtValue which has data allocated by ONNX Runtime on CUDA</span>
<span class="n">ort_output</span> <span class="o">=</span> <span class="n">io_binding</span><span class="o">.</span><span class="n">get_outputs</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
</pre></div>
</div>
<p>Scenario 5:</p>
<p>Users can bind <em>OrtValue</em> (s) directly.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1">#X is numpy array on cpu</span>
<span class="c1">#X is numpy array on cpu</span>
<span class="n">X_ortvalue</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">OrtValue</span><span class="o">.</span><span class="n">ortvalue_from_numpy</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="s1">&#39;cuda&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">Y_ortvalue</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">OrtValue</span><span class="o">.</span><span class="n">ortvalue_from_shape_and_type</span><span class="p">([</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">,</span> <span class="s1">&#39;cuda&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># Change the shape to the actual shape of the output being bound</span>
<span class="n">session</span> <span class="o">=</span> <span class="n">onnxruntime</span><span class="o">.</span><span class="n">InferenceSession</span><span class="p">(</span><span class="s1">&#39;model.onnx&#39;</span><span class="p">)</span>
<span class="n">io_binding</span> <span class="o">=</span> <span class="n">session</span><span class="o">.</span><span class="n">io_binding</span><span class="p">()</span>
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_ortvalue_input</span><span class="p">(</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="n">X_ortvalue</span><span class="p">)</span>
<span class="n">io_binding</span><span class="o">.</span><span class="n">bind_ortvalue_output</span><span class="p">(</span><span class="s1">&#39;output&#39;</span><span class="p">,</span> <span class="n">Y_ortvalue</span><span class="p">)</span>
2020-08-13 02:12:50 +00:00
<span class="n">session</span><span class="o">.</span><span class="n">run_with_iobinding</span><span class="p">(</span><span class="n">io_binding</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="section" id="device">
<h2><a class="toc-backref" href="#id3">Device</a><a class="headerlink" href="#device" title="Permalink to this headline"></a></h2>
<p>The package is compiled for a specific device, GPU or CPU.
The CPU implementation includes optimizations
such as MKL (Math Kernel Libary). The following function
indicates the chosen option:</p>
2020-08-13 02:12:50 +00:00
<dl class="py function">
<dt id="onnxruntime.get_device">
<code class="sig-prename descclassname"><span class="pre">onnxruntime.</span></code><code class="sig-name descname"><span class="pre">get_device</span></code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><span class="pre">str</span></a><a class="headerlink" href="#onnxruntime.get_device" title="Permalink to this definition"></a></dt>
<dd><p>Return the device used to compute the prediction (CPU, MKL, …)</p>
</dd></dl>
</div>
<div class="section" id="examples-and-datasets">
<h2><a class="toc-backref" href="#id4">Examples and datasets</a><a class="headerlink" href="#examples-and-datasets" title="Permalink to this headline"></a></h2>
<p>The package contains a few models stored in ONNX format
used in the documentation. These dont need to be downloaded
as they are installed with the package.</p>
2020-08-13 02:12:50 +00:00
<dl class="py function">
<dt id="onnxruntime.datasets.get_example">
<code class="sig-prename descclassname"><span class="pre">onnxruntime.datasets.</span></code><code class="sig-name descname"><span class="pre">get_example</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="modules/onnxruntime/datasets.html#get_example"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#onnxruntime.datasets.get_example" title="Permalink to this definition"></a></dt>
<dd><p>Retrieves the absolute file name of an example.</p>
</dd></dl>
</div>
<div class="section" id="load-and-run-a-model">
<h2><a class="toc-backref" href="#id5">Load and run a model</a><a class="headerlink" href="#load-and-run-a-model" title="Permalink to this headline"></a></h2>
<p><em>ONNX Runtime</em> reads a model saved in ONNX format.
The main class <em>InferenceSession</em> wraps these functionalities
in a single place.</p>
2020-08-13 02:12:50 +00:00
<dl class="py class">
<dt id="onnxruntime.ModelMetadata">
<em class="property"><span class="pre">class</span> </em><code class="sig-prename descclassname"><span class="pre">onnxruntime.</span></code><code class="sig-name descname"><span class="pre">ModelMetadata</span></code><a class="headerlink" href="#onnxruntime.ModelMetadata" title="Permalink to this definition"></a></dt>
<dd><p>Pre-defined and custom metadata about the model.
It is usually used to identify the model used to run the prediction and
facilitate the comparison.</p>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.ModelMetadata.custom_metadata_map">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">custom_metadata_map</span></code><a class="headerlink" href="#onnxruntime.ModelMetadata.custom_metadata_map" title="Permalink to this definition"></a></dt>
<dd><p>additional metadata</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.ModelMetadata.description">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">description</span></code><a class="headerlink" href="#onnxruntime.ModelMetadata.description" title="Permalink to this definition"></a></dt>
<dd><p>description of the model</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.ModelMetadata.domain">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">domain</span></code><a class="headerlink" href="#onnxruntime.ModelMetadata.domain" title="Permalink to this definition"></a></dt>
<dd><p>ONNX domain</p>
</dd></dl>
<dl class="py method">
<dt id="onnxruntime.ModelMetadata.graph_description">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">graph_description</span></code><a class="headerlink" href="#onnxruntime.ModelMetadata.graph_description" title="Permalink to this definition"></a></dt>
<dd><p>description of the graph hosted in the model</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.ModelMetadata.graph_name">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">graph_name</span></code><a class="headerlink" href="#onnxruntime.ModelMetadata.graph_name" title="Permalink to this definition"></a></dt>
<dd><p>graph name</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.ModelMetadata.producer_name">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">producer_name</span></code><a class="headerlink" href="#onnxruntime.ModelMetadata.producer_name" title="Permalink to this definition"></a></dt>
<dd><p>producer name</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.ModelMetadata.version">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">version</span></code><a class="headerlink" href="#onnxruntime.ModelMetadata.version" title="Permalink to this definition"></a></dt>
<dd><p>version of the model</p>
</dd></dl>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py class">
<dt id="onnxruntime.InferenceSession">
<em class="property"><span class="pre">class</span> </em><code class="sig-prename descclassname"><span class="pre">onnxruntime.</span></code><code class="sig-name descname"><span class="pre">InferenceSession</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path_or_bytes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sess_options</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">providers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">provider_options</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="modules/onnxruntime/capi/onnxruntime_inference_collection.html#InferenceSession"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#onnxruntime.InferenceSession" title="Permalink to this definition"></a></dt>
2021-09-17 21:01:15 +00:00
<dd><p>This is the main class used to run a model. 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.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py class">
<dt id="onnxruntime.NodeArg">
<em class="property"><span class="pre">class</span> </em><code class="sig-prename descclassname"><span class="pre">onnxruntime.</span></code><code class="sig-name descname"><span class="pre">NodeArg</span></code><a class="headerlink" href="#onnxruntime.NodeArg" title="Permalink to this definition"></a></dt>
<dd><p>Node argument definition, for both input and output,
including arg name, arg type (contains both type and shape).</p>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.NodeArg.name">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">name</span></code><a class="headerlink" href="#onnxruntime.NodeArg.name" title="Permalink to this definition"></a></dt>
<dd><p>node name</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.NodeArg.shape">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">shape</span></code><a class="headerlink" href="#onnxruntime.NodeArg.shape" title="Permalink to this definition"></a></dt>
<dd><p>node shape (assuming the node holds a tensor)</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.NodeArg.type">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">type</span></code><a class="headerlink" href="#onnxruntime.NodeArg.type" title="Permalink to this definition"></a></dt>
<dd><p>node type</p>
</dd></dl>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py class">
<dt id="onnxruntime.RunOptions">
<em class="property"><span class="pre">class</span> </em><code class="sig-prename descclassname"><span class="pre">onnxruntime.</span></code><code class="sig-name descname"><span class="pre">RunOptions</span></code><a class="headerlink" href="#onnxruntime.RunOptions" title="Permalink to this definition"></a></dt>
<dd><p>Configuration information for a single Run.</p>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.RunOptions.log_severity_level">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">log_severity_level</span></code><a class="headerlink" href="#onnxruntime.RunOptions.log_severity_level" title="Permalink to this definition"></a></dt>
<dd><p>Log severity level for a particular Run() invocation. 0:Verbose, 1:Info, 2:Warning. 3:Error, 4:Fatal. Default is 2.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.RunOptions.log_verbosity_level">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">log_verbosity_level</span></code><a class="headerlink" href="#onnxruntime.RunOptions.log_verbosity_level" title="Permalink to this definition"></a></dt>
<dd><p>VLOG level if DEBUG build and run_log_severity_level is 0.
Applies to a particular Run() invocation. Default is 0.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.RunOptions.logid">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">logid</span></code><a class="headerlink" href="#onnxruntime.RunOptions.logid" title="Permalink to this definition"></a></dt>
<dd><p>To identify logs generated by a particular Run() invocation.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.RunOptions.only_execute_path_to_fetches">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">only_execute_path_to_fetches</span></code><a class="headerlink" href="#onnxruntime.RunOptions.only_execute_path_to_fetches" title="Permalink to this definition"></a></dt>
2020-08-13 02:12:50 +00:00
<dd><p>Only execute the nodes needed by fetch list</p>
</dd></dl>
<dl class="py method">
<dt id="onnxruntime.RunOptions.terminate">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">terminate</span></code><a class="headerlink" href="#onnxruntime.RunOptions.terminate" title="Permalink to this definition"></a></dt>
<dd><p>Set to True to terminate any currently executing calls that are using this
RunOptions instance. The individual calls will exit gracefully and return an error status.</p>
</dd></dl>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py class">
<dt id="onnxruntime.SessionOptions">
<em class="property"><span class="pre">class</span> </em><code class="sig-prename descclassname"><span class="pre">onnxruntime.</span></code><code class="sig-name descname"><span class="pre">SessionOptions</span></code><a class="headerlink" href="#onnxruntime.SessionOptions" title="Permalink to this definition"></a></dt>
<dd><p>Configuration information for a session.</p>
<dl class="py method">
<dt id="onnxruntime.SessionOptions.add_free_dimension_override_by_denotation">
<code class="sig-name descname"><span class="pre">add_free_dimension_override_by_denotation</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">onnxruntime.capi.onnxruntime_pybind11_state.SessionOptions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg0</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg1</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)"><span class="pre">int</span></a></span></em><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)"><span class="pre">None</span></a><a class="headerlink" href="#onnxruntime.SessionOptions.add_free_dimension_override_by_denotation" title="Permalink to this definition"></a></dt>
<dd><p>Specify the dimension size for each denotation associated with an inputs free dimension.</p>
</dd></dl>
<dl class="py method">
<dt id="onnxruntime.SessionOptions.add_free_dimension_override_by_name">
<code class="sig-name descname"><span class="pre">add_free_dimension_override_by_name</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">onnxruntime.capi.onnxruntime_pybind11_state.SessionOptions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg0</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg1</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)"><span class="pre">int</span></a></span></em><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)"><span class="pre">None</span></a><a class="headerlink" href="#onnxruntime.SessionOptions.add_free_dimension_override_by_name" title="Permalink to this definition"></a></dt>
<dd><p>Specify values of named dimensions within model inputs.</p>
</dd></dl>
<dl class="py method">
<dt id="onnxruntime.SessionOptions.add_initializer">
<code class="sig-name descname"><span class="pre">add_initializer</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">onnxruntime.capi.onnxruntime_pybind11_state.SessionOptions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg0</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg1</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.9)"><span class="pre">object</span></a></span></em><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)"><span class="pre">None</span></a><a class="headerlink" href="#onnxruntime.SessionOptions.add_initializer" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="onnxruntime.SessionOptions.add_session_config_entry">
<code class="sig-name descname"><span class="pre">add_session_config_entry</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">onnxruntime.capi.onnxruntime_pybind11_state.SessionOptions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg0</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg1</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)"><span class="pre">None</span></a><a class="headerlink" href="#onnxruntime.SessionOptions.add_session_config_entry" title="Permalink to this definition"></a></dt>
<dd><p>Set a single session configuration entry as a pair of strings.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.enable_cpu_mem_arena">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">enable_cpu_mem_arena</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.enable_cpu_mem_arena" title="Permalink to this definition"></a></dt>
<dd><p>Enables the memory arena on CPU. Arena may pre-allocate memory for future usage.
Set this option to false if you dont want it. Default is True.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.enable_mem_pattern">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">enable_mem_pattern</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.enable_mem_pattern" title="Permalink to this definition"></a></dt>
<dd><p>Enable the memory pattern optimization. Default is true.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.enable_profiling">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">enable_profiling</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.enable_profiling" title="Permalink to this definition"></a></dt>
<dd><p>Enable profiling for this session. Default is false.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.execution_mode">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">execution_mode</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.execution_mode" title="Permalink to this definition"></a></dt>
<dd><p>Sets the execution mode. Default is sequential.</p>
</dd></dl>
<dl class="py method">
<dt id="onnxruntime.SessionOptions.execution_order">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">execution_order</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.execution_order" title="Permalink to this definition"></a></dt>
<dd><p>Sets the execution order. Default is basic topological order.</p>
</dd></dl>
<dl class="py method">
<dt id="onnxruntime.SessionOptions.get_session_config_entry">
<code class="sig-name descname"><span class="pre">get_session_config_entry</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">onnxruntime.capi.onnxruntime_pybind11_state.SessionOptions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg0</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><span class="pre">str</span></a><a class="headerlink" href="#onnxruntime.SessionOptions.get_session_config_entry" title="Permalink to this definition"></a></dt>
<dd><p>Get a single session configuration value using the given configuration key.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.graph_optimization_level">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">graph_optimization_level</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.graph_optimization_level" title="Permalink to this definition"></a></dt>
<dd><p>Graph optimization level for this session.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.inter_op_num_threads">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">inter_op_num_threads</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.inter_op_num_threads" title="Permalink to this definition"></a></dt>
<dd><p>Sets the number of threads used to parallelize the execution of the graph (across nodes). Default is 0 to let onnxruntime choose.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.intra_op_num_threads">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">intra_op_num_threads</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.intra_op_num_threads" title="Permalink to this definition"></a></dt>
<dd><p>Sets the number of threads used to parallelize the execution within nodes. Default is 0 to let onnxruntime choose.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.log_severity_level">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">log_severity_level</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.log_severity_level" title="Permalink to this definition"></a></dt>
<dd><p>Log severity level. Applies to session load, initialization, etc.
0:Verbose, 1:Info, 2:Warning. 3:Error, 4:Fatal. Default is 2.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.log_verbosity_level">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">log_verbosity_level</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.log_verbosity_level" title="Permalink to this definition"></a></dt>
<dd><p>VLOG level if DEBUG build and session_log_severity_level is 0.
Applies to session load, initialization, etc. Default is 0.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.logid">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">logid</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.logid" title="Permalink to this definition"></a></dt>
<dd><p>Logger id to use for session output.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.optimized_model_filepath">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">optimized_model_filepath</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.optimized_model_filepath" title="Permalink to this definition"></a></dt>
<dd><p>File path to serialize optimized model to.
Optimized model is not serialized unless optimized_model_filepath is set.
Serialized model format will default to ONNX unless:</p>
<blockquote>
<div><ul class="simple">
<li><p>add_session_config_entry is used to set session.save_model_format to ORT, or</p></li>
<li><p>there is no session.save_model_format config entry and optimized_model_filepath ends in .ort (case insensitive)</p></li>
</ul>
</div></blockquote>
</dd></dl>
<dl class="py method">
<dt id="onnxruntime.SessionOptions.profile_file_prefix">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">profile_file_prefix</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.profile_file_prefix" title="Permalink to this definition"></a></dt>
<dd><p>The prefix of the profile file. The current time will be appended to the file name.</p>
</dd></dl>
<dl class="py method">
<dt id="onnxruntime.SessionOptions.register_custom_ops_library">
<code class="sig-name descname"><span class="pre">register_custom_ops_library</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">onnxruntime.capi.onnxruntime_pybind11_state.SessionOptions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg0</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> &#x2192; <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)"><span class="pre">None</span></a><a class="headerlink" href="#onnxruntime.SessionOptions.register_custom_ops_library" title="Permalink to this definition"></a></dt>
<dd><p>Specify the path to the shared library containing the custom op kernels required to run a model.</p>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py method">
<dt id="onnxruntime.SessionOptions.use_deterministic_compute">
<em class="property"><span class="pre">property</span> </em><code class="sig-name descname"><span class="pre">use_deterministic_compute</span></code><a class="headerlink" href="#onnxruntime.SessionOptions.use_deterministic_compute" title="Permalink to this definition"></a></dt>
2020-08-13 02:12:50 +00:00
<dd><p>Whether to use deterministic compute. Default is false.</p>
</dd></dl>
</dd></dl>
</div>
<div class="section" id="backend">
<h2><a class="toc-backref" href="#id6">Backend</a><a class="headerlink" href="#backend" title="Permalink to this headline"></a></h2>
<p>In addition to the regular API which is optimized for performance and usability,
<em>ONNX Runtime</em> also implements the
<a class="reference external" href="https://github.com/onnx/onnx/blob/master/docs/ImplementingAnOnnxBackend.md">ONNX backend API</a>
for verification of <em>ONNX</em> specification conformance.
The following functions are supported:</p>
2020-08-13 02:12:50 +00:00
<dl class="py function">
<dt id="onnxruntime.backend.is_compatible">
<code class="sig-prename descclassname"><span class="pre">onnxruntime.backend.</span></code><code class="sig-name descname"><span class="pre">is_compatible</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#onnxruntime.backend.is_compatible" title="Permalink to this definition"></a></dt>
<dd><p>Return whether the model is compatible with the backend.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>model</strong> unused</p></li>
<li><p><strong>device</strong> None to use the default device or a string (ex: <cite>CPU</cite>)</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>boolean</p>
</dd>
</dl>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py function">
<dt id="onnxruntime.backend.prepare">
<code class="sig-prename descclassname"><span class="pre">onnxruntime.backend.</span></code><code class="sig-name descname"><span class="pre">prepare</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#onnxruntime.backend.prepare" title="Permalink to this definition"></a></dt>
<dd><p>Load the model and creates a <a class="reference internal" href="#onnxruntime.InferenceSession" title="onnxruntime.InferenceSession"><code class="xref py py-class docutils literal notranslate"><span class="pre">onnxruntime.InferenceSession</span></code></a>
ready to be used as a backend.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>model</strong> ModelProto (returned by <cite>onnx.load</cite>),
string for a filename or bytes for a serialized model</p></li>
<li><p><strong>device</strong> requested device for the computation,
None means the default one which depends on
the compilation settings</p></li>
<li><p><strong>kwargs</strong> see <a class="reference internal" href="#onnxruntime.SessionOptions" title="onnxruntime.SessionOptions"><code class="xref py py-class docutils literal notranslate"><span class="pre">onnxruntime.SessionOptions</span></code></a></p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><a class="reference internal" href="#onnxruntime.InferenceSession" title="onnxruntime.InferenceSession"><code class="xref py py-class docutils literal notranslate"><span class="pre">onnxruntime.InferenceSession</span></code></a></p>
</dd>
</dl>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py function">
<dt id="onnxruntime.backend.run">
<code class="sig-prename descclassname"><span class="pre">onnxruntime.backend.</span></code><code class="sig-name descname"><span class="pre">run</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inputs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#onnxruntime.backend.run" title="Permalink to this definition"></a></dt>
<dd><p>Compute the prediction.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>model</strong> <a class="reference internal" href="#onnxruntime.InferenceSession" title="onnxruntime.InferenceSession"><code class="xref py py-class docutils literal notranslate"><span class="pre">onnxruntime.InferenceSession</span></code></a> returned
by function <em>prepare</em></p></li>
<li><p><strong>inputs</strong> inputs</p></li>
<li><p><strong>device</strong> requested device for the computation,
None means the default one which depends on
the compilation settings</p></li>
<li><p><strong>kwargs</strong> see <a class="reference internal" href="#onnxruntime.RunOptions" title="onnxruntime.RunOptions"><code class="xref py py-class docutils literal notranslate"><span class="pre">onnxruntime.RunOptions</span></code></a></p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>predictions</p>
</dd>
</dl>
</dd></dl>
2020-08-13 02:12:50 +00:00
<dl class="py function">
<dt id="onnxruntime.backend.supports_device">
<code class="sig-prename descclassname"><span class="pre">onnxruntime.backend.</span></code><code class="sig-name descname"><span class="pre">supports_device</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">device</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#onnxruntime.backend.supports_device" title="Permalink to this definition"></a></dt>
<dd><p>Check whether the backend is compiled with particular device support.
In particular its used in the testing suite.</p>
</dd></dl>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
&copy;2018-2021, Microsoft.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 3.5.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
<a href="sources/api_summary.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>