import waitGPU
waitGPU.wait(utilization=20, available_memory=10000, interval=10)

import problems as pblm
from trainer import *
import setproctitle

if __name__ == "__main__":
    args = pblm.argparser(prefix='mnist',
                          method='task_spec_robust',
                          opt='adam',
                          starting_epsilon=0.05,
                          epsilon=0.2,
                          thres=0.035)
    kwargs = pblm.args2kwargs(args)
    setproctitle.setproctitle('python')
    print("threshold for classification error: {:.1%}".format(args.thres))

    print('Matrix type: {0}\t\t'
          'Category: {1}\t\t'
          'Epoch number: {2}\t\t'
          'Targeted epsilon: {3}\t\t'
          'Starting epsilon: {4}\t\t'
          'Sechduled length: {5}'.format(args.type, args.category, args.epochs,
                                         args.epsilon, args.starting_epsilon,
                                         args.schedule_length),
          end='\n')
    if args.l1_proj is not None:
        print('Projection vectors: {0}\t\t'
              'Train estimation: {1}\t\t'
              'Test estimation: {2}'.format(args.l1_proj, args.l1_train,
Example #2
0
        model = pblm.mnist_model_wide(args.model_factor).cuda()
    elif m == 'deep':
        #print("Using deep model with model_factor={}".format(args.model_factor))
        #_, test_loader = pblm.mnist_loaders(64//(2**args.model_factor))
        #model = pblm.mnist_model_deep(args.model_factor).cuda()
        print('using customised deep model')
        model = pblm.mnist_model_deep_custom().cuda()
    elif m == '500':
        model = pblm.mnist_500().cuda()
    else:
        model = pblm.mnist_model().cuda()
    return model


if __name__ == "__main__":
    args = pblm.argparser(opt='adam', verbose=200, starting_epsilon=0.01)
    print("saving file to {}".format(args.prefix))
    setproctitle.setproctitle(args.prefix)
    train_log = open(args.prefix + "_train.log", "w")
    test_log = open(args.prefix + "_test.log", "w")

    train_loader, _ = pblm.mnist_loaders(args.batch_size)
    _, test_loader = pblm.mnist_loaders(args.test_batch_size)

    torch.manual_seed(args.seed)
    torch.cuda.manual_seed(args.seed)

    for X, y in train_loader:
        break
    kwargs = pblm.args2kwargs(args, X=Variable(X.cuda()))
    best_err = 1
from cifar import select_model
import problems as pblm
from trainer import *

import setproctitle
import random

if __name__ == "__main__":
    args = pblm.argparser(prefix='cifar',
                          method='task_spec_robust',
                          epsilon=0.03486,
                          l1_proj=50,
                          l1_train='median',
                          starting_epsilon=0.001,
                          opt='sgd',
                          lr=0.05,
                          thres=0.35)
    kwargs = pblm.args2kwargs(args)
    setproctitle.setproctitle('python')
    print("threshold for classification error: {:.1%}".format(args.thres))

    print('Matrix type: {0}\t\t'
          'Category: {1}\t\t'
          'Epoch number: {2}\t\t'
          'Targeted epsilon: {3}\t\t'
          'Starting epsilon: {4}\t\t'
          'Sechduled length: {5}'.format(args.type, args.category, args.epochs,
                                         args.epsilon, args.starting_epsilon,
                                         args.schedule_length),
          end='\n')
    if args.l1_proj is not None:
Example #4
0
def select_model(m):
    if m == 'large':
        # raise ValueError
        model = pblm.cifar_model_large().cuda()
    elif m == 'resnet':
        model = pblm.cifar_model_resnet(N=args.resnet_N,
                                        factor=args.resnet_factor).cuda()
    else:
        model = pblm.cifar_model().cuda()
    return model


if __name__ == "__main__":
    args = pblm.argparser(epsilon=0.0347,
                          starting_epsilon=0.001,
                          batch_size=50,
                          opt='sgd',
                          lr=0.05)

    print("saving file to {}".format(args.prefix))
    setproctitle.setproctitle(args.prefix)

    train_log = open(args.prefix + "_train.log", "w")
    test_log = open(args.prefix + "_test.log", "w")

    train_loader, test_loader = pblm.cifar_loaders(args.batch_size)

    torch.manual_seed(args.seed)
    torch.cuda.manual_seed_all(args.seed)
    random.seed(0)
    numpy.random.seed(0)
Example #5
0
import waitGPU
waitGPU.wait(utilization=20, available_memory=10000, interval=10)

import problems as pblm
from trainer import *
import setproctitle

if __name__ == "__main__":
    args = pblm.argparser(prefix='mnist',
                          opt='adam',
                          starting_epsilon=0.05,
                          epsilon=0.2,
                          thres=0.04)
    kwargs = pblm.args2kwargs(args)
    setproctitle.setproctitle('python')
    print("saving file to {}".format(args.proctitle))

    if args.method == 'overall_robust':
        print("threshold for classification error: {:.1%}".format(args.thres))
    elif args.method != 'baseline':
        raise ValueError("Unknown training method.")

    saved_filepath = ('../saved_log/' + args.proctitle)
    model_filepath = os.path.dirname('../models/' + args.proctitle)
    if not os.path.exists(saved_filepath):
        os.makedirs(saved_filepath)
    if not os.path.exists(model_filepath):
        os.makedirs(model_filepath)
    model_path = ('../models/' + args.proctitle + '.pth')

    train_log = open(saved_filepath + '/train_log.txt', "w")
Example #6
0
    elif m == 'large':
        model = pblm.cifar_model_large().cuda()
    # elif m == 'resNet':
    #     model = pblm.cifar_model_resnet().cuda()
    else:
        raise ValueError('model argument not recognized for imagenet')
    return model


if __name__ == "__main__":
    args = pblm.argparser(prefix='imagenet',
                          gan_type='biggan',
                          starting_epsilon=0.01,
                          opt='sgd',
                          lr=0.05,
                          batch_size_test=8,
                          proj=50,
                          norm_train='l2_normal',
                          norm_test='l2',
                          epsilon=0.1412,
                          seed=0)

    setproctitle.setproctitle('python')
    kwargs = pblm.args2kwargs(args)
    print("saving file to {}".format(args.proctitle))

    saved_filepath = ('./saved_log/' + args.proctitle)
    model_filepath = os.path.dirname('./models/' + args.proctitle)
    if not os.path.exists(saved_filepath):
        os.makedirs(saved_filepath)
    if not os.path.exists(model_filepath):
Example #7
0

def select_model(m):
    if m == 'large':
        # raise ValueError
        model = pblm.cifar_model_large().cuda()
    else:
        model = pblm.cifar_model().cuda()
    return model


if __name__ == "__main__":
    args = pblm.argparser(prefix='cifar',
                          epsilon=0.03486,
                          starting_epsilon=0.001,
                          l1_proj=50,
                          l1_train='median',
                          opt='sgd',
                          lr=0.05,
                          ratio=0)
    setproctitle.setproctitle('python')
    kwargs = pblm.args2kwargs(args)
    print("saving file to {}".format(args.proctitle))

    if args.method == 'overall_robust':
        print("threshold for classification error: {:.1%}".format(args.thres))
    elif args.method != 'baseline':
        raise ValueError("Unknown training method.")

    saved_filepath = ('../saved_log/' + args.proctitle)
    model_filepath = os.path.dirname('../models/' + args.proctitle)
    if not os.path.exists(saved_filepath):
Example #8
0
        print("Using deep model with model_factor={}".format(
            args.model_factor))
        _, test_loader = pblm.mnist_loaders(64 // (2**args.model_factor))
        model = pblm.mnist_model_deep(args.model_factor).cuda()
    elif m == '500':
        model = pblm.mnist_500().cuda()
    else:
        print('``` Use default MNIST model.')
        model = pblm.mnist_model().cuda()
    return model


if __name__ == "__main__":
    args = pblm.argparser(opt='adam',
                          verbose=200,
                          starting_epsilon=0.01,
                          batch_size=30,
                          epsilon=0.3)
    print("saving file to {}".format(args.prefix))
    setproctitle.setproctitle(args.prefix)
    train_log = open(args.prefix + "_train.log", "w")
    test_log = open(args.prefix + "_test.log", "w")

    train_loader, _ = pblm.mnist_loaders(args.batch_size)
    _, test_loader = pblm.mnist_loaders(args.test_batch_size)

    torch.manual_seed(args.seed)
    torch.cuda.manual_seed(args.seed)

    for X, y in train_loader:
        break
Example #9
0
import waitGPU
waitGPU.wait(utilization=40, available_memory=8000, interval=20)

import problems as pblm
from trainer import *
import setproctitle

if __name__ == "__main__":
    args = pblm.argparser(prefix='mnist',
                          gan_type='ACGAN',
                          opt='adam',
                          batch_size_test=10,
                          proj=50,
                          norm_train='l2_normal',
                          norm_test='l2',
                          epsilon=1.58,
                          seed=0)

    kwargs = pblm.args2kwargs(args)
    setproctitle.setproctitle('python')
    print("saving file to {}".format(args.proctitle))

    saved_filepath = ('./saved_log/' + args.proctitle)
    model_filepath = os.path.dirname('./models/' + args.proctitle)
    if not os.path.exists(saved_filepath):
        os.makedirs(saved_filepath)
    if not os.path.exists(model_filepath):
        os.makedirs(model_filepath)
    model_path = ('./models/' + args.proctitle)

    train_res = open(saved_filepath + '/train_res.txt', "w")