Skip to content

0.37.0

Compare
Choose a tag to compare
@ThibaultFy ThibaultFy released this 15 Jun 07:40
· 89 commits to main since this release
f85467d

0.37.0 - 2023-06-12

Added

  • ComputePlanBuilder base class to define which method are needed to implement a custom strategy in SubstraFL.
    These methods are build_compute_plan, load_local_states and save_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)

Changed

  • BREAKING: depreciate the usage of model_loading.download_algo_files and model_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 to build_compute_plan. (#120)

  • BREAKING: move schema.py into the strategy 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 function list_task_output_assets instead of using value that has been removed (#129)

Fixed

  • New dependencies copy method in Docker mode.(#130)