Skip to content

0.37.0rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@ThibaultFy ThibaultFy released this 13 Jun 15:16

0.37.0rc1 - 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)
  • Check on the Python version used before generating the Dockerfile ([#123])(#123)).

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)

  • 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)