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.py
could be improved, making more explicit that it conveys both a model and a optimizer - for both
NativeSklearnOptimizer
andDeclearnSklearnOptimizer
: i proposed 2 solutions for disabling scikit-learn internal optimizer: either a method after setting upResearcher
model_args
or using context managerSklearnOptimizerProcessing
. What is the best solution /way of doing? - about removing
model_args
argument of theBaseSkLearnModel
model or addsetter
andgetter
for accessing this object. - About Generic Optimizer builder: the method
get_parent_class
might 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 (
development
andvpn
, Linux and MacOS) - if modified researcher (eg new attributes in classes) check if breakpoint needs update (
breakpoint
/load_breakpoint
inExperiment()
,save_state
/load_state
in aggregators, strategies, secagg, etc.)