MCPcopy
hub / github.com/FedML-AI/FedML / Arguments

Class Arguments

python/fedml/arguments.py:75–196  ·  view source on GitHub ↗

Argument class which contains all arguments from yaml config and constructs additional arguments

Source from the content-addressed store, hash-verified

73
74
75class Arguments:
76 """Argument class which contains all arguments from yaml config and constructs additional arguments"""
77
78 def __init__(self, cmd_args, training_type=None, comm_backend=None, override_cmd_args=True):
79 # set the command line arguments
80 cmd_args_dict = cmd_args.__dict__
81 for arg_key, arg_val in cmd_args_dict.items():
82 setattr(self, arg_key, arg_val)
83
84 self.get_default_yaml_config(cmd_args, training_type, comm_backend)
85 if not override_cmd_args:
86 # reload cmd args again
87 for arg_key, arg_val in cmd_args_dict.items():
88 setattr(self, arg_key, arg_val)
89 def load_yaml_config(self, yaml_path):
90 try:
91 with open(yaml_path, "r") as stream:
92 try:
93 return yaml.safe_load(stream)
94 except yaml.YAMLError as exc:
95 raise ValueError("Yaml error - check yaml file")
96 except Exception as e:
97 return None
98
99 def get_default_yaml_config(self, cmd_args, training_type=None, comm_backend=None):
100 if cmd_args.yaml_config_file == "":
101 path_current_file = path.abspath(path.dirname(__file__))
102 if (
103 training_type == FEDML_TRAINING_PLATFORM_SIMULATION
104 and comm_backend == FEDML_SIMULATION_TYPE_SP
105 ):
106 config_file = path.join(
107 path_current_file, "config/simulation_sp/fedml_config.yaml"
108 )
109 cmd_args.yaml_config_file = config_file
110 print(
111 "training_type == FEDML_TRAINING_PLATFORM_SIMULATION and comm_backend == FEDML_SIMULATION_TYPE_SP"
112 )
113 elif (
114 training_type == FEDML_TRAINING_PLATFORM_SIMULATION
115 and comm_backend == FEDML_SIMULATION_TYPE_MPI
116 ):
117 config_file = path.join(
118 path_current_file, "config/simulaton_mpi/fedml_config.yaml"
119 )
120 cmd_args.yaml_config_file = config_file
121 print(
122 "training_type == FEDML_TRAINING_PLATFORM_SIMULATION and comm_backend == FEDML_SIMULATION_TYPE_MPI"
123 )
124 elif training_type == FEDML_TRAINING_PLATFORM_CROSS_SILO:
125 print("training_type == FEDML_TRAINING_PLATFORM_CROSS_SILO")
126 elif training_type == FEDML_TRAINING_PLATFORM_CROSS_DEVICE:
127 print("training_type == FEDML_TRAINING_PLATFORM_CROSS_DEVICE")
128 elif training_type == FEDML_TRAINING_PLATFORM_CROSS_CLOUD:
129 print("training_type == FEDML_TRAINING_PLATFORM_CHEETAH")
130 elif training_type == FEDML_TRAINING_PLATFORM_SERVING:
131 print("training_type == FEDML_TRAINING_PLATFORM_SERVING")
132 else:

Callers 4

load_argumentsFunction · 0.90
load_argumentsFunction · 0.90
load_argumentsFunction · 0.90
load_argumentsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected