From b29f92a8ec726d13ea5dc870f14d43f526900691 Mon Sep 17 00:00:00 2001 From: Momin Haider Date: Thu, 30 Mar 2023 13:17:52 -0400 Subject: [PATCH] Specify proper types in ArgumentParser Certain variables passed into argparse.ArgumentParser() (epsilon, num-steps, ...) need their types to be specified. Otherwise, changing them from their default values leads to errors, since they're automatically interpreted as strings instead. --- evaluate_attack_cifar10.py | 2 +- evaluate_attack_mnist.py | 2 +- mnist_example_trades.py | 8 ++++---- pgd_attack_cifar10.py | 10 +++++----- pgd_attack_mnist.py | 10 +++++----- train_trades_cifar10.py | 8 ++++---- train_trades_mnist.py | 8 ++++---- train_trades_mnist_binary.py | 8 ++++---- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/evaluate_attack_cifar10.py b/evaluate_attack_cifar10.py index 1d1f252..2de2548 100644 --- a/evaluate_attack_cifar10.py +++ b/evaluate_attack_cifar10.py @@ -16,7 +16,7 @@ parser = argparse.ArgumentParser(description='PyTorch CIFAR Attack Evaluation') parser.add_argument('--no-cuda', action='store_true', default=False, help='disables CUDA training') -parser.add_argument('--epsilon', default=0.031, +parser.add_argument('--epsilon', type=float, default=0.031, help='perturbation') parser.add_argument('--model-path', default='./checkpoints/model_cifar_wrn.pt', diff --git a/evaluate_attack_mnist.py b/evaluate_attack_mnist.py index 992074b..916e184 100644 --- a/evaluate_attack_mnist.py +++ b/evaluate_attack_mnist.py @@ -9,7 +9,7 @@ parser = argparse.ArgumentParser(description='PyTorch MNIST Attack Evaluation') parser.add_argument('--no-cuda', action='store_true', default=False, help='disables CUDA training') -parser.add_argument('--epsilon', default=0.3, +parser.add_argument('--epsilon', type=float, default=0.3, help='perturbation') parser.add_argument('--model-path', default='./checkpoints/model_mnist_smallcnn.pt', diff --git a/mnist_example_trades.py b/mnist_example_trades.py index 30fce2c..9f1fb90 100644 --- a/mnist_example_trades.py +++ b/mnist_example_trades.py @@ -86,13 +86,13 @@ def main(): help='SGD momentum (default: 0.5)') parser.add_argument('--no-cuda', action='store_true', default=False, help='disables CUDA training') - parser.add_argument('--epsilon', default=0.1, + parser.add_argument('--epsilon', type=float, default=0.1, help='perturbation') - parser.add_argument('--num-steps', default=10, + parser.add_argument('--num-steps', type=int, default=10, help='perturb number of steps') - parser.add_argument('--step-size', default=0.02, + parser.add_argument('--step-size', type=float, default=0.02, help='perturb step size') - parser.add_argument('--beta', default=1.0, + parser.add_argument('--beta', type=float, default=1.0, help='regularization, i.e., 1/lambda in TRADES') parser.add_argument('--seed', type=int, default=1, metavar='S', help='random seed (default: 1)') diff --git a/pgd_attack_cifar10.py b/pgd_attack_cifar10.py index e15be66..f1f01e4 100644 --- a/pgd_attack_cifar10.py +++ b/pgd_attack_cifar10.py @@ -17,13 +17,13 @@ help='input batch size for testing (default: 200)') parser.add_argument('--no-cuda', action='store_true', default=False, help='disables CUDA training') -parser.add_argument('--epsilon', default=0.031, +parser.add_argument('--epsilon', type=float, default=0.031, help='perturbation') -parser.add_argument('--num-steps', default=20, +parser.add_argument('--num-steps', type=int, default=20, help='perturb number of steps') -parser.add_argument('--step-size', default=0.003, +parser.add_argument('--step-size', type=float, default=0.003, help='perturb step size') -parser.add_argument('--random', +parser.add_argument('--random', action='store_true', default=True, help='random initialization for PGD') parser.add_argument('--model-path', @@ -35,7 +35,7 @@ parser.add_argument('--target-model-path', default='./checkpoints/model_cifar_wrn.pt', help='target model for black-box attack evaluation') -parser.add_argument('--white-box-attack', default=True, +parser.add_argument('--white-box-attack', action='store_true', default=True, help='whether perform white-box attack') args = parser.parse_args() diff --git a/pgd_attack_mnist.py b/pgd_attack_mnist.py index f3d43c1..b54f228 100644 --- a/pgd_attack_mnist.py +++ b/pgd_attack_mnist.py @@ -17,13 +17,13 @@ help='input batch size for testing (default: 200)') parser.add_argument('--no-cuda', action='store_true', default=False, help='disables CUDA training') -parser.add_argument('--epsilon', default=0.3, +parser.add_argument('--epsilon', type=float, default=0.3, help='perturbation') -parser.add_argument('--num-steps', default=40, +parser.add_argument('--num-steps', type=int, default=40, help='perturb number of steps') -parser.add_argument('--step-size', default=0.01, +parser.add_argument('--step-size', type=float, default=0.01, help='perturb step size') -parser.add_argument('--random', +parser.add_argument('--random', action='store_true', default=True, help='random initialization for PGD') parser.add_argument('--model-path', @@ -35,7 +35,7 @@ parser.add_argument('--target-model-path', default='./checkpoints/model_mnist_smallcnn.pt', help='target model for black-box attack evaluation') -parser.add_argument('--white-box-attack', default=True, +parser.add_argument('--white-box-attack', action='store_true', default=True, help='whether perform white-box attack') args = parser.parse_args() diff --git a/train_trades_cifar10.py b/train_trades_cifar10.py index fea1094..70a2133 100644 --- a/train_trades_cifar10.py +++ b/train_trades_cifar10.py @@ -27,13 +27,13 @@ help='SGD momentum') parser.add_argument('--no-cuda', action='store_true', default=False, help='disables CUDA training') -parser.add_argument('--epsilon', default=0.031, +parser.add_argument('--epsilon', type=float, default=0.031, help='perturbation') -parser.add_argument('--num-steps', default=10, +parser.add_argument('--num-steps', type=int, default=10, help='perturb number of steps') -parser.add_argument('--step-size', default=0.007, +parser.add_argument('--step-size', type=float, default=0.007, help='perturb step size') -parser.add_argument('--beta', default=6.0, +parser.add_argument('--beta', type=float, default=6.0, help='regularization, i.e., 1/lambda in TRADES') parser.add_argument('--seed', type=int, default=1, metavar='S', help='random seed (default: 1)') diff --git a/train_trades_mnist.py b/train_trades_mnist.py index 2a6364c..c876613 100644 --- a/train_trades_mnist.py +++ b/train_trades_mnist.py @@ -25,13 +25,13 @@ help='SGD momentum') parser.add_argument('--no-cuda', action='store_true', default=False, help='disables CUDA training') -parser.add_argument('--epsilon', default=0.3, +parser.add_argument('--epsilon', type=float, default=0.3, help='perturbation') -parser.add_argument('--num-steps', default=40, +parser.add_argument('--num-steps', type=int, default=40, help='perturb number of steps') -parser.add_argument('--step-size', default=0.01, +parser.add_argument('--step-size', type=float, default=0.01, help='perturb step size') -parser.add_argument('--beta', default=1.0, +parser.add_argument('--beta', type=float, default=1.0, help='regularization, i.e., 1/lambda in TRADES') parser.add_argument('--seed', type=int, default=1, metavar='S', help='random seed (default: 1)') diff --git a/train_trades_mnist_binary.py b/train_trades_mnist_binary.py index 5d68f59..7c7bd52 100644 --- a/train_trades_mnist_binary.py +++ b/train_trades_mnist_binary.py @@ -23,13 +23,13 @@ help='SGD momentum') parser.add_argument('--no-cuda', action='store_true', default=False, help='disables CUDA training') -parser.add_argument('--epsilon', default=0.1, +parser.add_argument('--epsilon', type=float, default=0.1, help='perturbation') -parser.add_argument('--num-steps', default=20, +parser.add_argument('--num-steps', type=int, default=20, help='perturb number of steps') -parser.add_argument('--step-size', default=0.01, +parser.add_argument('--step-size', type=float, default=0.01, help='perturb step size') -parser.add_argument('--beta', default=5.0, +parser.add_argument('--beta', type=float, default=5.0, help='regularization, i.e., lambda in TRADES for binary case') parser.add_argument('--weight-decay', '--wd', default=0.0, type=float, metavar='W', help='weight decay')