It would be helpful to be able to specify a .toml file on the command line. How do other people manage development and experiments?
I current have a script that copies the .toml file I want to pyproject.toml, runs flwr, and then copies the previous version back. But this causes confusion. Does anyone have a better solution?
You could defined a second file, let’s say name extra.toml with:
fraction-train = 1.0
local-epochs = 3
And if you run your app with flwr run . --run-config="extra.toml", that would be equivalent to doing flwr run . --run-config="fraction-train=1.0 local-epochs=3"
Please note this is a feature that’s not currently documented as we haven’t completely decided what’s the best way to make it easy to change between very different config files (with more changes than what’s realistic to set via --run-config).
So you can only override the [tool.flwr.app.config] parameters with this? This seems quite limiting. For instance, I use [tool.flwr.app.config.static] to change dataset configurations. I could come up with different ways to work with this like copying and backing up the pyproject.py or using symlinks, but these suffer from the (admittedly rare) change of race conditions if I run lots experiments. I could use file locking, but that seems complicated. Being able to specify the .toml I want to use would make it a lot easier and more straight forward.