You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to use alpha-beta-CROWN to verify my simple fully-connected neural network.
The network structure is defined as following:
I have a normalization layer and then it just several linear and ReLU layers.
However, when I used alpha-beta-CROWN to verify on MNIST dataset, I got the error message alpha-beta-CROWN/complete_verifier/auto_LiRPA/operators/base.py", line 446, in broadcast_backward if shape[i] == 1 and A.shape[i + 1] != 1: IndexError: tuple index out of range
Afterwards, I checked the code auto_LiRPA/operators/base.py, I found there is a comment saying that # Skip the batch dimension. # FIXME (05/11/2022): the following condition is not always correct. # We should not rely on checking dimension is "1" or not.
So, if I have the problem with batch dimension, how can I address with it to verify my network model? Thank you!
The following are my configuration in this example.
general:
device: cpu # Select device to run verifier, cpu or cuda (GPU).complete_verifier: bab enable_incomplete_verification: truebuffer_has_batchdim: falsemodel:
name: ORCA_mnist_5x100_DiffAI # Model name. Will be evaluated as a python statement.path: models/orca/fc_5x100.pth # Load pretrained model from this specified path.input_shape: (-1, 1, 28, 28)data:
start: 0# Start from the i-th property in specified dataset.end: 20# End with the (i-1)-th property in the dataset.mean: 0.0# Mean vector used in data preprocessing.std: 1.0# Std vector used in data preprocessing.dataset: MNIST # Dataset name (only if not using specifications from a .csv file). Dataset must be defined in utils.py. For customized data, checkout custom/custom_model_data.py.#data_idx_file: exp_configs/orca/mnist_0.txt # A text file with a list of example IDs to run.specification:
type: lp # Type of verification specification. "lp" = L_p norm, "box" = element-wise lower and upper bound provided by dataloader.robustness_type: verified-acc # For robustness verification: verify against all labels ("verified-acc" mode), or just the runnerup labels ("runnerup" mode), or using a specified label in dataset ("speicify-target" mode, only used for oval20). Not used when a VNNLIB spec is used.norm: .inf# Lp-norm for epsilon perturbation in robustness verification (1, 2, inf).epsilon: 0.01# Set perturbation size (Lp norm). If not set, a default value may be used based on dataset loader.epsilon_min: 0.0attack:
pgd_order: skippgd_steps: 100pgd_restarts: 30solver:
batch_size: 2048alpha-crown:
iteration: 100lr_alpha: 0.1beta-crown:
iteration: 20lr_beta: 0.05lr_alpha: 0.01bab:
timeout: 120branching:
reduceop: min method: kfsbcandidates: 3
The text was updated successfully, but these errors were encountered:
Hi,
I am trying to use alpha-beta-CROWN to verify my simple fully-connected neural network.
The network structure is defined as following:
I have a normalization layer and then it just several linear and ReLU layers.
However, when I used alpha-beta-CROWN to verify on MNIST dataset, I got the error message
alpha-beta-CROWN/complete_verifier/auto_LiRPA/operators/base.py", line 446, in broadcast_backward if shape[i] == 1 and A.shape[i + 1] != 1: IndexError: tuple index out of range
Afterwards, I checked the code
auto_LiRPA/operators/base.py
, I found there is a comment saying that# Skip the batch dimension. # FIXME (05/11/2022): the following condition is not always correct. # We should not rely on checking dimension is "1" or not.
So, if I have the problem with batch dimension, how can I address with it to verify my network model? Thank you!
The following are my configuration in this example.
The text was updated successfully, but these errors were encountered: