parser.add_argument('--target_l2_ratio', type=float, default=1e-8) parser.add_argument('--target_clipping_threshold', type=float, default=1) parser.add_argument('--target_privacy', type=str, default='no_privacy') parser.add_argument('--target_dp', type=str, default='dp') parser.add_argument('--target_epsilon', type=float, default=0.5) parser.add_argument('--target_delta', type=float, default=1e-5) # attack model configuration parser.add_argument('--attack_model', type=str, default='nn') parser.add_argument('--attack_learning_rate', type=float, default=0.01) parser.add_argument('--attack_batch_size', type=int, default=100) parser.add_argument('--attack_n_hidden', type=int, default=64) parser.add_argument('--attack_epochs', type=int, default=100) parser.add_argument('--attack_l2_ratio', type=float, default=1e-6) # proposed attack's noise parameters parser.add_argument('--attack_noise_type', type=str, default='gaussian') parser.add_argument('--attack_noise_coverage', type=str, default='full') parser.add_argument('--attack_noise_magnitude', type=float, default=0.01) # parse configuration args = parser.parse_args() print(vars(args)) # Flag to disable GPU if args.use_cpu: os.environ['CUDA_VISIBLE_DEVICES'] = '-1' if args.save_data: save_data(args) else: run_experiment(args)
# 从这里开始为数据添加噪声 '''这里添加用来混淆数据的代码End Coding''''' '''''''''''''''''''''''''''''''''''' if args.save_data: save_data(dataset_orignial,args,DATA_PATH = args.DATA_PATH, MODEL_PATH = args.MODEL_PATH) #所有的数据都是提前分配处理好,然后保存到本地的硬盘当中。 #后续所有的训练操作都是从本地文件中读取数据,再进行训练。 dataset = load_data(args.DATA_PATH + 'target_data.npz') print('Loading File From '+ args.DATA_PATH) print '-' * 10 + 'TRAIN TARGET' + '-' * 10 + '\n' attack_test_x, attack_test_y, test_classes = train_target_model( dataset=dataset, epochs=args.target_epochs, batch_size=args.target_batch_size, learning_rate=args.target_learning_rate,