Kubernetes FLTK
Pre-release
Pre-release
This release introduces the following changes:
- FederatedLearning datasets other than
FashionMNIST
failed to load without raising anException
. Thereby resulting in a failed execution of experiments. This required a revision of the experiment configuration objects that were used by the learners, see also point 4.- To help detect issues like these from getting introduced undetected, a series of smoke tests were introduced that can be run locally.
- Distributed (
DistributedDataParallel
) experiments are now compatible again with KFLTK 🎉. See also #26. - Configuration files with small floating-point numbers without a decimal (such as
10e-5
) will no longer be parsed as a string byFedLearningConfig
andDistLearningConfig
objects. This was mainly an issue for themin_lr
configuration parameter, which would result in an exception being raised after 50 epochs. - The (flat) configuration objects for
DistributedDataParallel
andFederated
learning experiments have been unified partially. These objects are now renamed toFedLearningConfig
andDistLearningConfig
respectively.⚠️ Make sure to update your imports.- Moreover both classes now allow being directly parsed from a
json
file. Note that theFromYamlFile
function has been renamed to the more pythonic namefrom_yaml
- These objects now both make use of the
Definitions
Enum
classes, allowing for more readable parsing errors when providing an incorrect type.
- Moreover both classes now allow being directly parsed from a
- A typo has been resolved in the jinja templates such that the
aggregation
is now properly set. - Datasets for Federated experiments now make use of the
test_batch_size
, rather than using a default of16
. This parameter has also been introduced in the jinja template. - the
fltk.util.env
module has been renamed tofltk.util.environment
to add it to the repository. This also resolves #30 - A series of linter issues have been resolved (mostly warnings and some typos).
Issues closed
This version resolves the following issues. For more information read the changelog above.