Skip to content

Resolve Failing Tests And Patch For Bounds in Linear Tree#179

Open
bammari wants to merge 27 commits intomainfrom
bammari-patch-2
Open

Resolve Failing Tests And Patch For Bounds in Linear Tree#179
bammari wants to merge 27 commits intomainfrom
bammari-patch-2

Conversation

@bammari
Copy link
Collaborator

@bammari bammari commented Dec 30, 2025

This PR addresses several issues that have resulted in failing tests as well as a patch for unscaled bounds in linear-tree. Here is everything that is addressed in this PR

  • Adding a free disk space step since runners are running out of space for Github CI
  • Update pyproject.toml to point to https://github.com/All-Things-Optimal/linear-tree
  • Update pyproject.toml to ignore ruff "PLW1641" and "TRY003"
  • Limit multiple big-M tranfsformation to one thread
  • Skip MBM transformation tests until newest release of pyomo (>6.9.5) due to bug that prevents mbm from transforming blocks
  • Update ONNX parser to work with most recent version of torch for convolutional neural networks
  • Add tests to ONNX parser to check errors for strides and kernel_shape attributes in onnx graph for convolution nodes and reshape nodes
  • Skip import_networks.ipynb until tf2onnx addresses dependency issue (last tf2onnx release was january 2024)
  • Fix bug with unscaled input bounds being called before it is defined in lt_formulations.py
  • Address several ruff and ruff format issues

Legal Acknowledgement
By contributing to this software project, I agree my contributions are submitted under the BSD license.
I represent I am authorized to make the contributions and grant the license.
If my employer has rights to intellectual property that includes these contributions,
I represent that I have received permission to make contributions and grant the required license on behalf of that employer.

bammari and others added 6 commits December 30, 2025 10:18
Adding a free disk space step since runners are running out of space for Github CI
Updating the dependencies to include onnxscript and the All-Things-Optimal fork that includes the fixes to match recent scikit-learn changes.
@bammari bammari changed the title Update tests.yml Resolve Failing Tests Jan 9, 2026
@codecov
Copy link

codecov bot commented Jan 10, 2026

Codecov Report

❌ Patch coverage is 80.64516% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.19%. Comparing base (dfe44bd) to head (1c0bddd).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
src/omlt/io/onnx_parser.py 83.33% 2 Missing and 2 partials ⚠️
src/omlt/linear_tree/lt_formulation.py 50.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #179      +/-   ##
==========================================
+ Coverage   91.17%   91.19%   +0.02%     
==========================================
  Files          39       39              
  Lines        3320     3386      +66     
  Branches      509      527      +18     
==========================================
+ Hits         3027     3088      +61     
- Misses        185      188       +3     
- Partials      108      110       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

bammari and others added 11 commits January 10, 2026 15:00
I had a need for tree surrogates with multiple outputs and OMLT did not
support them. I have updated the LMDT definition and formulations to
enable this. I have added some tests for this feature as well.

This should be better than using multiple different trees on the same
input space for different targets/outputs.

It is compatible with the linear-tree package and the systems2atoms
hyperplane trees that I have also been working on.

Addresses issue #161 which is a request for this feature!

**Legal Acknowledgement**\
By contributing to this software project, I agree my contributions are
submitted under the BSD license.
I represent I am authorized to make the contributions and grant the
license.
If my employer has rights to intellectual property that includes these
contributions,
I represent that I have received permission to make contributions and
grant the required license on behalf of that employer.

**Legal Acknowledgement**\
By contributing to this software project, I agree my contributions are
submitted under the BSD license.
I represent I am authorized to make the contributions and grant the
license.
If my employer has rights to intellectual property that includes these
contributions,
I represent that I have received permission to make contributions and
grant the required license on behalf of that employer.

Co-authored-by: Ethan Sunshine <93541000+emsunshine@users.noreply.github.com>
@bammari bammari changed the title Resolve Failing Tests Resolve Failing Tests And Patch For Bounds in Linear Tree Jan 11, 2026
@bammari bammari requested a review from carldlaird January 11, 2026 18:38
@victoraalves victoraalves self-assigned this Mar 12, 2026
@aasgerr aasgerr self-assigned this Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants