Closed gaperezsa closed 3 years ago
Hello @gaperezsa,
Could you please confirm, which commit of ELINA you cloned? This might be the root cause of the issue that you are describing. 3dcertify seems to use ERAN commit "61e3667a4d59efefd195e3623bb1ba483d41332c" and reference to ELINA commit "2c9a4ea". If you mixed the slightly older ERAN version with a recent ELINA one, this is probably the cause of your problem. Please try using the suggested ELINA version.
Cheers, Mark
hello @mnmueller , so, you were right, my problem was mixing a somewhat old version of ERAN with the latest release of ELINA, thank you!!
small comment, another "fix" i had to take was checkout to deepg commit b59e86c46cbb2966d4066e55cb418f2165afd15d instead of last one because the version of ERAN I have uses gurobi 90 but latest deepg uses gurobi91, this is a nightmare of versions.
Hello @gaperezsa,
I am glad this resolved your issue. Feel free to suggest updating 3dcertify to be compatible with the most recent versions of ERAN, ELINA, and deepg to the corresponding authors.
Cheers, Mark
hello, im trying to run https://github.com/eth-sri/3dcertify , one of their submodeules is ERAN, i believe i have followed their readme, gurobis software and license, and downloaded the latest release of ELINA, however, when trying to run:
i get the error:
Traceback (most recent call last): File "verify_transformation.py", line 153, in
(dominant_class, nlb, nub) = eran.analyze_classification_linear(bounds, constraints, params)
File "/home/santamgp/Documents/3Dcertify/3dcertify/verifier/eran_verifier.py", line 57, in analyze_classification_linear
(dominantclass, , nlb, nub, _) = self.eran.analyze_box(
File "/home/santamgp/Documents/3Dcertify/3dcertify/./ERAN/tf_verify/eran.py", line 89, in analyze_box
dominant_class, nlb, nub, failed_labels, x = analyzer.analyze()
File "/home/santamgp/Documents/3Dcertify/3dcertify/./ERAN/tf_verify/analyzer.py", line 184, in analyze
element, nlb, nub = self.get_abstract0()
File "/home/santamgp/Documents/3Dcertify/3dcertify/./ERAN/tf_verify/analyzer.py", line 160, in get_abstract0
element_test_bounds = self.ir_list[i].transformer(self.nn, self.man, element, nlb, nub, self.relu_groups, 'refine' in self.domain, self.timeout_lp, self.timeout_milp, self.use_default_heuristic, self.testing)
File "/home/santamgp/Documents/3Dcertify/3dcertify/./ERAN/tf_verify/deeppoly_nodes.py", line 468, in transformer
handle_convolutional_layer(man, element, *self.get_arguments())
TypeError: handle_convolutional_layer() missing 2 required positional arguments: 'predecessors' and 'num_predecessors'
further inspection of manually going to said file does reveal references to self.predecessors and len(self.predecessors) but said attributes are never set for each object, their initializer does not treat with them at all nor do they inherit them. please help, i just want to reproduce their results