It would be useful to allow specifying configuration files to use at runtime.
The use case I have in mind here is to help with hyperparameter tuning. I want to be able to dynamically generate configurations in a script and then send those directly via the APIRunner API, eg something like
client = FLAdminAPIRunner(
host = SERVER,
port = 8003,
poc = True,
username="admin",
admin_dir=os.environ.get('ADMIN_DIR', '/admin')
)
for i, config in enumerate(config_generator):
client.run(i, APP_NAME, config, restart_all_first=False, shutdown_at_end=False, shutdown_on_error=False)
This could also be useful even for one off experiments as it would allow the use of config management libs (eg hydra).
The closest example I could find is in the cifar example where each app folder only contains the config, I couldn't follow where the app code is actually copied over though.
I think this approach might help to define a differentiation between a run and an app. eg a run is an app + config
It would be useful to allow specifying configuration files to use at runtime.
The use case I have in mind here is to help with hyperparameter tuning. I want to be able to dynamically generate configurations in a script and then send those directly via the
APIRunnerAPI, eg something likeThis could also be useful even for one off experiments as it would allow the use of config management libs (eg hydra).
The closest example I could find is in the cifar example where each app folder only contains the config, I couldn't follow where the app code is actually copied over though.
I think this approach might help to define a differentiation between a run and an app. eg a run is an app + config