Verified-Intelligence / alpha-beta-CROWN

alpha-beta-CROWN: An Efficient, Scalable and GPU Accelerated Neural Network Verifier (winner of VNN-COMP 2021, 2022, 2023, and 2024)
Other
243 stars 60 forks source link

assert self.alpha_lookup_idx is None or self.alpha_lookup_idx[start_node.name] is None #77

Open AvrahamRaviv opened 1 month ago

AvrahamRaviv commented 1 month ago

I got an assert in relu.py, line 227: assert self.alpha_lookup_idx is None or self.alpha_lookup_idx[start_node.name] is None It already mentioned here: https://github.com/Verified-Intelligence/alpha-beta-CROWN/issues/26#issuecomment-1500706482

Here my ONNX graph: image There is no 2 consecutive linear layers, as described in early issue, so what can be cause to this assert? Thanks!

AvrahamRaviv commented 1 month ago

@shizhouxing Here is my yaml file: model: name: my_model path: models/my_model_weights.pt tau: 0.5 data: dataset: my_dataset start: 0 end: 10 std: [1.] mean: [0.] test_csv: models/dataest_10.csv num_outputs: 1 specification: epsilon: 0.001 norm: .inf robustness_type: SpecificationAllPositive attack: pgd_restarts: 2 solver: batch_size: 1 min_batch_size_ratio: 1 alpha-crown: disable_optimization: ['MaxPool'] beta-crown: iteration: 20 lr_beta: 0.03 mip: parallel_solvers: 8 solver_threads: 4 refine_neuron_time_percentage: 0.8 skip_unsafe: True bab: timeout: 180 pruning_in_iteration: False sort_domain_interval: 1 branching: method: nonlinear candidates: 3 nonlinear_split: num_branches: 2 method: shortcut filter: true