Note
Go to the end to download the full example code
What is the opset number?#
Every library is versioned. scikit-learn may change the implementation of a specific model. That happens for example with the SVC model where the parameter break_ties was added in 0.22. ONNX does also have a version called opset number. Operator ArgMin was added in opset 1 and changed in opset 11, 12, 13. Sometimes, it is updated to extend the list of types it supports, sometimes, it moves a parameter into the input list. The runtime used to deploy the model does not implement a new version, in that case, a model must be converted by usually using the most recent opset supported by the runtime, we call that opset the targeted opset. An ONNX graph only contains one unique opset, every node must be described following the specifications defined by the latest opset below the targeted opset.
This example considers an IsolationForest and digs into opsets.
Data#
A simple example.
from onnx.defs import onnx_opset_version
from skl2onnx import to_onnx
import numpy
import matplotlib.pyplot as plt
from sklearn.ensemble import IsolationForest
from sklearn.datasets import make_blobs
X, y = make_blobs(n_samples=100, n_features=2)
model = IsolationForest(n_estimators=3)
model.fit(X)
labels = model.predict(X)
fig, ax = plt.subplots(1, 1)
for k in (-1, 1):
ax.plot(X[labels == k, 0], X[labels == k, 1], 'o', label="cl%d" % k)
ax.set_title("Sample")
ONNX#
onx = to_onnx(model, X[:1].astype(numpy.float32),
target_opset={'': 15, 'ai.onnx.ml': 2})
print(onx)
ir_version: 8
producer_name: "skl2onnx"
producer_version: "1.14.0"
domain: "ai.onnx"
model_version: 0
doc_string: ""
graph {
node {
input: "X"
input: "node_sample0_Gathercst"
output: "node_sample0_output0"
name: "node_sample0_Gather"
op_type: "Gather"
attribute {
name: "axis"
i: 1
type: INT
}
domain: ""
}
node {
input: "node_sample0_output0"
output: "node_sample0_Y0"
name: "node_sample0_TreeEnsembleRegressor"
op_type: "TreeEnsembleRegressor"
attribute {
name: "n_targets"
i: 1
type: INT
}
attribute {
name: "nodes_falsenodeids"
ints: 66
ints: 39
ints: 26
ints: 15
ints: 10
ints: 7
ints: 0
ints: 9
ints: 0
ints: 0
ints: 12
ints: 0
ints: 14
ints: 0
ints: 0
ints: 21
ints: 18
ints: 0
ints: 20
ints: 0
ints: 0
ints: 23
ints: 0
ints: 25
ints: 0
ints: 0
ints: 36
ints: 35
ints: 32
ints: 31
ints: 0
ints: 0
ints: 34
ints: 0
ints: 0
ints: 0
ints: 38
ints: 0
ints: 0
ints: 41
ints: 0
ints: 55
ints: 50
ints: 47
ints: 46
ints: 0
ints: 0
ints: 49
ints: 0
ints: 0
ints: 52
ints: 0
ints: 54
ints: 0
ints: 0
ints: 61
ints: 58
ints: 0
ints: 60
ints: 0
ints: 0
ints: 63
ints: 0
ints: 65
ints: 0
ints: 0
ints: 72
ints: 69
ints: 0
ints: 71
ints: 0
ints: 0
ints: 96
ints: 85
ints: 82
ints: 79
ints: 78
ints: 0
ints: 0
ints: 81
ints: 0
ints: 0
ints: 84
ints: 0
ints: 0
ints: 91
ints: 90
ints: 89
ints: 0
ints: 0
ints: 0
ints: 95
ints: 94
ints: 0
ints: 0
ints: 0
ints: 98
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_featureids"
ints: 1
ints: 0
ints: 0
ints: 1
ints: 1
ints: 1
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 1
ints: 0
ints: 1
ints: 0
ints: 0
ints: 1
ints: 0
ints: 1
ints: 0
ints: 0
ints: 1
ints: 1
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 1
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 1
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_hitrates"
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
type: FLOATS
}
attribute {
name: "nodes_missing_value_tracks_true"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_modes"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
type: STRINGS
}
attribute {
name: "nodes_nodeids"
ints: 0
ints: 1
ints: 2
ints: 3
ints: 4
ints: 5
ints: 6
ints: 7
ints: 8
ints: 9
ints: 10
ints: 11
ints: 12
ints: 13
ints: 14
ints: 15
ints: 16
ints: 17
ints: 18
ints: 19
ints: 20
ints: 21
ints: 22
ints: 23
ints: 24
ints: 25
ints: 26
ints: 27
ints: 28
ints: 29
ints: 30
ints: 31
ints: 32
ints: 33
ints: 34
ints: 35
ints: 36
ints: 37
ints: 38
ints: 39
ints: 40
ints: 41
ints: 42
ints: 43
ints: 44
ints: 45
ints: 46
ints: 47
ints: 48
ints: 49
ints: 50
ints: 51
ints: 52
ints: 53
ints: 54
ints: 55
ints: 56
ints: 57
ints: 58
ints: 59
ints: 60
ints: 61
ints: 62
ints: 63
ints: 64
ints: 65
ints: 66
ints: 67
ints: 68
ints: 69
ints: 70
ints: 71
ints: 72
ints: 73
ints: 74
ints: 75
ints: 76
ints: 77
ints: 78
ints: 79
ints: 80
ints: 81
ints: 82
ints: 83
ints: 84
ints: 85
ints: 86
ints: 87
ints: 88
ints: 89
ints: 90
ints: 91
ints: 92
ints: 93
ints: 94
ints: 95
ints: 96
ints: 97
ints: 98
type: INTS
}
attribute {
name: "nodes_treeids"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_truenodeids"
ints: 1
ints: 2
ints: 3
ints: 4
ints: 5
ints: 6
ints: 0
ints: 8
ints: 0
ints: 0
ints: 11
ints: 0
ints: 13
ints: 0
ints: 0
ints: 16
ints: 17
ints: 0
ints: 19
ints: 0
ints: 0
ints: 22
ints: 0
ints: 24
ints: 0
ints: 0
ints: 27
ints: 28
ints: 29
ints: 30
ints: 0
ints: 0
ints: 33
ints: 0
ints: 0
ints: 0
ints: 37
ints: 0
ints: 0
ints: 40
ints: 0
ints: 42
ints: 43
ints: 44
ints: 45
ints: 0
ints: 0
ints: 48
ints: 0
ints: 0
ints: 51
ints: 0
ints: 53
ints: 0
ints: 0
ints: 56
ints: 57
ints: 0
ints: 59
ints: 0
ints: 0
ints: 62
ints: 0
ints: 64
ints: 0
ints: 0
ints: 67
ints: 68
ints: 0
ints: 70
ints: 0
ints: 0
ints: 73
ints: 74
ints: 75
ints: 76
ints: 77
ints: 0
ints: 0
ints: 80
ints: 0
ints: 0
ints: 83
ints: 0
ints: 0
ints: 86
ints: 87
ints: 88
ints: 0
ints: 0
ints: 0
ints: 92
ints: 93
ints: 0
ints: 0
ints: 0
ints: 97
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_values"
floats: 5.514815807342529
floats: 6.678667068481445
floats: 4.642251491546631
floats: 4.783804893493652
floats: 2.380209445953369
floats: -0.27393949031829834
floats: 0.0
floats: 1.78693425655365
floats: 0.0
floats: 0.0
floats: 1.048935890197754
floats: 0.0
floats: 2.801318883895874
floats: 0.0
floats: 0.0
floats: 5.006699085235596
floats: 4.837372779846191
floats: 0.0
floats: 4.919173240661621
floats: 0.0
floats: 0.0
floats: 5.124429225921631
floats: 0.0
floats: 5.318606853485107
floats: 0.0
floats: 0.0
floats: 0.9529324769973755
floats: -4.121090412139893
floats: 6.407704830169678
floats: -4.738666534423828
floats: 0.0
floats: 0.0
floats: 6.552133560180664
floats: 0.0
floats: 0.0
floats: 0.0
floats: 4.836427211761475
floats: 0.0
floats: 0.0
floats: -6.908570766448975
floats: 0.0
floats: 7.767500400543213
floats: -4.824631690979004
floats: 7.209001064300537
floats: -5.843760013580322
floats: 0.0
floats: 0.0
floats: 7.551586627960205
floats: 0.0
floats: 0.0
floats: -3.6397743225097656
floats: 0.0
floats: 7.437675952911377
floats: 0.0
floats: 0.0
floats: 8.464527130126953
floats: -6.156814098358154
floats: 0.0
floats: -5.9404826164245605
floats: 0.0
floats: 0.0
floats: 8.811687469482422
floats: 0.0
floats: 8.883540153503418
floats: 0.0
floats: 0.0
floats: 0.6681241989135742
floats: 6.6157097816467285
floats: 0.0
floats: 7.725238800048828
floats: 0.0
floats: 0.0
floats: 2.7722995281219482
floats: 6.232847690582275
floats: 6.185774326324463
floats: 2.001066207885742
floats: 1.585336685180664
floats: 0.0
floats: 0.0
floats: 2.3937244415283203
floats: 0.0
floats: 0.0
floats: 6.2003326416015625
floats: 0.0
floats: 0.0
floats: 1.2540245056152344
floats: 6.509470462799072
floats: 1.0161018371582031
floats: 0.0
floats: 0.0
floats: 0.0
floats: 1.97340989112854
floats: 1.6999311447143555
floats: 0.0
floats: 0.0
floats: 0.0
floats: 2.8983640670776367
floats: 0.0
floats: 0.0
type: FLOATS
}
attribute {
name: "post_transform"
s: "NONE"
type: STRING
}
attribute {
name: "target_ids"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "target_nodeids"
ints: 6
ints: 8
ints: 9
ints: 11
ints: 13
ints: 14
ints: 17
ints: 19
ints: 20
ints: 22
ints: 24
ints: 25
ints: 30
ints: 31
ints: 33
ints: 34
ints: 35
ints: 37
ints: 38
ints: 40
ints: 45
ints: 46
ints: 48
ints: 49
ints: 51
ints: 53
ints: 54
ints: 57
ints: 59
ints: 60
ints: 62
ints: 64
ints: 65
ints: 68
ints: 70
ints: 71
ints: 77
ints: 78
ints: 80
ints: 81
ints: 83
ints: 84
ints: 88
ints: 89
ints: 90
ints: 93
ints: 94
ints: 95
ints: 97
ints: 98
type: INTS
}
attribute {
name: "target_treeids"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "target_weights"
floats: 6.0
floats: 8.0
floats: 9.0
floats: 11.0
floats: 13.0
floats: 14.0
floats: 17.0
floats: 19.0
floats: 20.0
floats: 22.0
floats: 24.0
floats: 25.0
floats: 30.0
floats: 31.0
floats: 33.0
floats: 34.0
floats: 35.0
floats: 37.0
floats: 38.0
floats: 40.0
floats: 45.0
floats: 46.0
floats: 48.0
floats: 49.0
floats: 51.0
floats: 53.0
floats: 54.0
floats: 57.0
floats: 59.0
floats: 60.0
floats: 62.0
floats: 64.0
floats: 65.0
floats: 68.0
floats: 70.0
floats: 71.0
floats: 77.0
floats: 78.0
floats: 80.0
floats: 81.0
floats: 83.0
floats: 84.0
floats: 88.0
floats: 89.0
floats: 90.0
floats: 93.0
floats: 94.0
floats: 95.0
floats: 97.0
floats: 98.0
type: FLOATS
}
domain: "ai.onnx.ml"
}
node {
input: "X"
input: "node_sample0_Gathercst"
output: "node_sample1_output0"
name: "node_sample1_Gather"
op_type: "Gather"
attribute {
name: "axis"
i: 1
type: INT
}
domain: ""
}
node {
input: "X"
input: "node_sample0_Gathercst"
output: "node_sample2_output0"
name: "node_sample2_Gather"
op_type: "Gather"
attribute {
name: "axis"
i: 1
type: INT
}
domain: ""
}
node {
input: "node_sample0_Y0"
output: "path_length0_output0"
name: "path_length0_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 7
type: INT
}
domain: ""
}
node {
input: "node_sample0_Y0"
output: "node_sample0_output02"
name: "node_sample0_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 7
type: INT
}
domain: ""
}
node {
input: "node_sample1_output0"
output: "node_sample1_Y0"
name: "node_sample1_TreeEnsembleRegressor"
op_type: "TreeEnsembleRegressor"
attribute {
name: "n_targets"
i: 1
type: INT
}
attribute {
name: "nodes_falsenodeids"
ints: 2
ints: 0
ints: 42
ints: 19
ints: 6
ints: 0
ints: 12
ints: 9
ints: 0
ints: 11
ints: 0
ints: 0
ints: 16
ints: 15
ints: 0
ints: 0
ints: 18
ints: 0
ints: 0
ints: 29
ints: 22
ints: 0
ints: 26
ints: 25
ints: 0
ints: 0
ints: 28
ints: 0
ints: 0
ints: 35
ints: 34
ints: 33
ints: 0
ints: 0
ints: 0
ints: 39
ints: 38
ints: 0
ints: 0
ints: 41
ints: 0
ints: 0
ints: 44
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_featureids"
ints: 1
ints: 0
ints: 1
ints: 1
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 1
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 1
ints: 1
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_hitrates"
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
type: FLOATS
}
attribute {
name: "nodes_missing_value_tracks_true"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_modes"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
type: STRINGS
}
attribute {
name: "nodes_nodeids"
ints: 0
ints: 1
ints: 2
ints: 3
ints: 4
ints: 5
ints: 6
ints: 7
ints: 8
ints: 9
ints: 10
ints: 11
ints: 12
ints: 13
ints: 14
ints: 15
ints: 16
ints: 17
ints: 18
ints: 19
ints: 20
ints: 21
ints: 22
ints: 23
ints: 24
ints: 25
ints: 26
ints: 27
ints: 28
ints: 29
ints: 30
ints: 31
ints: 32
ints: 33
ints: 34
ints: 35
ints: 36
ints: 37
ints: 38
ints: 39
ints: 40
ints: 41
ints: 42
ints: 43
ints: 44
type: INTS
}
attribute {
name: "nodes_treeids"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_truenodeids"
ints: 1
ints: 0
ints: 3
ints: 4
ints: 5
ints: 0
ints: 7
ints: 8
ints: 0
ints: 10
ints: 0
ints: 0
ints: 13
ints: 14
ints: 0
ints: 0
ints: 17
ints: 0
ints: 0
ints: 20
ints: 21
ints: 0
ints: 23
ints: 24
ints: 0
ints: 0
ints: 27
ints: 0
ints: 0
ints: 30
ints: 31
ints: 32
ints: 0
ints: 0
ints: 0
ints: 36
ints: 37
ints: 0
ints: 0
ints: 40
ints: 0
ints: 0
ints: 43
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_values"
floats: -7.7664971351623535
floats: 0.0
floats: 7.9532318115234375
floats: 3.7169058322906494
floats: 1.481467366218567
floats: 0.0
floats: 0.5193923115730286
floats: 2.831038236618042
floats: 0.0
floats: 4.059598445892334
floats: 0.0
floats: 0.0
floats: 2.889012336730957
floats: 1.9339789152145386
floats: 0.0
floats: 0.0
floats: 3.3080875873565674
floats: 0.0
floats: 0.0
floats: 2.0854640007019043
floats: -0.4833378493785858
floats: 0.0
floats: 0.8164300918579102
floats: 6.411360740661621
floats: 0.0
floats: 0.0
floats: 1.5024924278259277
floats: 0.0
floats: 0.0
floats: 5.386692047119141
floats: 3.921444892883301
floats: 4.61453914642334
floats: 0.0
floats: 0.0
floats: 0.0
floats: 6.14138126373291
floats: 5.598814010620117
floats: 0.0
floats: 0.0
floats: 6.304445743560791
floats: 0.0
floats: 0.0
floats: 1.3749477863311768
floats: 0.0
floats: 0.0
type: FLOATS
}
attribute {
name: "post_transform"
s: "NONE"
type: STRING
}
attribute {
name: "target_ids"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "target_nodeids"
ints: 1
ints: 5
ints: 8
ints: 10
ints: 11
ints: 14
ints: 15
ints: 17
ints: 18
ints: 21
ints: 24
ints: 25
ints: 27
ints: 28
ints: 32
ints: 33
ints: 34
ints: 37
ints: 38
ints: 40
ints: 41
ints: 43
ints: 44
type: INTS
}
attribute {
name: "target_treeids"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "target_weights"
floats: 1.0
floats: 5.0
floats: 8.0
floats: 10.0
floats: 11.0
floats: 14.0
floats: 15.0
floats: 17.0
floats: 18.0
floats: 21.0
floats: 24.0
floats: 25.0
floats: 27.0
floats: 28.0
floats: 32.0
floats: 33.0
floats: 34.0
floats: 37.0
floats: 38.0
floats: 40.0
floats: 41.0
floats: 43.0
floats: 44.0
type: FLOATS
}
domain: "ai.onnx.ml"
}
node {
input: "node_sample2_output0"
output: "node_sample2_Y0"
name: "node_sample2_TreeEnsembleRegressor"
op_type: "TreeEnsembleRegressor"
attribute {
name: "n_targets"
i: 1
type: INT
}
attribute {
name: "nodes_falsenodeids"
ints: 74
ints: 41
ints: 28
ints: 13
ints: 6
ints: 0
ints: 10
ints: 9
ints: 0
ints: 0
ints: 12
ints: 0
ints: 0
ints: 21
ints: 18
ints: 17
ints: 0
ints: 0
ints: 20
ints: 0
ints: 0
ints: 25
ints: 24
ints: 0
ints: 0
ints: 27
ints: 0
ints: 0
ints: 30
ints: 0
ints: 36
ints: 33
ints: 0
ints: 35
ints: 0
ints: 0
ints: 38
ints: 0
ints: 40
ints: 0
ints: 0
ints: 63
ints: 56
ints: 49
ints: 46
ints: 0
ints: 48
ints: 0
ints: 0
ints: 53
ints: 52
ints: 0
ints: 0
ints: 55
ints: 0
ints: 0
ints: 62
ints: 59
ints: 0
ints: 61
ints: 0
ints: 0
ints: 0
ints: 67
ints: 66
ints: 0
ints: 0
ints: 73
ints: 72
ints: 71
ints: 0
ints: 0
ints: 0
ints: 0
ints: 78
ints: 77
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_featureids"
ints: 0
ints: 0
ints: 1
ints: 0
ints: 1
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 1
ints: 1
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 1
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_hitrates"
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
type: FLOATS
}
attribute {
name: "nodes_missing_value_tracks_true"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_modes"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "LEAF"
strings: "LEAF"
strings: "BRANCH_LEQ"
strings: "BRANCH_LEQ"
strings: "LEAF"
strings: "LEAF"
strings: "LEAF"
type: STRINGS
}
attribute {
name: "nodes_nodeids"
ints: 0
ints: 1
ints: 2
ints: 3
ints: 4
ints: 5
ints: 6
ints: 7
ints: 8
ints: 9
ints: 10
ints: 11
ints: 12
ints: 13
ints: 14
ints: 15
ints: 16
ints: 17
ints: 18
ints: 19
ints: 20
ints: 21
ints: 22
ints: 23
ints: 24
ints: 25
ints: 26
ints: 27
ints: 28
ints: 29
ints: 30
ints: 31
ints: 32
ints: 33
ints: 34
ints: 35
ints: 36
ints: 37
ints: 38
ints: 39
ints: 40
ints: 41
ints: 42
ints: 43
ints: 44
ints: 45
ints: 46
ints: 47
ints: 48
ints: 49
ints: 50
ints: 51
ints: 52
ints: 53
ints: 54
ints: 55
ints: 56
ints: 57
ints: 58
ints: 59
ints: 60
ints: 61
ints: 62
ints: 63
ints: 64
ints: 65
ints: 66
ints: 67
ints: 68
ints: 69
ints: 70
ints: 71
ints: 72
ints: 73
ints: 74
ints: 75
ints: 76
ints: 77
ints: 78
type: INTS
}
attribute {
name: "nodes_treeids"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_truenodeids"
ints: 1
ints: 2
ints: 3
ints: 4
ints: 5
ints: 0
ints: 7
ints: 8
ints: 0
ints: 0
ints: 11
ints: 0
ints: 0
ints: 14
ints: 15
ints: 16
ints: 0
ints: 0
ints: 19
ints: 0
ints: 0
ints: 22
ints: 23
ints: 0
ints: 0
ints: 26
ints: 0
ints: 0
ints: 29
ints: 0
ints: 31
ints: 32
ints: 0
ints: 34
ints: 0
ints: 0
ints: 37
ints: 0
ints: 39
ints: 0
ints: 0
ints: 42
ints: 43
ints: 44
ints: 45
ints: 0
ints: 47
ints: 0
ints: 0
ints: 50
ints: 51
ints: 0
ints: 0
ints: 54
ints: 0
ints: 0
ints: 57
ints: 58
ints: 0
ints: 60
ints: 0
ints: 0
ints: 0
ints: 64
ints: 65
ints: 0
ints: 0
ints: 68
ints: 69
ints: 70
ints: 0
ints: 0
ints: 0
ints: 0
ints: 75
ints: 76
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "nodes_values"
floats: 8.623979568481445
floats: 6.344866752624512
floats: 5.969211101531982
floats: 2.8082833290100098
floats: 0.5380301475524902
floats: 0.0
floats: 1.909613013267517
floats: 2.648834228515625
floats: 0.0
floats: 0.0
floats: -0.4986303746700287
floats: 0.0
floats: 0.0
floats: 4.497025966644287
floats: 3.752095937728882
floats: 3.406471014022827
floats: 0.0
floats: 0.0
floats: 4.086606979370117
floats: 0.0
floats: 0.0
floats: 5.784465312957764
floats: 5.1440629959106445
floats: 0.0
floats: 0.0
floats: -5.32470703125
floats: 0.0
floats: 0.0
floats: -0.1042984277009964
floats: 0.0
floats: 7.202461242675781
floats: 0.6352047920227051
floats: 0.0
floats: 2.585383176803589
floats: 0.0
floats: 0.0
floats: 0.4179246723651886
floats: 0.0
floats: 7.9843597412109375
floats: 0.0
floats: 0.0
floats: 7.783618450164795
floats: -4.937934875488281
floats: -6.034233570098877
floats: -7.229444980621338
floats: 0.0
floats: 7.5005059242248535
floats: 0.0
floats: 0.0
floats: 7.320893287658691
floats: -5.246138572692871
floats: 0.0
floats: 0.0
floats: 7.5529937744140625
floats: 0.0
floats: 0.0
floats: 6.927020072937012
floats: -4.540077209472656
floats: 0.0
floats: 6.896727085113525
floats: 0.0
floats: 0.0
floats: 0.0
floats: 7.923264503479004
floats: 7.852270126342773
floats: 0.0
floats: 0.0
floats: 8.31363582611084
floats: -3.9976999759674072
floats: 7.991893291473389
floats: 0.0
floats: 0.0
floats: 0.0
floats: 0.0
floats: 8.852835655212402
floats: 8.817373275756836
floats: 0.0
floats: 0.0
floats: 0.0
type: FLOATS
}
attribute {
name: "post_transform"
s: "NONE"
type: STRING
}
attribute {
name: "target_ids"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "target_nodeids"
ints: 5
ints: 8
ints: 9
ints: 11
ints: 12
ints: 16
ints: 17
ints: 19
ints: 20
ints: 23
ints: 24
ints: 26
ints: 27
ints: 29
ints: 32
ints: 34
ints: 35
ints: 37
ints: 39
ints: 40
ints: 45
ints: 47
ints: 48
ints: 51
ints: 52
ints: 54
ints: 55
ints: 58
ints: 60
ints: 61
ints: 62
ints: 65
ints: 66
ints: 70
ints: 71
ints: 72
ints: 73
ints: 76
ints: 77
ints: 78
type: INTS
}
attribute {
name: "target_treeids"
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
ints: 0
type: INTS
}
attribute {
name: "target_weights"
floats: 5.0
floats: 8.0
floats: 9.0
floats: 11.0
floats: 12.0
floats: 16.0
floats: 17.0
floats: 19.0
floats: 20.0
floats: 23.0
floats: 24.0
floats: 26.0
floats: 27.0
floats: 29.0
floats: 32.0
floats: 34.0
floats: 35.0
floats: 37.0
floats: 39.0
floats: 40.0
floats: 45.0
floats: 47.0
floats: 48.0
floats: 51.0
floats: 52.0
floats: 54.0
floats: 55.0
floats: 58.0
floats: 60.0
floats: 61.0
floats: 62.0
floats: 65.0
floats: 66.0
floats: 70.0
floats: 71.0
floats: 72.0
floats: 73.0
floats: 76.0
floats: 77.0
floats: 78.0
type: FLOATS
}
domain: "ai.onnx.ml"
}
node {
input: "path_length0_output0"
output: "path_length0_Y0"
name: "path_length0_LabelEncoder"
op_type: "LabelEncoder"
attribute {
name: "keys_int64s"
ints: 6
ints: 8
ints: 9
ints: 11
ints: 13
ints: 14
ints: 17
ints: 19
ints: 20
ints: 22
ints: 24
ints: 25
ints: 30
ints: 31
ints: 33
ints: 34
ints: 35
ints: 37
ints: 38
ints: 40
ints: 45
ints: 46
ints: 48
ints: 49
ints: 51
ints: 53
ints: 54
ints: 57
ints: 59
ints: 60
ints: 62
ints: 64
ints: 65
ints: 68
ints: 70
ints: 71
ints: 77
ints: 78
ints: 80
ints: 81
ints: 83
ints: 84
ints: 88
ints: 89
ints: 90
ints: 93
ints: 94
ints: 95
ints: 97
ints: 98
type: INTS
}
attribute {
name: "values_floats"
floats: 7.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 6.0
floats: 6.0
floats: 6.0
floats: 4.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 4.0
floats: 5.0
floats: 5.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 5.0
floats: 5.0
type: FLOATS
}
domain: "ai.onnx.ml"
}
node {
input: "node_sample0_output02"
output: "node_sample0_Y02"
name: "node_sample0_LabelEncoder"
op_type: "LabelEncoder"
attribute {
name: "keys_int64s"
ints: 6
ints: 8
ints: 9
ints: 11
ints: 13
ints: 14
ints: 17
ints: 19
ints: 20
ints: 22
ints: 24
ints: 25
ints: 30
ints: 31
ints: 33
ints: 34
ints: 35
ints: 37
ints: 38
ints: 40
ints: 45
ints: 46
ints: 48
ints: 49
ints: 51
ints: 53
ints: 54
ints: 57
ints: 59
ints: 60
ints: 62
ints: 64
ints: 65
ints: 68
ints: 70
ints: 71
ints: 77
ints: 78
ints: 80
ints: 81
ints: 83
ints: 84
ints: 88
ints: 89
ints: 90
ints: 93
ints: 94
ints: 95
ints: 97
ints: 98
type: INTS
}
attribute {
name: "values_floats"
floats: 1.0
floats: 14.0
floats: 8.0
floats: 1.0
floats: 4.0
floats: 5.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 2.0
floats: 1.0
floats: 5.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 3.0
floats: 2.0
floats: 2.0
floats: 2.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 4.0
floats: 3.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 3.0
floats: 2.0
floats: 1.0
floats: 2.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 4.0
floats: 2.0
floats: 1.0
floats: 1.0
floats: 1.0
type: FLOATS
}
domain: "ai.onnx.ml"
}
node {
input: "node_sample1_Y0"
output: "path_length1_output0"
name: "path_length1_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 7
type: INT
}
domain: ""
}
node {
input: "node_sample1_Y0"
output: "node_sample1_output02"
name: "node_sample1_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 7
type: INT
}
domain: ""
}
node {
input: "node_sample2_Y0"
output: "path_length2_output0"
name: "path_length2_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 7
type: INT
}
domain: ""
}
node {
input: "node_sample2_Y0"
output: "node_sample2_output02"
name: "node_sample2_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 7
type: INT
}
domain: ""
}
node {
input: "path_length0_Y0"
input: "path_length0_Reshapecst"
output: "path_length0_reshaped0"
name: "path_length0_Reshape"
op_type: "Reshape"
attribute {
name: "allowzero"
i: 0
type: INT
}
domain: ""
}
node {
input: "node_sample0_Y02"
input: "path_length0_Reshapecst"
output: "node_sample0_reshaped0"
name: "node_sample0_Reshape"
op_type: "Reshape"
attribute {
name: "allowzero"
i: 0
type: INT
}
domain: ""
}
node {
input: "path_length1_output0"
output: "path_length1_Y0"
name: "path_length1_LabelEncoder"
op_type: "LabelEncoder"
attribute {
name: "keys_int64s"
ints: 1
ints: 5
ints: 8
ints: 10
ints: 11
ints: 14
ints: 15
ints: 17
ints: 18
ints: 21
ints: 24
ints: 25
ints: 27
ints: 28
ints: 32
ints: 33
ints: 34
ints: 37
ints: 38
ints: 40
ints: 41
ints: 43
ints: 44
type: INTS
}
attribute {
name: "values_floats"
floats: 2.0
floats: 5.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 6.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 4.0
floats: 4.0
type: FLOATS
}
domain: "ai.onnx.ml"
}
node {
input: "node_sample1_output02"
output: "node_sample1_Y02"
name: "node_sample1_LabelEncoder"
op_type: "LabelEncoder"
attribute {
name: "keys_int64s"
ints: 1
ints: 5
ints: 8
ints: 10
ints: 11
ints: 14
ints: 15
ints: 17
ints: 18
ints: 21
ints: 24
ints: 25
ints: 27
ints: 28
ints: 32
ints: 33
ints: 34
ints: 37
ints: 38
ints: 40
ints: 41
ints: 43
ints: 44
type: INTS
}
attribute {
name: "values_floats"
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 32.0
floats: 15.0
floats: 9.0
floats: 4.0
floats: 1.0
floats: 1.0
floats: 3.0
floats: 2.0
floats: 9.0
floats: 9.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 3.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
type: FLOATS
}
domain: "ai.onnx.ml"
}
node {
input: "path_length2_output0"
output: "path_length2_Y0"
name: "path_length2_LabelEncoder"
op_type: "LabelEncoder"
attribute {
name: "keys_int64s"
ints: 5
ints: 8
ints: 9
ints: 11
ints: 12
ints: 16
ints: 17
ints: 19
ints: 20
ints: 23
ints: 24
ints: 26
ints: 27
ints: 29
ints: 32
ints: 34
ints: 35
ints: 37
ints: 39
ints: 40
ints: 45
ints: 47
ints: 48
ints: 51
ints: 52
ints: 54
ints: 55
ints: 58
ints: 60
ints: 61
ints: 62
ints: 65
ints: 66
ints: 70
ints: 71
ints: 72
ints: 73
ints: 76
ints: 77
ints: 78
type: INTS
}
attribute {
name: "values_floats"
floats: 6.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 5.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 8.0
floats: 8.0
floats: 6.0
floats: 6.0
floats: 6.0
floats: 8.0
floats: 8.0
floats: 7.0
floats: 6.0
floats: 4.0
floats: 4.0
floats: 3.0
type: FLOATS
}
domain: "ai.onnx.ml"
}
node {
input: "node_sample2_output02"
output: "node_sample2_Y02"
name: "node_sample2_LabelEncoder"
op_type: "LabelEncoder"
attribute {
name: "keys_int64s"
ints: 5
ints: 8
ints: 9
ints: 11
ints: 12
ints: 16
ints: 17
ints: 19
ints: 20
ints: 23
ints: 24
ints: 26
ints: 27
ints: 29
ints: 32
ints: 34
ints: 35
ints: 37
ints: 39
ints: 40
ints: 45
ints: 47
ints: 48
ints: 51
ints: 52
ints: 54
ints: 55
ints: 58
ints: 60
ints: 61
ints: 62
ints: 65
ints: 66
ints: 70
ints: 71
ints: 72
ints: 73
ints: 76
ints: 77
ints: 78
type: INTS
}
attribute {
name: "values_floats"
floats: 1.0
floats: 3.0
floats: 1.0
floats: 1.0
floats: 23.0
floats: 9.0
floats: 1.0
floats: 6.0
floats: 1.0
floats: 2.0
floats: 3.0
floats: 2.0
floats: 2.0
floats: 1.0
floats: 1.0
floats: 12.0
floats: 2.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 5.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 2.0
floats: 2.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
floats: 1.0
type: FLOATS
}
domain: "ai.onnx.ml"
}
node {
input: "node_sample0_reshaped0"
input: "dec_Powcst"
output: "plus2_0_C0"
name: "plus2_0_Greater"
op_type: "Greater"
domain: ""
}
node {
input: "node_sample0_reshaped0"
input: "dec_Powcst"
output: "eq2_0_C0"
name: "eq2_0_Equal"
op_type: "Equal"
domain: ""
}
node {
input: "path_length1_Y0"
input: "path_length0_Reshapecst"
output: "path_length1_reshaped0"
name: "path_length1_Reshape"
op_type: "Reshape"
attribute {
name: "allowzero"
i: 0
type: INT
}
domain: ""
}
node {
input: "node_sample1_Y02"
input: "path_length0_Reshapecst"
output: "node_sample1_reshaped0"
name: "node_sample1_Reshape"
op_type: "Reshape"
attribute {
name: "allowzero"
i: 0
type: INT
}
domain: ""
}
node {
input: "path_length2_Y0"
input: "path_length0_Reshapecst"
output: "path_length2_reshaped0"
name: "path_length2_Reshape"
op_type: "Reshape"
attribute {
name: "allowzero"
i: 0
type: INT
}
domain: ""
}
node {
input: "node_sample2_Y02"
input: "path_length0_Reshapecst"
output: "node_sample2_reshaped0"
name: "node_sample2_Reshape"
op_type: "Reshape"
attribute {
name: "allowzero"
i: 0
type: INT
}
domain: ""
}
node {
input: "plus2_0_C0"
output: "plus2_0_output0"
name: "plus2_0_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 1
type: INT
}
domain: ""
}
node {
input: "eq2_0_C0"
output: "eq2_0_output0"
name: "eq2_0_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 1
type: INT
}
domain: ""
}
node {
input: "node_sample1_reshaped0"
input: "dec_Powcst"
output: "plus2_1_C0"
name: "plus2_1_Greater"
op_type: "Greater"
domain: ""
}
node {
input: "node_sample1_reshaped0"
input: "dec_Powcst"
output: "eq2_1_C0"
name: "eq2_1_Equal"
op_type: "Equal"
domain: ""
}
node {
input: "node_sample2_reshaped0"
input: "dec_Powcst"
output: "eq2_2_C0"
name: "eq2_2_Equal"
op_type: "Equal"
domain: ""
}
node {
input: "node_sample2_reshaped0"
input: "dec_Powcst"
output: "plus2_2_C0"
name: "plus2_2_Greater"
op_type: "Greater"
domain: ""
}
node {
input: "plus2_0_output0"
input: "node_sample0_reshaped0"
output: "eqp2ps0_C0"
name: "eqp2ps0_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "eq2_1_C0"
output: "eq2_1_output0"
name: "eq2_1_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 1
type: INT
}
domain: ""
}
node {
input: "plus2_1_C0"
output: "plus2_1_output0"
name: "plus2_1_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 1
type: INT
}
domain: ""
}
node {
input: "plus2_2_C0"
output: "plus2_2_output0"
name: "plus2_2_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 1
type: INT
}
domain: ""
}
node {
input: "eq2_2_C0"
output: "eq2_2_output0"
name: "eq2_2_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 1
type: INT
}
domain: ""
}
node {
input: "eqp2ps0_C0"
input: "eqp2p_m1_0_Addcst"
output: "eqp2p_m1_0_C0"
name: "eqp2p_m1_0_Add"
op_type: "Add"
domain: ""
}
node {
input: "eqp2ps0_C0"
input: "eqp2p_m1_0_Maxcst"
output: "eqp_ns0_max0"
name: "eqp_ns0_Max"
op_type: "Max"
domain: ""
}
node {
input: "plus2_1_output0"
input: "node_sample1_reshaped0"
output: "eqp2ps1_C0"
name: "eqp2ps1_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "plus2_2_output0"
input: "node_sample2_reshaped0"
output: "eqp2ps2_C0"
name: "eqp2ps2_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "eqp2p_m1_0_C0"
input: "eqp2p_m1_0_Maxcst"
output: "eqp2p_m1_0_max0"
name: "eqp2p_m1_0_Max"
op_type: "Max"
domain: ""
}
node {
input: "eqp2p_m1_0_C0"
input: "eqp2p_m1_0_Maxcst1"
output: "eqp2p_m1_0_max02"
name: "eqp2p_m1_0_Max1"
op_type: "Max"
domain: ""
}
node {
input: "eqp2ps1_C0"
input: "eqp2p_m1_0_Addcst"
output: "eqp2p_m1_1_C0"
name: "eqp2p_m1_1_Add"
op_type: "Add"
domain: ""
}
node {
input: "eqp2ps1_C0"
input: "eqp2p_m1_0_Maxcst"
output: "eqp_ns1_max0"
name: "eqp_ns1_Max"
op_type: "Max"
domain: ""
}
node {
input: "eqp2ps2_C0"
input: "eqp2p_m1_0_Addcst"
output: "eqp2p_m1_2_C0"
name: "eqp2p_m1_2_Add"
op_type: "Add"
domain: ""
}
node {
input: "eqp2ps2_C0"
input: "eqp2p_m1_0_Maxcst"
output: "eqp_ns2_max0"
name: "eqp_ns2_Max"
op_type: "Max"
domain: ""
}
node {
input: "eqp2p_m1_0_max0"
output: "eqp_log0_output0"
name: "eqp_log0_Log"
op_type: "Log"
domain: ""
}
node {
input: "eqp2p_m1_0_max02"
input: "eqp_ns0_max0"
output: "eqp_ns0_C01"
name: "eqp_ns0_Div"
op_type: "Div"
domain: ""
}
node {
input: "eqp2p_m1_1_C0"
input: "eqp2p_m1_0_Maxcst"
output: "eqp2p_m1_1_max0"
name: "eqp2p_m1_1_Max"
op_type: "Max"
domain: ""
}
node {
input: "eqp2p_m1_1_C0"
input: "eqp2p_m1_0_Maxcst1"
output: "eqp2p_m1_1_max02"
name: "eqp2p_m1_1_Max1"
op_type: "Max"
domain: ""
}
node {
input: "eqp2p_m1_2_C0"
input: "eqp2p_m1_0_Maxcst1"
output: "eqp2p_m1_2_max02"
name: "eqp2p_m1_2_Max1"
op_type: "Max"
domain: ""
}
node {
input: "eqp2p_m1_2_C0"
input: "eqp2p_m1_0_Maxcst"
output: "eqp2p_m1_2_max0"
name: "eqp2p_m1_2_Max"
op_type: "Max"
domain: ""
}
node {
input: "eqp_log0_output0"
input: "eqp_log0_Addcst"
output: "eqp_log0_C01"
name: "eqp_log0_Add"
op_type: "Add"
domain: ""
}
node {
input: "eqp_ns0_C01"
input: "eqp_ns0_Mulcst"
output: "eqp_ns0_C0"
name: "eqp_ns0_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "eqp2p_m1_1_max0"
output: "eqp_log1_output0"
name: "eqp_log1_Log"
op_type: "Log"
domain: ""
}
node {
input: "eqp2p_m1_2_max02"
input: "eqp_ns2_max0"
output: "eqp_ns2_C01"
name: "eqp_ns2_Div"
op_type: "Div"
domain: ""
}
node {
input: "eqp2p_m1_1_max02"
input: "eqp_ns1_max0"
output: "eqp_ns1_C01"
name: "eqp_ns1_Div"
op_type: "Div"
domain: ""
}
node {
input: "eqp2p_m1_2_max0"
output: "eqp_log2_output0"
name: "eqp_log2_Log"
op_type: "Log"
domain: ""
}
node {
input: "eqp_log0_C01"
input: "dec_Powcst"
output: "eqp_log0_C0"
name: "eqp_log0_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "eqp_log1_output0"
input: "eqp_log0_Addcst"
output: "eqp_log1_C01"
name: "eqp_log1_Add"
op_type: "Add"
domain: ""
}
node {
input: "eqp_ns2_C01"
input: "eqp_ns0_Mulcst"
output: "eqp_ns2_C0"
name: "eqp_ns2_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "eqp_ns1_C01"
input: "eqp_ns0_Mulcst"
output: "eqp_ns1_C0"
name: "eqp_ns1_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "eqp_log2_output0"
input: "eqp_log0_Addcst"
output: "eqp_log2_C01"
name: "eqp_log2_Add"
op_type: "Add"
domain: ""
}
node {
input: "eqp_log0_C0"
input: "eqp_ns0_C0"
output: "avlog0_C01"
name: "avlog0_Add"
op_type: "Add"
domain: ""
}
node {
input: "eqp_log1_C01"
input: "dec_Powcst"
output: "eqp_log1_C0"
name: "eqp_log1_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "eqp_log2_C01"
input: "dec_Powcst"
output: "eqp_log2_C0"
name: "eqp_log2_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "avlog0_C01"
input: "plus2_0_output0"
output: "avlog0_C0"
name: "avlog0_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "eqp_log2_C0"
input: "eqp_ns2_C0"
output: "avlog2_C01"
name: "avlog2_Add"
op_type: "Add"
domain: ""
}
node {
input: "eqp_log1_C0"
input: "eqp_ns1_C0"
output: "avlog1_C01"
name: "avlog1_Add"
op_type: "Add"
domain: ""
}
node {
input: "eq2_0_output0"
input: "avlog0_C0"
output: "avpl0_C0"
name: "avpl0_Add"
op_type: "Add"
domain: ""
}
node {
input: "avlog2_C01"
input: "plus2_2_output0"
output: "avlog2_C0"
name: "avlog2_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "avlog1_C01"
input: "plus2_1_output0"
output: "avlog1_C0"
name: "avlog1_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "path_length0_reshaped0"
input: "avpl0_C0"
output: "depth0_C01"
name: "depth0_Add"
op_type: "Add"
domain: ""
}
node {
input: "eq2_2_output0"
input: "avlog2_C0"
output: "avpl2_C0"
name: "avpl2_Add"
op_type: "Add"
domain: ""
}
node {
input: "eq2_1_output0"
input: "avlog1_C0"
output: "avpl1_C0"
name: "avpl1_Add"
op_type: "Add"
domain: ""
}
node {
input: "depth0_C01"
input: "eqp2p_m1_0_Addcst"
output: "depth0_C0"
name: "depth0_Add1"
op_type: "Add"
domain: ""
}
node {
input: "path_length2_reshaped0"
input: "avpl2_C0"
output: "depth2_C01"
name: "depth2_Add"
op_type: "Add"
domain: ""
}
node {
input: "path_length1_reshaped0"
input: "avpl1_C0"
output: "depth1_C01"
name: "depth1_Add"
op_type: "Add"
domain: ""
}
node {
input: "depth2_C01"
input: "eqp2p_m1_0_Addcst"
output: "depth2_C0"
name: "depth2_Add1"
op_type: "Add"
domain: ""
}
node {
input: "depth1_C01"
input: "eqp2p_m1_0_Addcst"
output: "depth1_C0"
name: "depth1_Add1"
op_type: "Add"
domain: ""
}
node {
input: "depth0_C0"
input: "depth1_C0"
input: "depth2_C0"
output: "dec_sum0"
name: "dec_Sum"
op_type: "Sum"
domain: ""
}
node {
input: "dec_sum0"
input: "dec_Divcst"
output: "dec_C0"
name: "dec_Div"
op_type: "Div"
domain: ""
}
node {
input: "dec_C0"
output: "dec_Y01"
name: "dec_Neg"
op_type: "Neg"
domain: ""
}
node {
input: "dec_Powcst"
input: "dec_Y01"
output: "dec_Z0"
name: "dec_Pow"
op_type: "Pow"
domain: ""
}
node {
input: "dec_Z0"
output: "dec_Y0"
name: "dec_Neg1"
op_type: "Neg"
domain: ""
}
node {
input: "dec_Y0"
input: "dec_Addcst"
output: "scores"
name: "dec_Add"
op_type: "Add"
domain: ""
}
node {
input: "scores"
input: "eqp2p_m1_0_Maxcst1"
output: "predict_C01"
name: "predict_Less"
op_type: "Less"
domain: ""
}
node {
input: "predict_C01"
output: "predict_output0"
name: "predict_Cast"
op_type: "Cast"
attribute {
name: "to"
i: 7
type: INT
}
domain: ""
}
node {
input: "predict_output0"
input: "predict_Mulcst"
output: "predict_C0"
name: "predict_Mul"
op_type: "Mul"
domain: ""
}
node {
input: "predict_C0"
input: "predict_Addcst"
output: "label"
name: "predict_Add"
op_type: "Add"
domain: ""
}
name: "ONNX(IsolationForest)"
initializer {
dims: 1
data_type: 1
float_data: 2.0
name: "dec_Powcst"
}
initializer {
dims: 2
data_type: 7
int64_data: 0
int64_data: 1
name: "node_sample0_Gathercst"
}
initializer {
dims: 2
data_type: 7
int64_data: -1
int64_data: 1
name: "path_length0_Reshapecst"
}
initializer {
dims: 1
data_type: 1
float_data: -1.0
name: "eqp2p_m1_0_Addcst"
}
initializer {
dims: 1
data_type: 1
float_data: 1.0
name: "eqp2p_m1_0_Maxcst"
}
initializer {
dims: 1
data_type: 1
float_data: 0.5772156715393066
name: "eqp_log0_Addcst"
}
initializer {
dims: 1
data_type: 1
float_data: 0.0
name: "eqp2p_m1_0_Maxcst1"
}
initializer {
dims: 1
data_type: 1
float_data: -2.0
name: "eqp_ns0_Mulcst"
}
initializer {
dims: 1
dims: 1
data_type: 1
float_data: 25.094013214111328
name: "dec_Divcst"
}
initializer {
dims: 1
data_type: 1
float_data: 0.5
name: "dec_Addcst"
}
initializer {
dims: 1
data_type: 7
int64_data: -2
name: "predict_Mulcst"
}
initializer {
dims: 1
data_type: 7
int64_data: 1
name: "predict_Addcst"
}
input {
name: "X"
type {
tensor_type {
elem_type: 1
shape {
dim {
}
dim {
dim_value: 2
}
}
}
}
}
output {
name: "label"
type {
tensor_type {
elem_type: 7
shape {
dim {
}
dim {
dim_value: 1
}
}
}
}
}
output {
name: "scores"
type {
tensor_type {
elem_type: 1
shape {
dim {
}
dim {
dim_value: 1
}
}
}
}
}
}
opset_import {
domain: ""
version: 15
}
opset_import {
domain: "ai.onnx.ml"
version: 2
}
The last line shows the opsets. Let’s extract it.
domains = onx.opset_import
for dom in domains:
print("domain: %r, version: %r" % (dom.domain, dom.version))
domain: '', version: 15
domain: 'ai.onnx.ml', version: 2
There are two opsets, one for standard operators, the other for machine learning operators.
ONNX and opset#
The converter can convert a model to an older opset than the default one, from 1 to the last available one.
def get_domain_opset(onx):
domains = onx.opset_import
res = [{'domain': dom.domain, 'version': dom.version}
for dom in domains]
return {d['domain']: d['version'] for d in res}
for opset in range(6, onnx_opset_version() + 1):
try:
onx = to_onnx(model, X[:1].astype(numpy.float32),
target_opset={'': opset, 'ai.onnx.ml': 2})
except RuntimeError as e:
print('target: %r error: %r' % (opset, e))
continue
nodes = len(onx.graph.node)
print('target: %r --> %s %d' % (opset, get_domain_opset(onx), nodes))
target: 6 --> {'': 6, 'ai.onnx.ml': 2} 91
target: 7 --> {'': 7, 'ai.onnx.ml': 2} 91
target: 8 --> {'': 8, 'ai.onnx.ml': 2} 91
target: 9 --> {'': 9, 'ai.onnx.ml': 2} 91
target: 10 --> {'': 10, 'ai.onnx.ml': 2} 91
target: 11 --> {'': 11, 'ai.onnx.ml': 2} 91
target: 12 --> {'': 12, 'ai.onnx.ml': 2} 91
target: 13 --> {'': 13, 'ai.onnx.ml': 2} 91
target: 14 --> {'': 14, 'ai.onnx.ml': 2} 91
target: 15 --> {'': 15, 'ai.onnx.ml': 2} 91
target: 16 --> {'': 16, 'ai.onnx.ml': 2} 91
target: 17 --> {'': 17, 'ai.onnx.ml': 2} 91
target: 18 --> {'': 18, 'ai.onnx.ml': 2} 91
It shows that the model cannot be converted for opset below 5. Operator Reshape changed in opset 5: a parameter became an input. The converter does not support opset < 5 because runtimes usually do not.
Other opsets#
The previous example changed the opset of the main domain
''
but the other opset domain can be changed as well.
for opset in range(9, onnx_opset_version() + 1):
for opset_ml in range(1, 4):
tops = {'': opset, 'ai.onnx.ml': opset_ml}
try:
print("try target_opset:", tops)
onx = to_onnx(
model, X[:1].astype(numpy.float32), target_opset=tops)
except RuntimeError as e:
print('target: %r error: %r' % (opset, e))
continue
nodes = len(onx.graph.node)
print('target: %r --> %s %d' % (opset, get_domain_opset(onx), nodes))
try target_opset: {'': 9, 'ai.onnx.ml': 1}
target: 9 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 9, 'ai.onnx.ml': 2}
target: 9 --> {'': 9, 'ai.onnx.ml': 2} 91
try target_opset: {'': 9, 'ai.onnx.ml': 3}
target: 9 --> {'': 9, 'ai.onnx.ml': 2} 91
try target_opset: {'': 10, 'ai.onnx.ml': 1}
target: 10 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 10, 'ai.onnx.ml': 2}
target: 10 --> {'': 10, 'ai.onnx.ml': 2} 91
try target_opset: {'': 10, 'ai.onnx.ml': 3}
target: 10 --> {'': 10, 'ai.onnx.ml': 2} 91
try target_opset: {'': 11, 'ai.onnx.ml': 1}
target: 11 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 11, 'ai.onnx.ml': 2}
target: 11 --> {'': 11, 'ai.onnx.ml': 2} 91
try target_opset: {'': 11, 'ai.onnx.ml': 3}
target: 11 --> {'': 11, 'ai.onnx.ml': 2} 91
try target_opset: {'': 12, 'ai.onnx.ml': 1}
target: 12 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 12, 'ai.onnx.ml': 2}
target: 12 --> {'': 12, 'ai.onnx.ml': 2} 91
try target_opset: {'': 12, 'ai.onnx.ml': 3}
target: 12 --> {'': 12, 'ai.onnx.ml': 2} 91
try target_opset: {'': 13, 'ai.onnx.ml': 1}
target: 13 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 13, 'ai.onnx.ml': 2}
target: 13 --> {'': 13, 'ai.onnx.ml': 2} 91
try target_opset: {'': 13, 'ai.onnx.ml': 3}
target: 13 --> {'': 13, 'ai.onnx.ml': 2} 91
try target_opset: {'': 14, 'ai.onnx.ml': 1}
target: 14 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 14, 'ai.onnx.ml': 2}
target: 14 --> {'': 14, 'ai.onnx.ml': 2} 91
try target_opset: {'': 14, 'ai.onnx.ml': 3}
target: 14 --> {'': 14, 'ai.onnx.ml': 2} 91
try target_opset: {'': 15, 'ai.onnx.ml': 1}
target: 15 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 15, 'ai.onnx.ml': 2}
target: 15 --> {'': 15, 'ai.onnx.ml': 2} 91
try target_opset: {'': 15, 'ai.onnx.ml': 3}
target: 15 --> {'': 15, 'ai.onnx.ml': 2} 91
try target_opset: {'': 16, 'ai.onnx.ml': 1}
target: 16 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 16, 'ai.onnx.ml': 2}
target: 16 --> {'': 16, 'ai.onnx.ml': 2} 91
try target_opset: {'': 16, 'ai.onnx.ml': 3}
target: 16 --> {'': 16, 'ai.onnx.ml': 2} 91
try target_opset: {'': 17, 'ai.onnx.ml': 1}
target: 17 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 17, 'ai.onnx.ml': 2}
target: 17 --> {'': 17, 'ai.onnx.ml': 2} 91
try target_opset: {'': 17, 'ai.onnx.ml': 3}
target: 17 --> {'': 17, 'ai.onnx.ml': 2} 91
try target_opset: {'': 18, 'ai.onnx.ml': 1}
target: 18 error: RuntimeError("This converter requires at least opset 2 for domain 'ai.onnx.ml'.")
try target_opset: {'': 18, 'ai.onnx.ml': 2}
target: 18 --> {'': 18, 'ai.onnx.ml': 2} 91
try target_opset: {'': 18, 'ai.onnx.ml': 3}
target: 18 --> {'': 18, 'ai.onnx.ml': 2} 91
Total running time of the script: ( 0 minutes 10.896 seconds)