{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# ONNX visualization\n", "\n", "[ONNX](https://onnx.ai/) is a serialization format for machine learned model. It is a list of mathematical functions used to describe every prediction function for standard and deep machine learning. Module [onnx](https://github.com/onnx/onnx) offers some tools to [display ONNX graph](http://www.xavierdupre.fr/app/sklearn-onnx/helpsphinx/auto_examples/plot_pipeline.html). [Netron](https://github.com/lutzroeder/netron) is another approach. The following notebooks explore a ligher visualization."]}, {"cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [{"data": {"text/html": ["
run previous cell, wait for 2 seconds
\n", ""], "text/plain": [""]}, "execution_count": 2, "metadata": {}, "output_type": "execute_result"}], "source": ["from jyquickhelper import add_notebook_menu\n", "add_notebook_menu()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Train a model"]}, {"cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [{"data": {"text/plain": ["LogisticRegression(solver='liblinear')"]}, "execution_count": 3, "metadata": {}, "output_type": "execute_result"}], "source": ["from sklearn.datasets import load_iris\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.linear_model import LogisticRegression\n", "iris = load_iris()\n", "X, y = iris.data, iris.target\n", "X_train, X_test, y_train, y_test = train_test_split(X, y)\n", "clr = LogisticRegression(solver='liblinear')\n", "clr.fit(X_train, y_train)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Convert a model"]}, {"cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": ["import numpy\n", "from mlprodict.onnx_conv import to_onnx\n", "model_onnx = to_onnx(clr, X_train.astype(numpy.float32))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Explore it with OnnxInference"]}, {"cell_type": "code", "execution_count": 4, "metadata": {"scrolled": false}, "outputs": [{"data": {"text/plain": ["OnnxInference(...)"]}, "execution_count": 5, "metadata": {}, "output_type": "execute_result"}], "source": ["from mlprodict.onnxrt import OnnxInference\n", "\n", "sess = OnnxInference(model_onnx)\n", "sess"]}, {"cell_type": "code", "execution_count": 5, "metadata": {"scrolled": false}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["OnnxInference(...)\n", " ir_version: 4\n", " producer_name: \"skl2onnx\"\n", " producer_version: \"1.7.1076\"\n", " domain: \"ai.onnx\"\n", " model_version: 0\n", " doc_string: \"\"\n", " graph {\n", " node {\n", " input: \"X\"\n", " output: \"label\"\n", " output: \"probability_tensor\"\n", " name: \"LinearClassifier\"\n", " op_type: \"LinearClassifier\"\n", " attribute {\n", " name: \"classlabels_ints\"\n", " ints: 0\n", " ints: 1\n", " ints: 2\n", " type: INTS\n", " }\n", " attribute {\n", " name: \"coefficients\"\n", " floats: 0.3895888328552246\n", " floats: 1.3643852472305298\n", " floats: -2.140394449234009\n", " floats: -0.9475928544998169\n", " floats: 0.3562876284122467\n", " floats: -1.4181873798370361\n", " floats: 0.5958272218704224\n", " floats: -1.3317818641662598\n", " floats: -1.5090725421905518\n", " floats: -1.3937636613845825\n", " floats: 2.168299436569214\n", " floats: 2.3770956993103027\n", " type: FLOATS\n", " }\n", " attribute {\n", " name: \"intercepts\"\n", " floats: 0.23760676383972168\n", " floats: 0.8039277791976929\n", " floats: -1.0647538900375366\n", " type: FLOATS\n", " }\n", " attribute {\n", " name: \"multi_class\"\n", " i: 1\n", " type: INT\n", " }\n", " attribute {\n", " name: \"post_transform\"\n", " s: \"LOGISTIC\"\n", " type: STRING\n", " }\n", " domain: \"ai.onnx.ml\"\n", " }\n", " node {\n", " input: \"probability_tensor\"\n", " output: \"probabilities\"\n", " name: \"Normalizer\"\n", " op_type: \"Normalizer\"\n", " attribute {\n", " name: \"norm\"\n", " s: \"L1\"\n", " type: STRING\n", " }\n", " domain: \"ai.onnx.ml\"\n", " }\n", " node {\n", " input: \"label\"\n", " output: \"output_label\"\n", " name: \"Cast\"\n", " op_type: \"Cast\"\n", " attribute {\n", " name: \"to\"\n", " i: 7\n", " type: INT\n", " }\n", " domain: \"\"\n", " }\n", " node {\n", " input: \"probabilities\"\n", " output: \"output_probability\"\n", " name: \"ZipMap\"\n", " op_type: \"ZipMap\"\n", " attribute {\n", " name: \"classlabels_int64s\"\n", " ints: 0\n", " ints: 1\n", " ints: 2\n", " type: INTS\n", " }\n", " domain: \"ai.onnx.ml\"\n", " }\n", " name: \"mlprodict_ONNX(LogisticRegression)\"\n", " input {\n", " name: \"X\"\n", " type {\n", " tensor_type {\n", " elem_type: 1\n", " shape {\n", " dim {\n", " }\n", " dim {\n", " dim_value: 4\n", " }\n", " }\n", " }\n", " }\n", " }\n", " output {\n", " name: \"output_label\"\n", " type {\n", " tensor_type {\n", " elem_type: 7\n", " shape {\n", " dim {\n", " }\n", " }\n", " }\n", " }\n", " }\n", " output {\n", " name: \"output_probability\"\n", " type {\n", " sequence_type {\n", " elem_type {\n", " map_type {\n", " key_type: 7\n", " value_type {\n", " tensor_type {\n", " elem_type: 1\n", " }\n", " }\n", " }\n", " }\n", " }\n", " }\n", " }\n", " }\n", " opset_import {\n", " domain: \"ai.onnx.ml\"\n", " version: 1\n", " }\n", " opset_import {\n", " domain: \"\"\n", " version: 9\n", " }\n", "\n"]}], "source": ["print(sess)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## dot"]}, {"cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["digraph{\n", " ranksep=0.25;\n", " nodesep=0.05;\n", " orientation=portrait;\n", "\n", " X [shape=box color=red label=\"X\\nfloat((0, 4))\" fontsize=10];\n", "\n", " output_label [shape=box color=green label=\"output_label\\nint64((0,))\" fontsize=10];\n", " output_probability [shape=box color=green label=\"output_probability\\n[{int64, {'kind': 'tensor', 'elem': 'float', 'shape': }}]\" fontsize=10];\n", "\n", "\n", " label [shape=box label=\"label\" fontsize=10];\n", " probability_tensor [shape=box label=\"probability_tensor\" fontsize=10];\n", " LinearClassifier [shape=box style=\"filled,rounded\" color=orange label=\"LinearClassifier\\n(LinearClassifier)\\nclasslabels_ints=[0 1 2]\\ncoefficients=[ 0.38958883 1.36...\\nintercepts=[ 0.23760676 0.8039...\\nmulti_class=1\\npost_transform=b'LOGISTIC'\" fontsize=10];\n", " X -> LinearClassifier;\n", " LinearClassifier -> label;\n", " LinearClassifier -> probability_tensor;\n", "\n", " probabilities [shape=box label=\"probabilities\" fontsize=10];\n", " Normalizer [shape=box style=\"filled,rounded\" color=orange label=\"Normalizer\\n(Normalizer)\\nnorm=b'L1'\" fontsize=10];\n", " probability_tensor -> Normalizer;\n", " Normalizer -> probabilities;\n", "\n", " Cast [shape=box style=\"filled,rounded\" color=orange label=\"Cast\\n(Cast)\\nto=7\" fontsize=10];\n", " label -> Cast;\n", " Cast -> output_label;\n", "\n", " ZipMap [shape=box style=\"filled,rounded\" color=orange label=\"ZipMap\\n(ZipMap)\\nclasslabels_int64s=[0 1 2]\" fontsize=10];\n", " probabilities -> ZipMap;\n", " ZipMap -> output_probability;\n", "}\n"]}], "source": ["dot = sess.to_dot()\n", "print(dot)"]}, {"cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", ""], "text/plain": [""]}, "execution_count": 8, "metadata": {}, "output_type": "execute_result"}], "source": ["from jyquickhelper import RenderJsDot\n", "RenderJsDot(dot) # add local=True if nothing shows up"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## magic commands\n", "\n", "The module implements a magic command to easily display graphs."]}, {"cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["The mlprodict extension is already loaded. To reload it, use:\n", " %reload_ext mlprodict\n"]}], "source": ["%load_ext mlprodict"]}, {"cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", ""], "text/plain": [""]}, "execution_count": 10, "metadata": {}, "output_type": "execute_result"}], "source": ["# add -l 1 if nothing shows up\n", "%onnxview model_onnx"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Shape information\n", "\n", "It is possible to use the python runtime to get an estimation of each node shape."]}, {"cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", ""], "text/plain": [""]}, "execution_count": 11, "metadata": {}, "output_type": "execute_result"}], "source": ["%onnxview model_onnx -a 1"]}, {"cell_type": "markdown", "metadata": {}, "source": ["The shape ``(n, 2)`` means a matrix with an indefinite number of rows and 2 columns."]}, {"cell_type": "markdown", "metadata": {}, "source": ["## runtime\n", "\n", "Let's compute the prediction using a Python runtime."]}, {"cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [{"data": {"text/plain": ["{0: array([0.84339281, 0.01372288, 0.77424892, 0.00095374, 0.04052374]),\n", " 1: array([0.15649399, 0.71819778, 0.22563196, 0.25979154, 0.7736001 ]),\n", " 2: array([1.13198419e-04, 2.68079336e-01, 1.19117272e-04, 7.39254721e-01,\n", " 1.85876160e-01])}"]}, "execution_count": 12, "metadata": {}, "output_type": "execute_result"}], "source": ["prob = sess.run({'X': X_test})['output_probability']\n", "prob[:5]"]}, {"cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [{"data": {"text/plain": ["array([[8.43392810e-01, 1.56493992e-01, 1.13198419e-04],\n", " [1.37228844e-02, 7.18197780e-01, 2.68079336e-01],\n", " [7.74248918e-01, 2.25631964e-01, 1.19117272e-04],\n", " [9.53737402e-04, 2.59791542e-01, 7.39254721e-01],\n", " [4.05237433e-02, 7.73600097e-01, 1.85876160e-01]])"]}, "execution_count": 13, "metadata": {}, "output_type": "execute_result"}], "source": ["import pandas\n", "prob = pandas.DataFrame(list(prob)).values\n", "prob[:5]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Which we compare to the original model."]}, {"cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [{"data": {"text/plain": ["array([[8.43392800e-01, 1.56494002e-01, 1.13198441e-04],\n", " [1.37228764e-02, 7.18197725e-01, 2.68079398e-01],\n", " [7.74248907e-01, 2.25631976e-01, 1.19117296e-04],\n", " [9.53736800e-04, 2.59791543e-01, 7.39254720e-01],\n", " [4.05237263e-02, 7.73600070e-01, 1.85876204e-01]])"]}, "execution_count": 14, "metadata": {}, "output_type": "execute_result"}], "source": ["clr.predict_proba(X_test)[:5]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Some time measurement..."]}, {"cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["86.7 \u00b5s \u00b1 7.33 \u00b5s per loop (mean \u00b1 std. dev. of 7 runs, 10000 loops each)\n"]}], "source": ["%timeit clr.predict_proba(X_test)"]}, {"cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["52.5 \u00b5s \u00b1 4.53 \u00b5s per loop (mean \u00b1 std. dev. of 7 runs, 10000 loops each)\n"]}], "source": ["%timeit sess.run({'X': X_test})['output_probability']"]}, {"cell_type": "markdown", "metadata": {}, "source": ["With one observation:"]}, {"cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["77.6 \u00b5s \u00b1 4.07 \u00b5s per loop (mean \u00b1 std. dev. of 7 runs, 10000 loops each)\n"]}], "source": ["%timeit clr.predict_proba(X_test[:1])"]}, {"cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["40.6 \u00b5s \u00b1 913 ns per loop (mean \u00b1 std. dev. of 7 runs, 10000 loops each)\n"]}], "source": ["%timeit sess.run({'X': X_test[:1]})['output_probability']"]}, {"cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": ["%matplotlib inline"]}, {"cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [{"data": {"image/png": "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zAOmmdl1REDwWgoUXq6w7DxgCjAj/b8JwN23yFZqZicDbyiYEPl4GDF9fs3r+POMHeuQEhERkY5RQFGBu79rZtOA24DuwBXuvtDMjkjTLwFuBXYAFgFvAgdVWjategYw18wOAf4K7NGJuyUiIiIiUjcKKNrg7rcSQUN+3CW5zw4c2d5l0/hXgW3a2O7JVSRXRERERKRTKaAQERFA3a5ERKQ6esuTiIiIiIhUTQGFiIiIiIhUTQGFiIiIiIhUTQGFiIiIiIhUTQGFiIiIiIhUTQGFiIiIiIhUTa+NFRGRplLr62v16loRkc6lFgoREREREamaAgoREREREamaAgoREREREamaAgoREREREamaAgoREREREamaAgoREREREamaAgoREREREamaAgoREREREamaAoo2mNlEM3vazBaZ2fQy083MLkjTF5jZ2LaWNbMBZna7mf0p/V8ujd/OzB42syfS/890zl6KiIiIiFRHAUUFZtYd+D4wCRgN7G1mowuzTQJGpb+pwMXtWHY6cIe7jwLuSMMArwA7ufs6wBTgqgbtmoiIiIhIXSigqGw8sMjdn3X3t4HrgMmFeSYDsz3cB/Q3s8FtLDsZmJU+zwJ2AXD3R939hTR+IdDHzHo3audERERERGrVo6sT0OSGAM/nhhcDG7djniFtLLuiu78I4O4vmtkKZbb9OeBRd/9fcYKZTSVaQ1h55ZXbvTMiItI+I6bPr3kdf56xYx1SIiLS/NRCUZmVGeftnKc9y5bfqNkY4Ezg8HLT3X2mu49z93GDBg1qzypFRERERBpCLRSVLQaG5YaHAi+0c55eFZZ9ycwGp9aJwcDfs5nMbChwA3CAuz9Tl70QEZElUq0tJWolEZHOoICisgeBUWY2EvgbsBewT2GeecA0M7uO6NL0WgoUXq6w7DzioesZ6f9NAGbWH5gPHOfu9zZ0z0RERNpB3b9EpC0KKCpw93fNbBpwG9AduMLdF5rZEWn6JcCtwA7AIuBN4KBKy6ZVzwDmmtkhwF+BPdL4acBqwIlmdmIat727f9CCISIiIiLSTBRQtMHdbyWChvy4S3KfHTiyvcum8a8C25QZfxpwWo1JFhERERHpNHooW0REREREqqYWChEREWl6ekBdpHmphUJERERERKqmgEJERERERKqmgEJERERERKqmgEJERERERKqmgEJERERERKqm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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["from pyquickhelper.pycode.profiling import profile\n", "pr, df = profile(lambda: sess.run({'X': X_test})['output_probability'], as_df=True)\n", "ax = df[['namefct', 'cum_tall']].head(n=20).set_index('namefct').plot(kind='bar', figsize=(12, 3), rot=30)\n", "ax.set_title(\"example of a graph\")\n", "for la in ax.get_xticklabels():\n", " la.set_horizontalalignment('right');"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Add metadata\n", "\n", "It is possible to add metadata once the model is converted."]}, {"cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": ["meta = model_onnx.metadata_props.add()\n", "meta.key = \"key_meta\"\n", "meta.value = \"value_meta\""]}, {"cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [{"data": {"text/plain": ["[key: \"key_meta\"\n", " value: \"value_meta\"]"]}, "execution_count": 22, "metadata": {}, "output_type": "execute_result"}], "source": ["list(model_onnx.metadata_props)"]}, {"cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [{"data": {"text/plain": ["key: \"key_meta\"\n", "value: \"value_meta\""]}, "execution_count": 23, "metadata": {}, "output_type": "execute_result"}], "source": ["model_onnx.metadata_props[0]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Simple PCA"]}, {"cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [{"data": {"text/plain": ["PCA(n_components=2)"]}, "execution_count": 24, "metadata": {}, "output_type": "execute_result"}], "source": ["from sklearn.decomposition import PCA\n", "model = PCA(n_components=2)\n", "model.fit(X)"]}, {"cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": ["pca_onnx = to_onnx(model, X.astype(numpy.float32))"]}, {"cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["The mlprodict extension is already loaded. To reload it, use:\n", " %reload_ext mlprodict\n"]}], "source": ["%load_ext mlprodict"]}, {"cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", ""], "text/plain": [""]}, "execution_count": 27, "metadata": {}, "output_type": "execute_result"}], "source": ["%onnxview pca_onnx -a 1"]}, {"cell_type": "markdown", "metadata": {}, "source": ["The graph would probably be faster if the multiplication was done before the subtraction because it is easier to do this one inline than the multiplication."]}, {"cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": []}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.2"}}, "nbformat": 4, "nbformat_minor": 2}