ONNX side by side

The notebook compares two runtimes for the same ONNX and looks into differences at each step of the graph.

The ONNX model

We convert kernel function used in GaussianProcessRegressor. First some values to use for testing.

Then the kernel.

Conversion to ONNX

The function is not an operator, the function to use is specific to this usage.

[('X', FloatTensorType([None, None]))] means the function applies on every tensor whatever its dimension is.

The last runtime uses the same runtime but with double instead of floats.

Side by side

We run every node independently and we compare the output at each step.

Let's try for other inputs.

Further analysis

If there is one issue, we can create a simple graph to test. We consider Y = A + B where A and B have the following name in the ONNX graph:

Let's check.

If the second runtime has issue, we can create a single node to check something.

No mistake here.

onnxruntime

Side by side for MLPRegressor