mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-14 18:12:05 +00:00
Update Python API docs to commit 84f69d3 Co-authored-by: snnn <snnn@users.noreply.github.com>
259 lines
4.5 KiB
ReStructuredText
259 lines
4.5 KiB
ReStructuredText
|
|
.. DO NOT EDIT.
|
|
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
|
|
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
|
|
.. "auto_examples/plot_pipeline.py"
|
|
.. LINE NUMBERS ARE GIVEN BELOW.
|
|
|
|
.. only:: html
|
|
|
|
.. note::
|
|
:class: sphx-glr-download-link-note
|
|
|
|
Click :ref:`here <sphx_glr_download_auto_examples_plot_pipeline.py>`
|
|
to download the full example code
|
|
|
|
.. rst-class:: sphx-glr-example-title
|
|
|
|
.. _sphx_glr_auto_examples_plot_pipeline.py:
|
|
|
|
|
|
Draw a pipeline
|
|
===============
|
|
|
|
There is no other way to look into one model stored
|
|
in ONNX format than looking into its node with
|
|
*onnx*. This example demonstrates
|
|
how to draw a model and to retrieve it in *json*
|
|
format.
|
|
|
|
.. contents::
|
|
:local:
|
|
|
|
Retrieve a model in JSON format
|
|
+++++++++++++++++++++++++++++++
|
|
|
|
That's the most simple way.
|
|
|
|
.. GENERATED FROM PYTHON SOURCE LINES 22-34
|
|
|
|
.. code-block:: default
|
|
|
|
|
|
from onnxruntime.datasets import get_example
|
|
|
|
example1 = get_example("mul_1.onnx")
|
|
|
|
import onnx
|
|
|
|
model = onnx.load(example1) # model is a ModelProto protobuf message
|
|
|
|
print(model)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. rst-class:: sphx-glr-script-out
|
|
|
|
.. code-block:: none
|
|
|
|
ir_version: 3
|
|
producer_name: "chenta"
|
|
graph {
|
|
node {
|
|
input: "X"
|
|
input: "W"
|
|
output: "Y"
|
|
name: "mul_1"
|
|
op_type: "Mul"
|
|
}
|
|
name: "mul test"
|
|
initializer {
|
|
dims: 3
|
|
dims: 2
|
|
data_type: 1
|
|
float_data: 1.0
|
|
float_data: 2.0
|
|
float_data: 3.0
|
|
float_data: 4.0
|
|
float_data: 5.0
|
|
float_data: 6.0
|
|
name: "W"
|
|
}
|
|
input {
|
|
name: "X"
|
|
type {
|
|
tensor_type {
|
|
elem_type: 1
|
|
shape {
|
|
dim {
|
|
dim_value: 3
|
|
}
|
|
dim {
|
|
dim_value: 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
output {
|
|
name: "Y"
|
|
type {
|
|
tensor_type {
|
|
elem_type: 1
|
|
shape {
|
|
dim {
|
|
dim_value: 3
|
|
}
|
|
dim {
|
|
dim_value: 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
opset_import {
|
|
domain: ""
|
|
version: 7
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.. GENERATED FROM PYTHON SOURCE LINES 35-41
|
|
|
|
Draw a model with ONNX
|
|
++++++++++++++++++++++
|
|
We use `net_drawer.py <https://github.com/onnx/onnx/blob/master/onnx/tools/net_drawer.py>`_
|
|
included in *onnx* package.
|
|
We use *onnx* to load the model
|
|
in a different way than before.
|
|
|
|
.. GENERATED FROM PYTHON SOURCE LINES 41-50
|
|
|
|
.. code-block:: default
|
|
|
|
|
|
|
|
from onnx import ModelProto
|
|
|
|
model = ModelProto()
|
|
with open(example1, "rb") as fid:
|
|
content = fid.read()
|
|
model.ParseFromString(content)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. GENERATED FROM PYTHON SOURCE LINES 51-52
|
|
|
|
We convert it into a graph.
|
|
|
|
.. GENERATED FROM PYTHON SOURCE LINES 52-59
|
|
|
|
.. code-block:: default
|
|
|
|
from onnx.tools.net_drawer import GetOpNodeProducer, GetPydotGraph
|
|
|
|
pydot_graph = GetPydotGraph(
|
|
model.graph, name=model.graph.name, rankdir="LR", node_producer=GetOpNodeProducer("docstring")
|
|
)
|
|
pydot_graph.write_dot("graph.dot")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. GENERATED FROM PYTHON SOURCE LINES 60-61
|
|
|
|
Then into an image
|
|
|
|
.. GENERATED FROM PYTHON SOURCE LINES 61-65
|
|
|
|
.. code-block:: default
|
|
|
|
import os
|
|
|
|
os.system("dot -O -Tpng graph.dot")
|
|
|
|
|
|
|
|
|
|
|
|
.. rst-class:: sphx-glr-script-out
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
.. GENERATED FROM PYTHON SOURCE LINES 66-67
|
|
|
|
Which we display...
|
|
|
|
.. GENERATED FROM PYTHON SOURCE LINES 67-71
|
|
|
|
.. code-block:: default
|
|
|
|
import matplotlib.pyplot as plt
|
|
|
|
image = plt.imread("graph.dot.png")
|
|
plt.imshow(image)
|
|
|
|
|
|
|
|
.. image-sg:: /auto_examples/images/sphx_glr_plot_pipeline_001.png
|
|
:alt: plot pipeline
|
|
:srcset: /auto_examples/images/sphx_glr_plot_pipeline_001.png
|
|
:class: sphx-glr-single-img
|
|
|
|
|
|
.. rst-class:: sphx-glr-script-out
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
<matplotlib.image.AxesImage object at 0x7f832e2b12e0>
|
|
|
|
|
|
|
|
|
|
.. rst-class:: sphx-glr-timing
|
|
|
|
**Total running time of the script:** ( 0 minutes 0.190 seconds)
|
|
|
|
|
|
.. _sphx_glr_download_auto_examples_plot_pipeline.py:
|
|
|
|
.. only:: html
|
|
|
|
.. container:: sphx-glr-footer sphx-glr-footer-example
|
|
|
|
|
|
.. container:: sphx-glr-download sphx-glr-download-python
|
|
|
|
:download:`Download Python source code: plot_pipeline.py <plot_pipeline.py>`
|
|
|
|
.. container:: sphx-glr-download sphx-glr-download-jupyter
|
|
|
|
:download:`Download Jupyter notebook: plot_pipeline.ipynb <plot_pipeline.ipynb>`
|
|
|
|
|
|
.. only:: html
|
|
|
|
.. rst-class:: sphx-glr-signature
|
|
|
|
`Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
|