onnxruntime/docs/api/python/sources/auto_examples/plot_pipeline.rst.txt

260 lines
4.5 KiB
Text
Raw Normal View History

.. 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.
2020-08-13 02:12:50 +00:00
.. 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
2020-08-13 02:12:50 +00:00
.. 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
}
2020-08-13 02:12:50 +00:00
.. GENERATED FROM PYTHON SOURCE LINES 35-41
Draw a model with ONNX
++++++++++++++++++++++
We use `net_drawer.py <https://github.com/onnx/onnx/blob/main/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
2020-08-13 02:12:50 +00:00
.. 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
2020-08-13 02:12:50 +00:00
We convert it into a graph.
.. GENERATED FROM PYTHON SOURCE LINES 52-59
2020-08-13 02:12:50 +00:00
.. 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
2020-08-13 02:12:50 +00:00
Then into an image
.. GENERATED FROM PYTHON SOURCE LINES 61-65
2020-08-13 02:12:50 +00:00
.. code-block:: default
import os
os.system("dot -O -Tpng graph.dot")
.. rst-class:: sphx-glr-script-out
2020-08-13 02:12:50 +00:00
.. code-block:: none
2020-08-13 02:12:50 +00:00
0
2020-08-13 02:12:50 +00:00
.. GENERATED FROM PYTHON SOURCE LINES 66-67
2020-08-13 02:12:50 +00:00
Which we display...
.. GENERATED FROM PYTHON SOURCE LINES 67-71
2020-08-13 02:12:50 +00:00
.. 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
2020-08-13 02:12:50 +00:00
.. rst-class:: sphx-glr-script-out
.. code-block:: none
<matplotlib.image.AxesImage object at 0x7f9f30133d90>
2020-08-13 02:12:50 +00:00
2020-08-13 02:12:50 +00:00
.. rst-class:: sphx-glr-timing
**Total running time of the script:** ( 0 minutes 0.262 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
2020-08-13 02:12:50 +00:00
`Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_