()
| 34 | |
| 35 | |
| 36 | def add_args(): |
| 37 | parser = argparse.ArgumentParser(description="FedML") |
| 38 | parser.add_argument( |
| 39 | "--yaml_config_file", "--cf", help="yaml configuration file", type=str, default="", |
| 40 | ) |
| 41 | |
| 42 | # default arguments |
| 43 | parser.add_argument("--run_id", type=str, default="0") |
| 44 | parser.add_argument("--gpu_id", type=int, default=0) |
| 45 | |
| 46 | # default arguments |
| 47 | parser.add_argument("--rank", type=int, default=0) |
| 48 | |
| 49 | # default arguments |
| 50 | parser.add_argument("--local_rank", type=int, default=0) |
| 51 | |
| 52 | # For hierarchical scenario |
| 53 | parser.add_argument("--node_rank", type=int, default=0) |
| 54 | |
| 55 | # default arguments |
| 56 | parser.add_argument("--role", type=str, default="client") |
| 57 | |
| 58 | # cluster arguments |
| 59 | parser.add_argument("--worker_num", type=int, default=8) |
| 60 | parser.add_argument("--gpu_util_parse", type=str, default="localhost:2,1,1,1,1,1,1,1") |
| 61 | |
| 62 | # Model and dataset |
| 63 | parser.add_argument("--model", type=str, default="resnet18_cifar") |
| 64 | parser.add_argument("--group_norm_channels", type=int, default=32) |
| 65 | parser.add_argument("--dataset", type=str, default="fed_cifar100") |
| 66 | parser.add_argument( |
| 67 | "--data_cache_dir", type=str, default="/home/chaoyanghe/zhtang_FedML/python/fedml/data/fed_cifar100/datasets" |
| 68 | ) |
| 69 | |
| 70 | # Training arguments |
| 71 | parser.add_argument("--federated_optimizer", type=str, default="FedAvg_seq") |
| 72 | parser.add_argument("--client_num_in_total", type=int, default=500) |
| 73 | parser.add_argument("--client_num_per_round", type=int, default=10) |
| 74 | parser.add_argument("--comm_round", type=int, default=4000) |
| 75 | parser.add_argument("--epochs", type=int, default=1) |
| 76 | parser.add_argument("--client_optimizer", type=str, default="sgd") |
| 77 | parser.add_argument("--learning_rate", type=float, default=0.3) |
| 78 | parser.add_argument("--weight_decay", type=float, default=0.001) |
| 79 | parser.add_argument("--batch_size", type=int, default=20) |
| 80 | parser.add_argument("--momentum", type=float, default=0.0) |
| 81 | parser.add_argument("--server_optimizer", type=str, default="sgd") |
| 82 | parser.add_argument("--server_lr", type=float, default=1.0) |
| 83 | parser.add_argument("--server_momentum", type=float, default=0.9) |
| 84 | # args, unknown = parser.parse_known_args() |
| 85 | |
| 86 | parser.add_argument("--mimelite", type=str, default="False") |
| 87 | |
| 88 | # |
| 89 | parser.add_argument("--feddyn_alpha", type=float, default=0.01) |
| 90 | |
| 91 | parser.add_argument("--initialize_all_clients", type=str, default="False") |
| 92 | parser.add_argument("--cache_client_status", type=str, default="False") |
| 93 | parser.add_argument("--override_cmd_args", action="store_true") |
no test coverage detected