0.37.0rc1
Pre-release0.37.0rc1 - 2023-06-12
Added
- ComputePlanBuilder base class to define which method are needed to implement a custom strategy in SubstraFL.
These methods arebuild_compute_plan
,load_local_states
andsave_local_states
. #120 - Check and test on string used as metric name in test data nodes (#122).
- Add default exclusion patterns when copying file to avoid creating large Docker images (#118)
- Add the possibility to force the Dependency editable_mode through the environment variable SUBSTRA_FORCE_EDITABLE_MODE (#131)
- Check on the Python version used before generating the Dockerfile ([#123])(#123)).
Changed
-
BREAKING: depreciate the usage of
model_loading.download_algo_files
andmodel_loading.load_algo
functions. New utils functions are now available. (#125)
model_loading.download_algo_state
to download a SubstraFL algo of a given round or rank.
model_loading.download_shared_state
to download a SubstraFL shared object of a given round or rank.
model_loading.download_aggregated_state
to download a SubstraFL aggregated of a given round or rank.
The API change goes from:algo_files_folder = str(pathlib.Path.cwd() / "tmp" / "algo_files") download_algo_files( client=client_to_download_from, compute_plan_key=compute_plan.key, round_idx=round_idx, dest_folder=algo_files_folder, ) model = load_algo(input_folder=algo_files_folder).model
to
algo = download_algo_state( client=client_to_download_from , compute_plan_key=compute_plan.key, round_idx=round_idx, ) model = algo.model
-
BREAKING: rename
build_graph
tobuild_compute_plan
. (#120) -
BREAKING: move
schema.py
into thestrategy
module. (#120)from substrafl.schemas import FedAvgSharedState # Become from substrafl.strategies.schemas import FedAvgSharedState
-
Way to copy function files (#118)
-
download_train_task_models_by_rank
uses new functionlist_task_output_assets
instead of usingvalue
that has been removed (#129) -
Python dependencies are resolved using pip compile during function registration ([#123])(#123)).
-
BREAKING: local_dependencies is renamed local_installable_dependencies([#123])(#123)).
-
BREAKING: local_installable_dependencies are now limited to local modules or Python wheels (no support for bdist, sdist...)([#123])(#123)).
Fixed
- New dependencies copy method in Docker mode.(#130)