You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Up until the introduction of the new TreeEnsemble operator, the ONNX standard did not support splitting on set memberships. This was problematic since such splits are commonly associated with categorical features. To support these split types, one was forced to compare each value in the set with an explicit BRANCH_EQ node. When applied naively, this would mean that the subtree behind the true-branch of each split had to be copied - a quite untenable situation in many scenarios.
The solution to this problem was to build a DAG rather than a Tree such that each true branch points to the same node (see ASCII diagram in the test case below). This used to work with onnxruntime<=1.20. However, it appears that a regression to these kinds of "trees" was introduced here. Thus, the following test case worked as intended on onnxruntime<=1.20 but fails on the latest 1.21.1 version.
Describe the issue
Up until the introduction of the new
TreeEnsemble
operator, the ONNX standard did not support splitting on set memberships. This was problematic since such splits are commonly associated with categorical features. To support these split types, one was forced to compare each value in the set with an explicitBRANCH_EQ
node. When applied naively, this would mean that the subtree behind the true-branch of each split had to be copied - a quite untenable situation in many scenarios.The solution to this problem was to build a DAG rather than a Tree such that each true branch points to the same node (see ASCII diagram in the test case below). This used to work with
onnxruntime<=1.20
. However, it appears that a regression to these kinds of "trees" was introduced here. Thus, the following test case worked as intended ononnxruntime<=1.20
but fails on the latest 1.21.1 version.To reproduce
Model file: test.onnx.zip
Urgency
High. This regression affects the execution of existing production models.
Platform
Mac
OS Version
14.7.5
ONNX Runtime Installation
Released Package
ONNX Runtime Version or Commit ID
1.21.1
ONNX Runtime API
Python
Architecture
ARM64
Execution Provider
Default CPU
Execution Provider Library Version
No response
The text was updated successfully, but these errors were encountered: