CLIENT_SCRIPT += r”’ def main(): p = argparse.ArgumentParser() p.add_argument(“–num_sites”, type=int, default=3) p.add_argument(“–alpha”, type=float, default=0.3) p.add_argument(“–local_epochs”, type=int, default=1) p.add_argument(“–mu”, type=float, default=0.0) p.add_argument(“–max_samples”, type=int, default=4000) p.add_argument(“–batch_size”, type=int, default=64) p.add_argument(“–lr”, type=float, default=0.01) p.add_argument(“–data_root”, type=str, default=”/tmp/nvflare/data”) p.add_argument(“–results_dir”, type=str, default=”/tmp/nvflare/results”) p.add_argument(“–tag”, type=str, default=”fedavg”) args = p.parse_args() device = “cuda” if torch.cuda.is_available() else “cpu” tf = T.Compose([T.ToTensor(), T.Normalize((0.5, 0.5, 0.5), (0.5, … Read more