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"])
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)
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)
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)
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)
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))
def distributed(): leap_exp_fn = predef_count_exp() dist_leap = leap.DistributedLeap(leap_exp_fn) print(dist_leap.get_result())
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))
#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)
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))