Repository navigation
Fail loudly on errors; fix Torch->ACT conversion; remove legacy code (part 1/3 of #115) - #116
Merged
Merged
Conversation
Part 1 of 3 of the TensorCE work (SVF-tools#115): the changes that are independent of the BaB/CLIMB restructuring. Errors are raised where they occur instead of printed or swallowed: - back_end core/serialization/layer_util/solver_hz/hybridz_tf and util raise instead of printing or returning empty results; fix a NaN in the HybridZ softmax ratio bound. - vnnlib: reject multi-input properties before parsing (pipeline exit 3); fuzzing exits 1 on failure and writes counterexample witnesses from the stored tensors. - torch2act/act2torch harnesses raise on failed conversions or test cases and when nothing ran; spec creation raises per-instance failures; the front_end, pipeline and loader CLIs assert download/inference success and re-raise after printing their hints instead of exiting 0. Torch->ACT conversion: - Convert nn.ReLU6 and F.adaptive_avg_pool2d (torchvision mobilenet_v2; CI's torch2act step hid 4/36 failed conversions behind PASSED). - Enter chain conversions (BatchNorm -> SCALE + BIAS, c - x, DequantizeLinear) at their head: the incoming edge bypassed SCALE, so abstract interpretation ran on a different network than the PyTorch model (SVHN resnet18: output 0.95 outside the bounds -> 7e-15 after). TorchToACT.run asserts that every layer reads only variables produced by its predecessors. Legacy and duplicated code removed: ACTStats/ACTLog; the unused profiler, parallel-executor and retry/timeout harness in pipeline/verification/utils and its act.pipeline re-exports; Config.to_yaml (x2); unused Net/Layer accessors; convert_and_save_pytorch; net_factory.append_concat; get_solver_mode. pipeline_cli's data-model commands now dispatch to frontend_cli's unified handlers instead of duplicating them.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #116 +/- ##
==========================================
+ Coverage 75.44% 76.90% +1.46%
==========================================
Files 91 91
Lines 22575 22143 -432
==========================================
- Hits 17032 17030 -2
+ Misses 5543 5113 -430
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 6 files with indirect coverage changes Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
Collaborator
guanqin-123
added a commit
to guanqin-123/ACT
that referenced
this pull request
Oct 14, 2026
Part 3 of 3 of SVF-tools#115 (parts 1 and 2 merged as SVF-tools#116 and SVF-tools#118). - CLIMB certificate reuse (opt-in): certified dual certificates are replayed as ReLU phase cores and propagated to prune BaB subproblems early (bab/climb.py). - BaB restructuring: split, violation-check and multi-split logic move out of bab.py into node.py, violation.py and branching/multi_split.py (bab.py 2191 -> 1151 lines, branching.py 1217 -> 1094). - BaB config: reuse_root_bounds becomes the root_bounds_reuse tri-state; CLIMB preset; every backend.yaml option documented; input splits can no longer pick a zero-width dimension. - CI: act-bab.yml grep checks replaced by in-source invariants and exit-status checks.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 1 of 3 of #115 (no BaB/CLIMB changes).
ReLU6/adaptive_avg_pool2d; fix BatchNormSCALEbeing bypassed; assert layer dataflow.