0.35.0
This is a promotion of 0.35.0rc1
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 BaseAlgoclass.
@remote
def initialize(self, shared_states):
returnThe 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_r1to:
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_r2Changed
- BREAKING:
algoare now passed as parameter to thestrategyand not toexecute_experiementanymore (#98) - BREAKING A
strategyneed to implement a new methodbuild_graphto build the graph of tasks to be execute inexecute_experiment(#98) - BREAKING:
predictmethod ofstrategyhas been renamed toperform_predict(#98) - Test tasks don't take a
sharedas input anymore (#89) - BREAKING: change
eval_frequencydefault value to None to avoid confusion with hidden default value (#91) - BREAKING: rename Algo to Function (#82)
- BREAKING: clarify
EvaluationStrategyarguments: changeroundstoeval_frequencyandeval_rounds(#85) - replace
schemas.xxxbysubstra.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_lrto the parent class for Scaffold. Fix issue 103 (#104)
Removed
from substra import schemasinaggregation_node.py,test_data_node.pyandtrain_data_node.py(#105)