chore: release 0.35.0rc1
Pre-release
Pre-release
Added
- Initialization task to each strategy in SubstraFL. (#89)
This allows to load the Algo
and all its attributes to the platform before any training? Once on the platform, we can perform a testing task before any training.
This init task consists in submitting an empty function, coded in the BaseAlgo
class.
@remote
def initialize(self, shared_states):
return
The init task return a local
output that will be passed as input to a test task, and to the first train task.
The graph pass from:
flowchart LR
TrainTask1_round0--Local-->TestTask1_r0
TrainTask1_round0--Shared-->TestTask1_r0
TrainTask2_round0--Shared-->AggregateTask
TrainTask2_round0--Local-->TestTask2_r0
TrainTask2_round0--Shared-->TestTask2_r0
AggregateTask--Shared-->TrainTask1_r1
TrainTask1_round0--Local-->TrainTask1_r1
AggregateTask--Shared-->TrainTask2_r1
TrainTask2_round0--Local-->TrainTask2_r1
TrainTask1_round0--Shared-->AggregateTask
TrainTask1_r1--Local-->TestTask1_r1
TrainTask1_r1--Shared-->TestTask1_r1
TrainTask2_r1--Local-->TestTask2_r1
TrainTask2_r1--Shared-->TestTask2_r1
to:
flowchart LR
InitTask1_round0--Local-->TestTask1_r0
InitTask2_round0--Local-->TestTask2_r0
InitTask1_round0--Local-->TrainTask1_r1
InitTask2_round0--Local-->TrainTask2_r1
TrainTask2_r1--Shared-->AggregateTask
TrainTask1_r1--Shared-->AggregateTask
TrainTask1_r1--Local-->TestTask1_r1
TrainTask2_r1--Local-->TestTask2_r1
TrainTask1_r1--Local-->TrainTask1_r2
TrainTask2_r1--Local-->TrainTask2_r2
AggregateTask--Shared-->TrainTask1_r2
AggregateTask--Shared-->TrainTask2_r2
TrainTask1_r2--Local-->TestTask1_r2
TrainTask2_r2--Local-->TestTask2_r2
Changed
- BREAKING:
algo
are now passed as parameter to thestrategy
and not toexecute_experiement
anymore (#98) - BREAKING A
strategy
need to implement a new methodbuild_graph
to build the graph of tasks to be execute inexecute_experiment
(#98) - BREAKING:
predict
method ofstrategy
has been renamed toperform_predict
(#98) - Test tasks don't take a
shared
as input anymore (#89) - BREAKING: change
eval_frequency
default value to None to avoid confusion with hidden default value (#91) - BREAKING: rename Algo to Function (#82)
- BREAKING: clarify
EvaluationStrategy
arguments: changerounds
toeval_frequency
andeval_rounds
(#85) - replace
schemas.xxx
bysubstra.schemas.xxx
(#105)
Fixed
- BREAKING: Given local code dependencies are now copied to the level of the running script systematically (#99)
- Docker images are pruned in main check of Github Action to free disk space while test run (#102)
- Pass
aggregation_lr
to the parent class for Scaffold. Fix issue 103 (#104)
Removed
from substra import schemas
inaggregation_node.py
,test_data_node.py
andtrain_data_node.py
(#105)