Exemplo n.º 1
0
    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,