def main(args): model_class = get_model(args[1]) dataset = dataset_by_name(args[2]) params = get_params(args[1], dataset.name) tf.logging.debug('Creating attack ops') attack = CWAttackOp(model_class, params, dataset.shape, dataset.num_classes, kappa=cfg.kappa, rand_start_std=cfg.rand_start_std) ckpt_dir = get_dir(cfg.ckpt_dir, dataset.name, attack.model.name) saver = tf.train.Saver(var_list=tf.global_variables(scope=attack.model.scope)) tf.logging.debug('Starting session') with tf.Session() as sess: try: save_path = tf.train.latest_checkpoint(ckpt_dir) saver.restore(sess, save_path) create_adv(sess, dataset, attack) except KeyboardInterrupt: print("Manual interrupt occured")
def main(args): model_name = args[1] model_class = get_model(model_name) source_name = args[2] dataset = dataset_by_name(args[3]) if len(args) < 5: attacks = ['carlini_wagner', 'boundary_attack', 'deepfool', 'universal_perturbation'] else: attacks = args[4].split(',') params = get_params(model_name, dataset.name) tf.logging.debug('Creating model graph') model = model_class(trainable=False, num_classes=dataset.num_classes, shape=dataset.shape, **params) ckpt_dir = get_dir(cfg.ckpt_dir, dataset.name, model.name) saver = tf.train.Saver(var_list=tf.global_variables(scope=model.scope)) if cfg.stop_before_session: exit() tf.logging.debug('Starting session') with tf.Session() as sess: try: save_path = tf.train.latest_checkpoint(ckpt_dir) saver.restore(sess, save_path) for attack in attacks: measure_attack(attack, dataset.name, model, sess, source_name) except KeyboardInterrupt: print("Manual interrupt occurred")
def main(args): model_class = get_model(args[1]) dataset = dataset_by_name(args[2]) params = get_params(args[1], dataset.name) tf.logging.debug('Building model') model = model_class(trainable=False, num_classes=dataset.num_classes, shape=dataset.shape, **params) tf.logging.debug('Creating attack ops') fgsm = FGSM(model, fgsm_eps) ckpt_dir = get_dir(cfg.ckpt_dir, dataset.name, model.name) saver = tf.train.Saver(var_list=tf.global_variables(scope=model.scope)) tf.logging.debug('Starting session') with tf.Session() as sess: try: save_path = tf.train.latest_checkpoint(ckpt_dir) saver.restore(sess, save_path) create_adv(sess, dataset, fgsm) except KeyboardInterrupt: print("Manual interrupt occurred")
def main(args): model_class = get_model(args[1]) dataset = dataset_by_name(args[2]) params = get_params(args[1], dataset.name) load_config(dataset.name, optional=True) with tf.variable_scope('data'): tf.logging.debug('Load data') train_data = to_tf_dataset(dataset, is_train=True, batch_size=cfg.batch_size, aug_strength=cfg.data_aug, aug_prob=cfg.aug_prob, aug_flip=cfg.aug_flip) test_data = to_tf_dataset(dataset, is_train=False, batch_size=cfg.batch_size) iterator = tf.data.Iterator.from_structure(train_data.output_types, train_data.output_shapes) img, label = iterator.get_next() tf.logging.debug('Creating iterator initializer') train_init = iterator.make_initializer(train_data) test_init = iterator.make_initializer(test_data) tf.train.create_global_step() create_epoch() tf.logging.debug('Creating model graph') model = model_class(img=img, label=label, num_classes=dataset.num_classes, **params) ckpt_dir = get_dir(cfg.ckpt_dir, dataset.name, model.name) log_dir = get_dir(cfg.log_dir, dataset.name, model.name) if cfg.stop_before_session: exit() tf.logging.debug('Starting session') with tf.Session() as sess: try: train_with_test(sess, model, train_init, test_init, ckpt_dir, log_dir) except KeyboardInterrupt: print("Manual interrupt occured")
def main(args): model_class = get_model(args[1]) dataset = dataset_by_name(args[2]) params = get_params(args[1], dataset.name) tf.logging.debug('Creating attack ops') deepfool = DeepfoolOp(model_class, dataset=dataset, params=params) ckpt_dir = get_dir(cfg.ckpt_dir, dataset.name, deepfool.model.name) saver = tf.train.Saver(var_list=tf.global_variables( scope=deepfool.model.scope)) tf.logging.debug('Starting session') with tf.Session() as sess: try: sess.graph.finalize() save_path = tf.train.latest_checkpoint(ckpt_dir) saver.restore(sess, save_path) create_adv(sess, dataset, deepfool) except KeyboardInterrupt: print("Manual interrupt occured")