Releases: uxlfoundation/scikit-learn-intelex
Intel® Extension for Scikit-learn 2023.1.1
The release of Intel® Extension for Scikit-learn 2023.1.1 introduces the following changes:
🚨 What's New
Intel® Extension for Scikit-learn 2023.1.0
The release of Intel® Extension for Scikit-learn 2023.1 introduces the following changes:
📚Support Materials
🛠️ Library Engineering
- Reduced the size of Intel® oneDAL library by approximately ~30%
🚨 What's New
- Introduced new functionality for Intel® Extension for Scikit-learn:
- Enabled PCA, Linear Regression, Random Forest algorithms and SPMD policy as preview
- Scikit-learn 1.2 support
- sklearn_is_patched() function added to validate status of algorithms patching
- Improved performance for the following Intel® Extension for Scikit-learn algorithms:
- t-SNE for “Burnes-Hut” algorithm
- SVM algorithm for single row inference
❗ Known Issues
- In certain conditions DAAL SYCL interface might hang with L0 backend – please use oneDAL DPC interfaces instead. If older interfaces are required OpenCL backend can be used as workaround.
Intel® Extension for Scikit-learn 2023.0.1
Intel® Extension for Scikit-learn 2023.0.0
The release of Intel® Extension for Scikit-learn 2023.0 introduces the following changes:
🚨 What's New
- Introduced new Intel® oneDAL functionality:
- DPC++ interface for Linear Regression algorithm
❗ Known Issues
- Intel® Extension for Scikit-learn SVC.fit and KNN.fit do not support GPU
- Most Intel® Extension for Scikit-learn sycl examples fail when using GPU context
- Running the Random Forest algorithm with versions 2021.7.1 and 2023.0 of scikit-learn-intelex on the 2nd Generation Intel® Xeon® Scalable Processors, formerly Cascade Lake may result in an 'Illegal instruction' error.
- No workaround is currently available for this issue.
- Recommendation: Use an older version of scikit-learn-intelex until the issue is fixed in a future release.
Intel(R) Extension for Scikit-learn 2021.7.1
The release Intel® Extension for Scikit-learn 2021.7.1 introduces the following changes:
📚 Support Materials
- [Tabular Playground Series - Sep 2022] Tuning of ElasticNet hyperparameters
- Accelerated Random Forest for Rent Prediction
🚨 What's New
- oneAPI interface for kNN regression
- Fix for wrong column names of pandas DataFrame in
sklearn.model_selection.train_test_splitpatched function
Intel(R) Extension for Scikit-learn 2021.6
The release Intel® Extension for Scikit-learn 2021.6 introduces the following changes:
📚 Support Materials
Kaggle kernels:
- Fast Feature Importance using scikit-learn-intelex
- [Tabular Playground Series - December 2021] Fast Feature Importance with sklearnex
- [Tabular Playground Series - December 2021] SVC with sklearnex 20x speedup
- [Tabular Playground Series - January 2022] Fast PyCaret with Scikit-learn-Intelex
- [Tabular Playground Series - February 2022] KNN with sklearnex 13x speedup
- Fast SVM for Sparse Data from NLP Problem
- Introduction to scikit-learn-intelex
- [Datasets] Fast Feature Importance using sklearnex
- [Tabular Playground Series - March 2022] Fast workflow using scikit-learn-intelex
🛠️ Library Engineering
- Reduced the size of oneDAL python run-time package by approximately 8%
- Added Python 3.10 support for daal4py and Intel(R) Extension for Scikit-learn packages
🚨 What's new
-
Improved performance for the following Intel® Extension for Scikit-learn algorithms:
- t-SNE for “Burnes-Hut” algorithm
-
Introduced new functionality for Intel® Extension for Scikit-learn:
- Manhattan, Minkowski, Chebyshev and Cosine distances for KNeighborsClassifier and NearestNeighbors with “brute” algorithm
-
Fixed the following issues in Intel® Extension for Scikit-learn:
- An issue with the search of common data type in pandas DataFrame
- Patching overhead of finiteness checker for specific small data sizes
- Incorrect values in a tree visualization with
plot_treefunction in RandomForestClassifier - Unexpected error for device strings in
{device}:{device_index}format while using config context
Intel(R) Extension for Scikit-learn 2021.5
The release Intel® Extension for Scikit-learn 2021.5 introduces the following changes:
📚 Support Materials
- Kaggle kernels:
- [Tabular Playground Series - Sep 2021] Ridge with sklearn-intelex 2x speedup
- [Tabular Playground Series - Oct 2021] Fast AutoML with Intel Extension for Scikit-learn
- [Titanic – Machine Learning from Disaster] AutoML with Intel Extension for Sklearn
- [Tabular Playground Series - Nov 2021] AutoML with Intel® Extension
- [Tabular Playground Series - Nov 2021] Log Regression with sklearnex 17x speedup
- [Tabular Playground Series - Dec 2021] SVC with sklearnex 20x speedup
- [Tabular Playground Series - Dec 2021] Fast Feature Importance with sklearnex
- Added demo samples of the Intel® Extension for Scikit-learn usage with the performance comparison to original Scikit-learn for ElasticNet, K-means, Lasso Regression, Linear regression, and Ridge Regression
- Added demo samples of the Modin usage
🛠️ Library Engineering
- Reduced the size of oneDAL library by approximately ~15%, this is a required dependency of Intel® extension for scikit learn.
🚨 New Features
- Scikit-learn 1.0 support
🚀 Improved performance
- [GPU]
KNNalgorithm prediction - [GPU]
SVCandSVRalgorithms training
🐛 Bug Fixes
- Stabilized the results of Linear Regression in oneDAL and Intel® Extension for Scikit-learn
- Fixed an issue with RPATH on MacOS
Intel(R) Extension for Scikit-learn 2021.4
The release Intel(R) Extension for Scikit-learn 2021.4 introduces the following changes:
📚 Support Materials
- Medium blogs:
- Anaconda blogs:
- Oracle blogs:
- Kaggle kernels:
- [Tabular Playground Series - Jun 2021] Fast LogReg with scikit-learn-intelex
- [Tabular Playground Series - Jun 2021] AutoGluon with sklearnex
- [Tabular Playground Series - Jul 2021] Fast RandomForest with sklearnex
- [Tabular Playground Series - Jul 2021] RF with Intel Extension for Scikit-learn
- [Tabular Playground Series - Jul 2021] Stacking with scikit-learn-intelex
- [Tabular Playground Series - Aug 2021] NuSVR with Intel Extension for Sklearn
- [Predict Future Sales] Stacking with scikit-learn-intelex
- [House Prices - Advanced Regression Techniques] NuSVR sklearn-intelex 4x speedup
- Added demo samples comparing the usage of Intel® Extension for Scikit-learn and the original Scikit-learn for KNN, Logistic Regression, SVM and Random Forest algorithms
🛠️ Library Engineering
- Introduced new functionality for Intel® Extension for Scikit-learn*:
- Enabled patching for all Scikit-learn applications at once:
- You can enable global patching via command line:
python -m sklearnex.glob patch_sklearn
- Or via code:
- from sklearnex import patch_sklearn
patch_sklearn(global_patch=True)
- from sklearnex import patch_sklearn
- Read more in Intel® Extension for Scikit-learn documentation.
- You can enable global patching via command line:
- Added the support of Python 3.9 for both Intel® Extension for Scikit-learn and daal4py. The packages are available from PyPI and the Intel Channel on Anaconda Cloud.
- Enabled patching for all Scikit-learn applications at once:
🚨 New Features
- Enabled the global patching of all Scikit-learn applications
- Provided an integration with
dpctlfor heterogeneous computing (the support ofdpctl.tensor.usm_ndarrayfor input and output) - Extended API with
set_configandget_configmethods. Added the support oftarget_offloadandallow_fallback_to_hostoptions for device offloading scenarios - Added the support of
predict_probain RandomForestClassifier estimator - [CPU] Added the support of Sigmoid kernel in SVM algorithms
- [GPU] Added binary SVC support with Linear and RBF kernels
🚀 Improved performance
- [CPU]
SVRalgorithm training - [CPU]
NuSVCandNuSVRalgorithms training - [CPU]
RandomForestRegressionandRandomForestClassifieralgorithms training and prediction - [CPU]
KMeansalgorithm training
🐛 Bug Fixes
- Fixed an incorrectly raised exception during the patching of Random Forest algorithm when the number of trees was more than 7000.
- [CPU] Fixed an accuracy issue in
Random Forestalgorithm caused by the exclusion of constant features. - [CPU] Fixed an issue in
NuSVCMulticlass. - [CPU] Fixed an issue with
KMeansconvergence inconsistency. - [CPU] Fixed incorrect work of
train_test_splitwith specific subset sizes. - [GPU] Fixed incorrect bias calculation in
SVM.
❗ Known Issues
- [GPU] For most algorithms, performance degradations were observed when the 2021.4 version of Intel® oneAPI DPC++ Compiler was used.
- [GPU] Examples are failing when run with Visual Studio Solutions on hardware that does not support double precision floating-point operations.
Intel(R) Extension for Scikit-learn 2021.3
The release Intel(R) Extension for Scikit-learn 2021.3 introduces the following changes:
📚 Support Materials
- Medium blogs:
- Kaggle kernels:
- [Tabular Playground Series - Apr 2021] RF with Intel Extension for Scikit-learn
- [Tabular Playground Series - Apr 2021] SVM with Intel Extension for Scikit-learn
- [Tabular Playground Series - Apr 2021] SVM with Intel(R) Extension for Scikit-learn
- [Tabular Playground Series - Jun 2021] AutoGluon with Intel(R) Extension for Scikit-learn
- [Tabular Playground Series - Jun 2021] Fast LogReg with Intel(R) Extension for Scikit-learn
- [Tabular Playground Series - Jun 2021] Fast ML stack with Intel(R) Extension for Scikit-learn
- [Tabular Playground Series - Jun 2021] Fast Stacking with Intel(R) Extension for Scikit-learn
- Samples that illustrate the usage of Intel Extension for Scikit-learn
🛠️ Library Engineering
- Introduced optional dependencies on DPC++ runtime to Intel Extension for Scikit-learn and daal4py. To enable DPC++ backend, install dpcpp_cpp_rt package. It reduces the default package size with all dependencies from 1.2GB to 400 MB.
🚨 New Features
- Introduced the support of scikit-learn 1.0 version in Intel(R) Extension for Scikit-learn. The 2021.3 release of Intel(R) Extension for Scikit-learn supports the latest scikit-learn releases: 0.22.X, 0.23.X, 0.24.X and 1.0.X.
- The support of
patch_sklearnfor several algorithms: patch_sklearn(["SVC", "DBSCAN"]) - [CPU] Acceleration of
SVRestimator - [CPU] Acceleration of
NuSVCandNuSVRestimators - [CPU]
Polynomial kernelsupport in SVM algorithms
🚀 Improved performance
- [CPU]
SVMalgorithms training and prediction - [CPU]
Linear,Ridge,ElasticNet, andLassoregressions prediction
🐛 Bug Fixes
- Fixed binary incompatibility for the versions of numpy earlier than 1.19.4
- Fixed an issue with a very large number of trees (> 7000) for
Random Forestalgorithm - Fixed
patch_sklearnto patch both fit and predict methods ofLogistic Regressionwhen the algorithm is given as a single parameter topatch_sklearn - [CPU] Reduced the memory consumption of
SVMprediction - [GPU] Fixed an issue with kernel compilation on the platforms without hardware FP64 support
❗ Known Issues
- Intel(R) Extension for Scikit-learn package installed from PyPI repository can’t be found on Debian systems (including Google Collab). Mitigation: add “site-packages” folder into Python packages searching before importing the packages:
import sys
import os
import site
sys.path.append(os.path.join(os.path.dirname(site.getsitepackages()[0]), "site-packages")) Intel(R) Extension for Scikit-learn 2021.2.3
🚨 New Features
- Added support of patching scikit-learn version 1.0. scikit-learn version 0.21. * is no longer supported