Exemple #1
0
def distributed(sites, auth_token):
    leap_fn = predef_log_reg()
    dist_leap = leap.DistributedLeap(leap_fn, "127.0.0.1:50000", auth_token)
    
    t0 = time.time()
    result = dist_leap.get_result(sites)
    t1 = time.time()
    print(result)
    print("Time:", t1-t0)
    
    runEval(np.array(result["weights"]), result["bias"])
Exemple #2
0
    def post(self, request, format=None):
        leap_predef = None
        print("Inside post")
        request = {"dp": False}
        if request["dp"]:
            leap_predef = leap_fn.PrivatePredefinedFunction(
                codes.PRIVATE_SITE_COUNT_ALGO, epsilon=1, delta=0)
        else:
            print("Gonna call leap api")
            leap_predef = leap_fn.PredefinedFunction(codes.COUNT_ALGO)
            print("Running non dp leap")
            selector = "[age] > 50 and [bmi] < 25"
            leap_predef.selector = selector
            dist_leap = leap.DistributedLeap(leap_predef)
            print(dist_leap.get_result())

        return Response(status=status.HTTP_200_OK)
Exemple #3
0
    def post(self, request, format=None):
        leap_predef = None
        body = json.loads(request.body)
        if body['dp']:
            leap_predef = leap_fn.PrivatePredefinedFunction(
                computation_msgs_pb2.AlgoCodes.PRIVATE_SITE_COUNT_ALGO,
                epsilon=1,
                delta=0)
        else:
            leap_predef = leap_fn.PredefinedFunction(
                computation_msgs_pb2.AlgoCodes.COUNT_ALGO)

        leap_predef.selector = body['selector']

        dist_leap = leap.DistributedLeap(leap_predef)
        sites = body['sites']
        result = dist_leap.get_result(sites)
        return HttpResponse(result)
Exemple #4
0
    sites = np.arange(args.num_sites)
    hyperparams = {
        "lr": 1e-4,
        "d_x": 28,  # input dimension
        "d_y": 2,  # output dimension
        "batch_size": 16,
        "max_iters": 25,
        "iters_per_epoch": 10,
        "train_ids": train_ids,
        "val_ids": val_ids,
        "num_sites": len(sites)
    }
    leap_fed_learn.hyperparams = hyperparams
    fd = open("../certs/myCA.crt", "rb")
    root_cert = fd.read()
    fd = open("../certs/cloudalgo.key", "rb")
    priv_key = fd.read()
    fd = open("../certs/cloudalgo.crt", "rb")
    cert_chain = fd.read()

    #user_reg.register_user("TestUser", "123456", "10.0.0.6:50000", True, priv_key, cert_chain, root_cert, "Coord")
    auth_res = user_reg.authenticate_user("TestUser", "123456",
                                          "10.0.0.6:50000", True, priv_key,
                                          cert_chain, root_cert, "Coord")
    leap = leap.DistributedLeap(leap_fed_learn, "10.0.0.6:50000",
                                auth_res.token, True, root_cert, priv_key,
                                cert_chain)

    result = leap.get_result(sites)
    print(result)
Exemple #5
0
import sys

sys.path.append("../")
import api.leap as leap
import api.leap_fn as leap_fn

from proto import computation_msgs_pb2

if __name__ == "__main__":
    leap_predef = leap_fn.PrivatePredefinedFunction(
        computation_msgs_pb2.AlgoCodes.PRIVATE_SITE_COUNT_ALGO,
        epsilon=1,
        delta=0)
    selector = "[age] > 50 and [bmi] < 25"
    leap_predef.selector = selector
    leap = leap.DistributedLeap(leap_predef)
    result = leap.get_result()
    print(result)
Exemple #6
0
def distributed(sites, auth_token):
    leap_fn = predef_mean_selector_sql()
    dist_leap = leap.DistributedLeap(leap_fn, "127.0.0.1:50000", auth_token)
    print(dist_leap.get_result(sites))
Exemple #7
0
def distributed():
    leap_exp_fn = predef_count_exp()
    dist_leap = leap.DistributedLeap(leap_exp_fn)
    print(dist_leap.get_result())
Exemple #8
0
def distributed(sites, auth_token, root_cert, priv_key, cert_chain):
    leap_fn = predef_count_selector()
    dist_leap = leap.DistributedLeap(leap_fn, "10.0.0.6:50000", auth_token,
                                     True, root_cert, priv_key, cert_chain)
    print(dist_leap.get_result(sites))
Exemple #9
0
    #selector = {
    #    "type": codes.DEFAULT,
    #    "useLocalData": True
    #}
    leap_fed_learn.selector = selector

    module = leap_functions.fl_fn
    leap_fed_learn.get_model = module.get_model
    leap_fed_learn.get_optimizer = module.get_optimizer
    leap_fed_learn.get_criterion = module.get_criterion
    leap_fed_learn.get_dataloader = module.get_dataloader

    hyperparams = {
        "lr": 1e-5,
        "d_x": 2,  # input dimension
        "d_y": 1,  # output dimension
        "batch_size": 1,
        "max_iters": 100,
        "iters_per_epoch": 1
    }
    leap_fed_learn.hyperparams = hyperparams

    #user_reg.register_user("TestUser", "123456", "127.0.0.1:50000")
    auth_res = user_reg.authenticate_user("TestUser", "123456",
                                          "127.0.0.1:50000")
    leap = leap.DistributedLeap(leap_fed_learn, "127.0.0.1:50000",
                                auth_res.token)
    sites = [1]
    result = leap.get_result(sites)
    print(result)
Exemple #10
0
def distributed(sites, auth_token):
    #leap_exp_fn = fed_learn_exp()
    leap_exp_fn = predef_count_exp()
    dist_leap = leap.DistributedLeap(leap_exp_fn, "127.0.0.1:50000", auth_token)
    print(dist_leap.get_result(sites))