-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for ai.onnx.ml.TreeEnsemble.v5 #21851
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking on this complex task! I have a few minor comments at this point.
Co-authored-by: Christian Bourjau <[email protected]>
@xadupre could you maybe take a look at this? |
Can you look into the failing build? The compilation fails on Windows because a warning is treated as an error (usually an implicit cast to change into a static_cast<...>(...). |
/azp run inux CPU CI Pipeline,Windows CPU CI Pipeline |
Azure Pipelines successfully started running 1 pipeline(s). |
Description
This PR adds support for the TreeEnsemble operator added in version 5 of the
ai.onnx.ml
opset. The solution maps the values of the attributes of the v5 operator into attributes of the already supported version 3. Whereas, themembership_values
are unrolled into chains ofBRANCH_EQ
nodes.Note that the changes made in #21222 may roll up these
BRANCH_EQ
chains into a single node again to retain efficient support for categorical features.Ultimately, it may be desirable to have an implementation that directly uses the v5 attributes. However, mapping the v5 attributes into the v3 layout appears to be an easier first step to gaining initial support for the v5 operator.
Motivation and Context
Solves onnx/onnx#5874.