Update verinet#107
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## develop #107 +/- ##
============================================
- Coverage 89.90% 77.72% -12.18%
============================================
Files 140 140
Lines 7982 7982
Branches 1440 1440
============================================
- Hits 7176 6204 -972
- Misses 579 1634 +1055
+ Partials 227 144 -83 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
The code I provided to execute the new Verinet version does not quite work. I am currently trying to get it to work, but I have a question, if you have time @dlshriver . How does DNNV change the networks before passing them to the verifiers? I hope I provided enough information. |
|
Hi Marcel, thanks for the PR. This is something I've needed to update for a while, and I appreciate your effort to do so. The reduction used should be the same as the one used by DNNF as described in this paper. The negation of the property is converted to DNF, then each disjunct is converted to a halfspace polytope representation which is used to construct two new layers for the output. The new output of the network has 2 values, the second of which is always 0 and the first of which is strictly greater than 0 if and only if the encoded disjunct is false. Hopefully that helps a bit. Let me know if you have more questions. |
This PR changes the install method of the verinet verifier, from pulling a fixed version from the dnnv github to installing it from pipenv. This will allow dnnv to always get the newest version of verinet (as long as there are no major API changes). It takes the verinet implementation provided by https://github.com/vas-group-imperial/VeriNet.
Some caveats: