Mentions légales du service

Skip to content

Feature/474 generic optimizer

BOUILLARD Yannick requested to merge feature/474-generic-optimizer into develop

MR description

This contains Optimizer and Model abstraction joined together in a Optimizer wrapper (in generic_optimizer).

I would like some advice from assignee / reviewer

  • name of the module could be improved, making more explicit that it conveys both a model and a optimizer
  • for both NativeSklearnOptimizer and DeclearnSklearnOptimizer: i proposed 2 solutions for disabling scikit-learn internal optimizer: either a method after setting up Researcher model_args or using context manager SklearnOptimizerProcessing. What is the best solution /way of doing?
  • about removing model_args argument of the BaseSkLearnModel model or add setter and getter for accessing this object.
  • About Generic Optimizer builder: the method get_parent_class might not be the most suitable solution for building Optimizer: using if / else statement might be appropriate.
  • About notebook: should we keep 2 notebooks (one for sklearn, the other one for pytorch) or gather everything into one notebook

Developer Certificate Of Origin (DCO)

By opening this merge request, you agree the Developer Certificate of Origin (DCO)

This DCO essentially means that:

  • you offer the changes under the same license agreement as the project, and
  • you have the right to do that,
  • you did not steal somebody else’s work.


Project code files should begin with these comment lines to help trace their origin:

# This file is originally part of Fed-BioMed
# SPDX-License-Identifier: Apache-2.0

Code files can be reused from another project with a compatible non-contaminating license. They shall retain the original license and copyright mentions. The file and credit/ directory shall be completed and updated accordingly.

Guidelines for MR review


Specific to some cases:

  • update all conda envs consistently (development and vpn, Linux and MacOS)
  • if modified researcher (eg new attributes in classes) check if breakpoint needs update (breakpoint/load_breakpoint in Experiment(), save_state/load_state in aggregators, strategies, secagg, etc.)
Edited by BOUILLARD Yannick

Merge request reports