kiudee / cs-ranking

Context-sensitive ranking and choice in Python with PyTorch
https://cs-ranking.readthedocs.io
Apache License 2.0
66 stars 15 forks source link

Require uninitialized regularizers #145

Closed timokau closed 4 years ago

timokau commented 4 years ago

See 95a0ad27f39ca5dafb014a3f2a3af099097b8232 for the motivation. In summary, initialized regularizers are mutable objects which are not allowed by the scikit-learn estimator API. Further, this allowes the l parameter of the regularizers to be included in random-grid hyperparamter search.

Description

Motivation and Context

How Has This Been Tested?

Does this close/impact existing issues?

Types of changes

Checklist:

timokau commented 4 years ago

Tests are close (?) to passing, but a lot of cleanup, self-review and documentation remains to be done.

timokau commented 4 years ago

Tests weren't as close as I had hoped, due to some nasty bug caused by the difference between the **point and **kwargs variable. I still don't quite understand why we sometimes call it point, but I shouldn't do unrelated refactorings while I do big project-wide changes. Just gets confusing :smile:

timokau commented 4 years ago

Ready for review.

codecov[bot] commented 4 years ago

Codecov Report

Merging #145 into master will increase coverage by 0.02%. The diff coverage is 85.71%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #145      +/-   ##
==========================================
+ Coverage   60.11%   60.14%   +0.02%     
==========================================
  Files         116      116              
  Lines        7668     7682      +14     
==========================================
+ Hits         4610     4620      +10     
- Misses       3058     3062       +4     
Impacted Files Coverage Δ
csrank/choicefunction/cmpnet_choice.py 84.78% <ø> (ø)
csrank/choicefunction/fate_choice.py 91.30% <ø> (ø)
csrank/choicefunction/feta_choice.py 66.00% <ø> (ø)
csrank/choicefunction/ranknet_choice.py 81.63% <ø> (ø)
csrank/discretechoice/cmpnet_discrete_choice.py 86.84% <ø> (ø)
csrank/discretechoice/fate_discrete_choice.py 94.44% <ø> (ø)
csrank/discretechoice/feta_discrete_choice.py 55.00% <ø> (ø)
csrank/discretechoice/ranknet_discrete_choice.py 84.61% <ø> (ø)
csrank/objectranking/cmp_net.py 87.17% <ø> (ø)
csrank/objectranking/fate_object_ranker.py 93.33% <ø> (ø)
... and 12 more