:orphan: |rss_image| **2019-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:: 2019-08 .. _ap-month-2019-08-0: 2019-08 - 1/1 +++++++++++++ .. blogpostagg:: :title: Float, double with ONNX :date: 2019-08-23 :keywords: onnx,float,double :categories: onnx :rawfile: 2019/2019-08-23_onnx_float_double.rst Replicating what a library does, :epkg:`scikit-learn` for example, is different from implementing a function defined in a paper. Every trick needs to be replicated. :epkg:`scikit-learn` trees implement a prediction function which takes float features and compares them to double thresholds. Knowning the :epkg:`ONNX` assumes that comparison only happens numbers of the same type, you end up with discrepencies. ... .. blogpostagg:: :title: ONNX updates :date: 2019-08-02 :keywords: onnx,onnxrt,update :categories: onnx :rawfile: 2019/2019-08-02_onnx_changes.rst The python runtime is now almost complete for all the supported numerical operator implemented in :epkg:`sklearn-onnx`. A couple of notebooks introduces a couple of way to investigates issues, to benchmark ONNX models with :epkg:`onnxruntime` or python runtime, to check the differences between the same model. It also extend ONNX with operators not in the specification to experiment some assumptions and check it is more efficient. Notebook :ref:`onnxshakerrst` introduces a way to guess the margins introduced by the conversion from double to single. There also exists a function to convert numpy function into ONNX (see :ref:`l-numpy2onnx-tutorial`). Its coverage is probably low but it will improve. ---- |rss_image| **2019-08 - 1/1** :ref:`2021-08 (3) ` :ref:`2022-02 (1) ` :ref:`2022-05 (1) ` :ref:`2022-06 (1) ` :ref:`2022-11 (1) `