-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[enhancement] remove sklearn_check_version dependence from onedal/svm
#1835
Conversation
/intelci: run |
/intelci: run |
@icfaust |
The onedal folder installs via setup.py, requirements for the setup.py do not include a sklearn version (as per INSTALL.md). Therefore, if the user were install onedal without having run setup_sklearnex.py, they are in for a nasty surprise. Secondly, sklearn_check_version is used only for input verification and conformance on raising errors in sklearn (in practice in Thirdly, operational maintenance of the onedal folder should be minimized (i.e. . By using sklearn_check_version, it is increasing our burden in observation and knowledge into the various onedal classes). If we want to remove sklearn entirely, we need to fix issues in (not counting testing): |
/intelci: run |
|
/intelci: run |
Co-authored-by: Alexander Andreev <alexander.andreev@intel.com>
/intelci: run |
There is a key distinction here: if daal4py depends on sklearn versions, then problems with sklearn versioning will be solved in daal4py. If we add sklearn versioning to onedal4py, we increase our maintenance burden. If you list the primitives that you mention I'd like to review, from my perspective sklearn has a stable API for what we use in onedal4py. If this becomes a problem in a future sklearn version, then this test will specifically trigger and highlight a discussion about the architecture which we should have. |
Description
Add a design rule which forces all sklearn-related interfacing to occur in its proper package, namely sklearnex. This prevents bad estimator architectures which place too much of the sklearn-related aspects in the wrong area. Ideally this test would have no exceptions going forward.
This is a subsegment of #1829 which handles just the svm algorithms so that sklearn_check_version is not in onedal/svm
This also solves the PR #1727 by removing sklearn inheritance from onedal/svm classes
This also solves issues with gpu offloading with fit_proba that had been removed errantly in #1361
This also fixes an issue where sample_weights are always generated, which may impact performance.
Tasks -