shuffle=False, **kwargs) list_noisy_loader.append(adv_loader) from model import CW_Net as Net #from small_model import Very_Small_Net as Net print("Eval using model", Net) model = Net() print("Loading ckpt", args.ckpt) model.load_state_dict(torch.load(args.ckpt)) if args.cuda: model.cuda() model.eval() print("Args:", args) fixed_dxs = pickle.load( open(os.path.join(args.fingerprint_dir, "fp_inputs_dx.pkl"), "rb")) fixed_dys = pickle.load( open(os.path.join(args.fingerprint_dir, "fp_outputs.pkl"), "rb")) fp = Fingerprints() fp.dxs = fixed_dxs fp.dys = fixed_dys loaders = [test_loader] loaders.extend(list_adv_loader) loaders.extend(list_noisy_loader)
num_samples = np.shape(X_test)[0] num_rand_samples = 1328 random_samples = np.random.randint(0, num_samples, num_rand_samples) new_X_test = np.zeros((num_rand_samples, 1, 28, 28)) for i, sample_no in enumerate(random_samples): new_X_test[i, 0, :, :] = (X_test[sample_no, :, :, 0]) new_Y_test = Y_test[random_samples, :] f = open(os.path.join(args.log_dir, 'Random_Test_%s_.p' % (dataset)), 'w') pickle.dump({"adv_input": new_X_test, "adv_labels": new_Y_test}, f) f.close() if (args.attack == 'cw-l2' or args.attack == 'all'): #No softmax for Carlini attack pytorch_network = Net() pytorch_network.load_state_dict(torch.load(args_ckpt)) pytorch_network.eval() model = Model(torch_model=pytorch_network, softmax=False) keras_network = model.model transfer.pytorch_to_keras(pytorch_network, model.model) pytorch_network.eval() model = model.model batch_size = 16 craft_one_type(sess, model, new_X_test, new_Y_test, dataset, 'cw-l2', batch_size, log_path=args.log_dir)