|
4 | 4 | from logging import DEBUG, INFO |
5 | 5 | from os.path import exists, join |
6 | 6 | from pathlib import Path |
7 | | -from typing import Any, Literal |
| 7 | +from typing import Any |
8 | 8 |
|
9 | 9 | from fl4health.checkpointing.client_module import ClientCheckpointAndStateModule |
10 | 10 | from fl4health.checkpointing.state_checkpointer import ClientStateCheckpointer |
@@ -45,7 +45,7 @@ def main( |
45 | 45 | compile: bool = True, |
46 | 46 | intermediate_client_state_dir: str | None = None, |
47 | 47 | client_name: str | None = None, |
48 | | - personalized_strategy: Literal["ditto"] | None = None, |
| 48 | + personalized_strategy: str = "ditto", |
49 | 49 | ) -> None: |
50 | 50 | with torch.autograd.set_detect_anomaly(True): |
51 | 51 | # Log device and server address |
@@ -103,7 +103,7 @@ def main( |
103 | 103 | checkpoint_and_state_module=checkpoint_and_state_module, |
104 | 104 | client_name=client_name, |
105 | 105 | ) |
106 | | - if personalized_strategy: |
| 106 | + if personalized_strategy in personalized_client_classes: |
107 | 107 | log(INFO, f"Setting up client for personalized strategy: {personalized_strategy}") |
108 | 108 | client = personalized_client_classes[personalized_strategy](**client_kwargs) |
109 | 109 | else: |
@@ -211,9 +211,9 @@ def main( |
211 | 211 | "--personalized-strategy", |
212 | 212 | type=str, |
213 | 213 | required=False, |
214 | | - default=None, |
| 214 | + default="ditto", |
215 | 215 | help="[OPTIONAL] Personalized strategy to use. For now, can only be 'ditto'. \ |
216 | | - Defaults to None, in which no personalized strategy is applied.", |
| 216 | + Defaults to 'ditto', in which no personalized strategy is applied.", |
217 | 217 | ) |
218 | 218 | parser.add_argument( |
219 | 219 | "--seed", |
|
0 commit comments