def __init__(self, dataset, epsilon, numClasses, numFeatures, batchSize): print("initializing client") data = utils.load_dataset(dataset, npy=True) X = data['X'] y = data['y'] (n, d) = X.shape X_train = X[range(0, n / 2), :] y_train = y[range(0, n / 2)] X_test = X[range(n / 2, n), :] y_test = y[range(n / 2, n)] self.ytest = y_test self.batchSize = batchSize self.softmax_model_obj = softmax_model_obj.SoftMaxModel( X_train, y_train, epsilon, numClasses) self.softmax_model_test = softmax_model_test.SoftMaxModelTest( X_test, y_test, X_train, y_train, numClasses, numFeatures)
models = [] for i in range(numClasses): # Try a little more IID models.append(dataPath + str(i)) # + str((i + 1) % 10) + str((i # + 2) % 10)) for attack in argv[2:]: attack_delim = attack.split("_") sybil_set_size = attack_delim[0] from_class = attack_delim[1] to_class = attack_delim[2] for i in range(int(sybil_set_size)): models.append(dataPath + "_bad_" + from_class + "_" + to_class) softmax_test = softmax_model_test.SoftMaxModelTest(dataset, numClasses, numFeatures) # Hard code poisoners in a 2_x_x attack threshholds = [0.29, 0.28, 0.27, 0.26, 0.25] # threshholds = [0.5, 0.25, 0.1, 0.01, 0.001] num_trials = 5 eval_data = np.zeros((num_trials * len(threshholds), 3)) for sim_i in range(len(threshholds)): max_similarity = threshholds[sim_i] for eval_i in range(num_trials): print("Evaluating " + str(eval_i) + "th iteration of " + str(max_similarity)) topk_prop = 0.05 weights, ratio = non_iid(max_similarity, Xtest,