Feature/474 generic optimizer
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
generic_optimizer.pycould be improved, making more explicit that it conveys both a model and a optimizer - for both
NativeSklearnOptimizerandDeclearnSklearnOptimizer: i proposed 2 solutions for disabling scikit-learn internal optimizer: either a method after setting upResearchermodel_argsor using context managerSklearnOptimizerProcessing. What is the best solution /way of doing? - about removing
model_argsargument of theBaseSkLearnModelmodel or addsetterandgetterfor accessing this object. - About Generic Optimizer builder: the method
get_parent_classmight not be the most suitable solution for buildingOptimizer: 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.
License
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 CREDIT.md file and credit/ directory shall be completed and updated accordingly.
Guidelines for MR review
General:
- give a glance to DoD
- check coding rules and coding style
- check docstrings (eg run
tests/docstrings/check_docstrings)
Specific to some cases:
- update all conda envs consistently (
developmentandvpn, Linux and MacOS) - if modified researcher (eg new attributes in classes) check if breakpoint needs update (
breakpoint/load_breakpointinExperiment(),save_state/load_statein aggregators, strategies, secagg, etc.)