:orphan: |rss_image| **2021-08 - 1/1** :ref:`Blog ` :ref:`benchmark (4) ` :ref:`onnx (8) ` .. |rss_image| image:: feed-icon-16x16.png :target: ../_downloads/rss.xml :alt: RSS ---- .. index:: 2021-08 .. _ap-month-2021-08-0: 2021-08 - 1/1 +++++++++++++ .. blogpostagg:: :title: A few tricks for tf2onnx :date: 2021-08-12 :keywords: tips,tensorflow,tensorflow-onnx :categories: tf2onnx :rawfile: 2021/2021-08-12_tf2onnx.rst A few things I tend to forget. To run a specific test on a specific opset. ... .. blogpostagg:: :title: Decompose einsum into numpy operators :date: 2021-08-11 :keywords: einsum :categories: onnx :rawfile: 2021/2021-08-11_einsum.rst Notebook :ref:`einsumdecompositionrst` what function :epkg:`numpy:einsum` does and how it can be decomposed into a series of basic operations, all available in ONNX. That's the purpose of function Function :func:`decompose_einsum_equation `. With function :func:`export2numpy `, it is possible to convert back this ONNX graph into a series of numpy operations. ... .. blogpostagg:: :title: onnxruntime shape [] != None :date: 2021-08-10 :keywords: onnxruntime :categories: onnx :rawfile: 2021/2021-08-10_shape.rst `None` is the undefined shape, `[]` is an empty shape. And when shapes do not fit the results, the outputs can be suprising. The following example shows what :epkg:`onnxruntime` produces for the same graph except input and output shapes when defined as `None` and `[]`. ... ---- |rss_image| **2021-08 - 1/1** :ref:`2021-08 (3) ` :ref:`2022-02 (1) ` :ref:`2022-05 (1) ` :ref:`2022-06 (1) ` :ref:`2022-11 (1) `