.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/plot_logging.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_plot_logging.py: .. _l-example-logging: Logging, verbose ================ The conversion of a pipeline fails if it contains an object without any associated converter. It may also fails if one of the object is mapped by a custom converter. If the error message is not explicit enough, it is possible to enable logging. .. contents:: :local: Train a model +++++++++++++ A very basic example using random forest and the iris dataset. .. GENERATED FROM PYTHON SOURCE LINES 25-45 .. code-block:: default import logging import numpy import onnx import onnxruntime as rt import sklearn from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from skl2onnx.common.data_types import FloatTensorType from skl2onnx import convert_sklearn import skl2onnx iris = load_iris() X, y = iris.data, iris.target X_train, X_test, y_train, y_test = train_test_split(X, y) clr = DecisionTreeClassifier() clr.fit(X_train, y_train) print(clr) .. rst-class:: sphx-glr-script-out .. code-block:: none DecisionTreeClassifier() .. GENERATED FROM PYTHON SOURCE LINES 46-48 Convert a model into ONNX +++++++++++++++++++++++++ .. GENERATED FROM PYTHON SOURCE LINES 48-61 .. code-block:: default initial_type = [('float_input', FloatTensorType([None, 4]))] onx = convert_sklearn(clr, initial_types=initial_type, target_opset=12) sess = rt.InferenceSession(onx.SerializeToString()) input_name = sess.get_inputs()[0].name label_name = sess.get_outputs()[0].name pred_onx = sess.run([label_name], {input_name: X_test.astype(numpy.float32)})[0] print(pred_onx) .. rst-class:: sphx-glr-script-out .. code-block:: none [2 2 2 1 2 1 0 1 2 2 2 2 0 2 2 2 1 0 1 1 0 0 0 1 1 0 1 0 0 1 1 2 0 0 1 0 1 0] .. GENERATED FROM PYTHON SOURCE LINES 62-69 Conversion with parameter verbose +++++++++++++++++++++++++++++++++ verbose is a parameter which prints messages on the standard output. It tells which converter is called. `verbose=1` usually means what *skl2onnx* is doing to convert a pipeline. `verbose=2+` is reserved for information within converters. .. GENERATED FROM PYTHON SOURCE LINES 69-72 .. code-block:: default convert_sklearn(clr, initial_types=initial_type, target_opset=12, verbose=1) .. rst-class:: sphx-glr-script-out .. code-block:: none [convert_sklearn] parse_sklearn_model [convert_sklearn] convert_topology [convert_operators] begin [convert_operators] iteration 1 - n_vars=0 n_ops=2 [call_converter] call converter for 'SklearnDecisionTreeClassifier'. [call_converter] call converter for 'SklearnZipMap'. [convert_operators] end iter: 1 - n_vars=5 [convert_operators] iteration 2 - n_vars=5 n_ops=2 [convert_operators] end iter: 2 - n_vars=5 [convert_operators] end. [_update_domain_version] +opset 0: name='', version=9 [_update_domain_version] +opset 1: name='ai.onnx.ml', version=1 [convert_sklearn] end ir_version: 7 producer_name: "skl2onnx" producer_version: "1.14.0" domain: "ai.onnx" model_version: 0 doc_string: "" graph { node { input: "float_input" output: "label" output: "probabilities" name: "TreeEnsembleClassifier" op_type: "TreeEnsembleClassifier" attribute { name: "class_ids" ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 type: INTS } attribute { name: "class_nodeids" ints: 1 ints: 1 ints: 1 ints: 5 ints: 5 ints: 5 ints: 6 ints: 6 ints: 6 ints: 7 ints: 7 ints: 7 ints: 10 ints: 10 ints: 10 ints: 12 ints: 12 ints: 12 ints: 14 ints: 14 ints: 14 ints: 15 ints: 15 ints: 15 ints: 16 ints: 16 ints: 16 type: INTS } attribute { name: "class_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 type: INTS } attribute { name: "class_weights" floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 1.0 type: FLOATS } attribute { name: "classlabels_int64s" ints: 0 ints: 1 ints: 2 type: INTS } attribute { name: "nodes_falsenodeids" ints: 2 ints: 0 ints: 8 ints: 7 ints: 6 ints: 0 ints: 0 ints: 0 ints: 16 ints: 11 ints: 0 ints: 13 ints: 0 ints: 15 ints: 0 ints: 0 ints: 0 type: INTS } attribute { name: "nodes_featureids" ints: 2 ints: 0 ints: 2 ints: 0 ints: 2 ints: 0 ints: 0 ints: 0 ints: 3 ints: 2 ints: 0 ints: 3 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 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 type: INTS } attribute { name: "nodes_modes" strings: "BRANCH_LEQ" 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: "BRANCH_LEQ" strings: "LEAF" 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 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 type: INTS } attribute { name: "nodes_truenodeids" ints: 1 ints: 0 ints: 3 ints: 4 ints: 5 ints: 0 ints: 0 ints: 0 ints: 9 ints: 10 ints: 0 ints: 12 ints: 0 ints: 14 ints: 0 ints: 0 ints: 0 type: INTS } attribute { name: "nodes_values" floats: 2.5999999046325684 floats: 0.0 floats: 4.849999904632568 floats: 4.949999809265137 floats: 3.8999998569488525 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.75 floats: 4.949999809265137 floats: 0.0 floats: 1.5499999523162842 floats: 0.0 floats: 6.949999809265137 floats: 0.0 floats: 0.0 floats: 0.0 type: FLOATS } attribute { name: "post_transform" s: "NONE" type: STRING } domain: "ai.onnx.ml" } node { input: "probabilities" output: "output_probability" name: "ZipMap" op_type: "ZipMap" attribute { name: "classlabels_int64s" ints: 0 ints: 1 ints: 2 type: INTS } domain: "ai.onnx.ml" } node { input: "label" output: "output_label" name: "Cast" op_type: "Cast" attribute { name: "to" i: 7 type: INT } domain: "" } name: "deb1b65745284802904d0b7988deb9d2" input { name: "float_input" type { tensor_type { elem_type: 1 shape { dim { } dim { dim_value: 4 } } } } } output { name: "output_label" type { tensor_type { elem_type: 7 shape { dim { } } } } } output { name: "output_probability" type { sequence_type { elem_type { map_type { key_type: 7 value_type { tensor_type { elem_type: 1 } } } } } } } } opset_import { domain: "" version: 9 } opset_import { domain: "ai.onnx.ml" version: 1 } .. GENERATED FROM PYTHON SOURCE LINES 73-80 Conversion with logging +++++++++++++++++++++++ This is very detailed logging. It which operators or variables (output of converters) is processed, which node is created... This information may be useful when a custom converter is being implemented. .. GENERATED FROM PYTHON SOURCE LINES 80-87 .. code-block:: default logger = logging.getLogger('skl2onnx') logger.setLevel(logging.DEBUG) logging.basicConfig(level=logging.DEBUG) convert_sklearn(clr, initial_types=initial_type, target_opset=12) .. rst-class:: sphx-glr-script-out .. code-block:: none DEBUG:skl2onnx:[Var] +Variable('float_input', 'float_input', type=FloatTensorType(shape=[None, 4])) DEBUG:skl2onnx:[Var] update is_root=True for Variable('float_input', 'float_input', type=FloatTensorType(shape=[None, 4])) DEBUG:skl2onnx:[parsing] found alias='SklearnDecisionTreeClassifier' for type=. DEBUG:skl2onnx:[Op] +Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='', outputs='', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Op] add In Variable('float_input', 'float_input', type=FloatTensorType(shape=[None, 4])) to Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Var] +Variable('label', 'label', type=Int64TensorType(shape=[])) DEBUG:skl2onnx:[Var] +Variable('probabilities', 'probabilities', type=FloatTensorType(shape=[])) DEBUG:skl2onnx:[Var] set parent for Variable('label', 'label', type=Int64TensorType(shape=[])), parent=Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Op] add Out Variable('label', 'label', type=Int64TensorType(shape=[])) to Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Var] set parent for Variable('probabilities', 'probabilities', type=FloatTensorType(shape=[])), parent=Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Op] add Out Variable('probabilities', 'probabilities', type=FloatTensorType(shape=[])) to Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Op] +Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='', outputs='', raw_operator=None) DEBUG:skl2onnx:[Var] +Variable('output_label', 'output_label', type=Int64TensorType(shape=[None])) DEBUG:skl2onnx:[Var] set parent for Variable('output_label', 'output_label', type=Int64TensorType(shape=[None])), parent=Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='', raw_operator=None) DEBUG:skl2onnx:[Op] add Out Variable('output_label', 'output_label', type=Int64TensorType(shape=[None])) to Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label', raw_operator=None) DEBUG:skl2onnx:[Var] +Variable('output_probability', 'output_probability', type=SequenceType(element_type=DictionaryType(key_type=Int64TensorType(shape=[None]), value_type=FloatTensorType(shape=[])))) DEBUG:skl2onnx:[Var] set parent for Variable('output_probability', 'output_probability', type=SequenceType(element_type=DictionaryType(key_type=Int64TensorType(shape=[None]), value_type=FloatTensorType(shape=[])))), parent=Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label', raw_operator=None) DEBUG:skl2onnx:[Op] add Out Variable('output_probability', 'output_probability', type=SequenceType(element_type=DictionaryType(key_type=Int64TensorType(shape=[None]), value_type=FloatTensorType(shape=[])))) to Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) DEBUG:skl2onnx:[Op] update is_evaluated=True for Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) DEBUG:skl2onnx:[Var] update is_leaf=True for Variable('output_label', 'output_label', type=Int64TensorType(shape=[None])) DEBUG:skl2onnx:[Var] update is_leaf=True for Variable('output_probability', 'output_probability', type=SequenceType(element_type=DictionaryType(key_type=Int64TensorType(shape=[None]), value_type=FloatTensorType(shape=[])))) DEBUG:skl2onnx:[Var] update is_fed=True for Variable('float_input', 'float_input', type=FloatTensorType(shape=[None, 4])), parent=None DEBUG:skl2onnx:[Var] update is_fed=False for Variable('label', 'label', type=Int64TensorType(shape=[])), parent=Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Var] update is_fed=False for Variable('probabilities', 'probabilities', type=FloatTensorType(shape=[])), parent=Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Var] update is_fed=False for Variable('output_label', 'output_label', type=Int64TensorType(shape=[None])), parent=Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) DEBUG:skl2onnx:[Var] update is_fed=False for Variable('output_probability', 'output_probability', type=SequenceType(element_type=DictionaryType(key_type=Int64TensorType(shape=[None]), value_type=FloatTensorType(shape=[])))), parent=Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) DEBUG:skl2onnx:[Op] update is_evaluated=False for Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Op] update is_evaluated=False for Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) DEBUG:skl2onnx:[Shape2] call infer_types for Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Shape-a] Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) fed 'True' - 'FalseFalse' DEBUG:skl2onnx:[Var] update type for Variable('label', 'label', type=Int64TensorType(shape=[])) DEBUG:skl2onnx:[Shape-b] Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) inputs=[Variable('float_input', 'float_input', type=FloatTensorType(shape=[None, 4]))] - outputs=[Variable('label', 'label', type=Int64TensorType(shape=[None])), Variable('probabilities', 'probabilities', type=FloatTensorType(shape=[None, 3]))] DEBUG:skl2onnx:[Conv] call Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) fed 'True' - 'FalseFalse' DEBUG:skl2onnx:[Node] 'TreeEnsembleClassifier' - 'float_input' -> 'label,probabilities' (name='TreeEnsembleClassifier') DEBUG:skl2onnx:[Conv] end - Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Op] update is_evaluated=True for Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Var] update is_fed=True for Variable('label', 'label', type=Int64TensorType(shape=[None])), parent=Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Var] update is_fed=True for Variable('probabilities', 'probabilities', type=FloatTensorType(shape=[None, 3])), parent=Operator(type='SklearnDecisionTreeClassifier', onnx_name='SklearnDecisionTreeClassifier', inputs='float_input', outputs='label,probabilities', raw_operator=DecisionTreeClassifier()) DEBUG:skl2onnx:[Shape2] call infer_types for Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) DEBUG:skl2onnx:[Shape-a] Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) fed 'TrueTrue' - 'FalseFalse' DEBUG:skl2onnx:[Var] update type for Variable('output_label', 'output_label', type=Int64TensorType(shape=[None])) DEBUG:skl2onnx:[Shape-b] Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) inputs=[Variable('label', 'label', type=Int64TensorType(shape=[None])), Variable('probabilities', 'probabilities', type=FloatTensorType(shape=[None, 3]))] - outputs=[Variable('output_label', 'output_label', type=Int64TensorType(shape=[None])), Variable('output_probability', 'output_probability', type=SequenceType(element_type=DictionaryType(key_type=Int64TensorType(shape=[None]), value_type=FloatTensorType(shape=[]))))] DEBUG:skl2onnx:[Conv] call Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) fed 'TrueTrue' - 'FalseFalse' DEBUG:skl2onnx:[Node] 'Cast' - 'label' -> 'output_label' (name='Cast') DEBUG:skl2onnx:[Node] 'ZipMap' - 'probabilities' -> 'output_probability' (name='ZipMap') DEBUG:skl2onnx:[Conv] end - Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) DEBUG:skl2onnx:[Op] update is_evaluated=True for Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) DEBUG:skl2onnx:[Var] update is_fed=True for Variable('output_label', 'output_label', type=Int64TensorType(shape=[None])), parent=Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) DEBUG:skl2onnx:[Var] update is_fed=True for Variable('output_probability', 'output_probability', type=SequenceType(element_type=DictionaryType(key_type=Int64TensorType(shape=[None]), value_type=FloatTensorType(shape=[])))), parent=Operator(type='SklearnZipMap', onnx_name='SklearnZipMap', inputs='label,probabilities', outputs='output_label,output_probability', raw_operator=None) ir_version: 7 producer_name: "skl2onnx" producer_version: "1.14.0" domain: "ai.onnx" model_version: 0 doc_string: "" graph { node { input: "float_input" output: "label" output: "probabilities" name: "TreeEnsembleClassifier" op_type: "TreeEnsembleClassifier" attribute { name: "class_ids" ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 type: INTS } attribute { name: "class_nodeids" ints: 1 ints: 1 ints: 1 ints: 5 ints: 5 ints: 5 ints: 6 ints: 6 ints: 6 ints: 7 ints: 7 ints: 7 ints: 10 ints: 10 ints: 10 ints: 12 ints: 12 ints: 12 ints: 14 ints: 14 ints: 14 ints: 15 ints: 15 ints: 15 ints: 16 ints: 16 ints: 16 type: INTS } attribute { name: "class_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 type: INTS } attribute { name: "class_weights" floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 1.0 type: FLOATS } attribute { name: "classlabels_int64s" ints: 0 ints: 1 ints: 2 type: INTS } attribute { name: "nodes_falsenodeids" ints: 2 ints: 0 ints: 8 ints: 7 ints: 6 ints: 0 ints: 0 ints: 0 ints: 16 ints: 11 ints: 0 ints: 13 ints: 0 ints: 15 ints: 0 ints: 0 ints: 0 type: INTS } attribute { name: "nodes_featureids" ints: 2 ints: 0 ints: 2 ints: 0 ints: 2 ints: 0 ints: 0 ints: 0 ints: 3 ints: 2 ints: 0 ints: 3 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 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 type: INTS } attribute { name: "nodes_modes" strings: "BRANCH_LEQ" 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: "BRANCH_LEQ" strings: "LEAF" 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 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 type: INTS } attribute { name: "nodes_truenodeids" ints: 1 ints: 0 ints: 3 ints: 4 ints: 5 ints: 0 ints: 0 ints: 0 ints: 9 ints: 10 ints: 0 ints: 12 ints: 0 ints: 14 ints: 0 ints: 0 ints: 0 type: INTS } attribute { name: "nodes_values" floats: 2.5999999046325684 floats: 0.0 floats: 4.849999904632568 floats: 4.949999809265137 floats: 3.8999998569488525 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.75 floats: 4.949999809265137 floats: 0.0 floats: 1.5499999523162842 floats: 0.0 floats: 6.949999809265137 floats: 0.0 floats: 0.0 floats: 0.0 type: FLOATS } attribute { name: "post_transform" s: "NONE" type: STRING } domain: "ai.onnx.ml" } node { input: "label" output: "output_label" name: "Cast" op_type: "Cast" attribute { name: "to" i: 7 type: INT } domain: "" } node { input: "probabilities" output: "output_probability" name: "ZipMap" op_type: "ZipMap" attribute { name: "classlabels_int64s" ints: 0 ints: 1 ints: 2 type: INTS } domain: "ai.onnx.ml" } name: "d4e54234eafe4b21ad1417b49809c723" input { name: "float_input" type { tensor_type { elem_type: 1 shape { dim { } dim { dim_value: 4 } } } } } output { name: "output_label" type { tensor_type { elem_type: 7 shape { dim { } } } } } output { name: "output_probability" type { sequence_type { elem_type { map_type { key_type: 7 value_type { tensor_type { elem_type: 1 } } } } } } } } opset_import { domain: "" version: 9 } opset_import { domain: "ai.onnx.ml" version: 1 } .. GENERATED FROM PYTHON SOURCE LINES 88-89 And to disable it. .. GENERATED FROM PYTHON SOURCE LINES 89-96 .. code-block:: default logger.setLevel(logging.INFO) logging.basicConfig(level=logging.INFO) convert_sklearn(clr, initial_types=initial_type, target_opset=12) .. rst-class:: sphx-glr-script-out .. code-block:: none ir_version: 7 producer_name: "skl2onnx" producer_version: "1.14.0" domain: "ai.onnx" model_version: 0 doc_string: "" graph { node { input: "float_input" output: "label" output: "probabilities" name: "TreeEnsembleClassifier" op_type: "TreeEnsembleClassifier" attribute { name: "class_ids" ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 ints: 0 ints: 1 ints: 2 type: INTS } attribute { name: "class_nodeids" ints: 1 ints: 1 ints: 1 ints: 5 ints: 5 ints: 5 ints: 6 ints: 6 ints: 6 ints: 7 ints: 7 ints: 7 ints: 10 ints: 10 ints: 10 ints: 12 ints: 12 ints: 12 ints: 14 ints: 14 ints: 14 ints: 15 ints: 15 ints: 15 ints: 16 ints: 16 ints: 16 type: INTS } attribute { name: "class_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 type: INTS } attribute { name: "class_weights" floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.0 floats: 0.0 floats: 0.0 floats: 1.0 type: FLOATS } attribute { name: "classlabels_int64s" ints: 0 ints: 1 ints: 2 type: INTS } attribute { name: "nodes_falsenodeids" ints: 2 ints: 0 ints: 8 ints: 7 ints: 6 ints: 0 ints: 0 ints: 0 ints: 16 ints: 11 ints: 0 ints: 13 ints: 0 ints: 15 ints: 0 ints: 0 ints: 0 type: INTS } attribute { name: "nodes_featureids" ints: 2 ints: 0 ints: 2 ints: 0 ints: 2 ints: 0 ints: 0 ints: 0 ints: 3 ints: 2 ints: 0 ints: 3 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 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 type: INTS } attribute { name: "nodes_modes" strings: "BRANCH_LEQ" 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: "BRANCH_LEQ" strings: "LEAF" 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 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 type: INTS } attribute { name: "nodes_truenodeids" ints: 1 ints: 0 ints: 3 ints: 4 ints: 5 ints: 0 ints: 0 ints: 0 ints: 9 ints: 10 ints: 0 ints: 12 ints: 0 ints: 14 ints: 0 ints: 0 ints: 0 type: INTS } attribute { name: "nodes_values" floats: 2.5999999046325684 floats: 0.0 floats: 4.849999904632568 floats: 4.949999809265137 floats: 3.8999998569488525 floats: 0.0 floats: 0.0 floats: 0.0 floats: 1.75 floats: 4.949999809265137 floats: 0.0 floats: 1.5499999523162842 floats: 0.0 floats: 6.949999809265137 floats: 0.0 floats: 0.0 floats: 0.0 type: FLOATS } attribute { name: "post_transform" s: "NONE" type: STRING } domain: "ai.onnx.ml" } node { input: "label" output: "output_label" name: "Cast" op_type: "Cast" attribute { name: "to" i: 7 type: INT } domain: "" } node { input: "probabilities" output: "output_probability" name: "ZipMap" op_type: "ZipMap" attribute { name: "classlabels_int64s" ints: 0 ints: 1 ints: 2 type: INTS } domain: "ai.onnx.ml" } name: "6f56fd8fc39d404ab00fa8fdb2117ac8" input { name: "float_input" type { tensor_type { elem_type: 1 shape { dim { } dim { dim_value: 4 } } } } } output { name: "output_label" type { tensor_type { elem_type: 7 shape { dim { } } } } } output { name: "output_probability" type { sequence_type { elem_type { map_type { key_type: 7 value_type { tensor_type { elem_type: 1 } } } } } } } } opset_import { domain: "" version: 9 } opset_import { domain: "ai.onnx.ml" version: 1 } .. GENERATED FROM PYTHON SOURCE LINES 97-98 **Versions used for this example** .. GENERATED FROM PYTHON SOURCE LINES 98-104 .. code-block:: default print("numpy:", numpy.__version__) print("scikit-learn:", sklearn.__version__) print("onnx: ", onnx.__version__) print("onnxruntime: ", rt.__version__) print("skl2onnx: ", skl2onnx.__version__) .. rst-class:: sphx-glr-script-out .. code-block:: none numpy: 1.23.5 scikit-learn: 1.2.2 onnx: 1.13.1 onnxruntime: 1.14.1 skl2onnx: 1.14.0 .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.243 seconds) .. _sphx_glr_download_auto_examples_plot_logging.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_logging.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_logging.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_