Skip to content

Releases: intel/scikit-learn-intelex

Intel® Extension for Scikit-learn 2023.2.0

24 Jul 16:24
9d1c4e9
Compare
Choose a tag to compare

The release of Intel® Extension for Scikit-learn 2023.2.0 introduces the following changes:

❌ Deprecation Notice

  • The compression functionality in the Intel® oneDAL library is deprecated. Starting with the 2024.0 release, oneDAL will not support the compression functionality
  • The DAAL CPP SYCL Interfaces in the Intel® oneDAL library are deprecated. Starting with the 2024.0 release, oneDAL will not support the DAAL CPP SYCL Interfaces
  • The Java* interfaces in the Intel® oneDAL library are marked as deprecated. The future releases of the oneDAL library may no longer include support for these Java* interfaces
  • ABI compatibility is to be broken as part of the 2024.0 release of Intel® oneDAL. The library’s major version is to be incremented to two to enforce the relinking of existing applications
  • macOS* support is deprecated for oneDAL. The 2023.x releases are the last to provide it

🛠️ Library Engineering

  • CSR tables interface has been changed and moved from detail namespace

🚨 What's New

  • Introduced new Intel® oneDAL functionality:
    • Distributed KMeans++ algorithm
    • Logistic Loss objective algorithm
  • Introduced new functionality for Intel® Extension for Scikit-learn:
    • NaN(missing values) support was added to Model Builders
  • Improved performance for the following Intel® Extension for Scikit-learn algorithms:
    • Model Builders performance has been improved up to 2x

Intel® Extension for Scikit-learn 2023.1.1

04 May 11:41
4abff0d
Compare
Choose a tag to compare

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

04 May 11:33
94744b2
Compare
Choose a tag to compare

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

04 May 11:28
6c27da3
Compare
Choose a tag to compare

The release of Intel® Extension for Scikit-learn 2023.0.1 introduces the following changes:

🚨 What's New

  • Performance improvements for tSNE algorithm 5275eba
  • Fixes for balanced classes and number of iterations in SVM 14849ee, 4872a8e, 9d0a05b
  • Fix for gamma parameter in KMeans 1dca20c

Intel® Extension for Scikit-learn 2023.0.0

02 May 17:19
Compare
Choose a tag to compare

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

01 Dec 14:40
9764b19
Compare
Choose a tag to compare

The release Intel® Extension for Scikit-learn 2021.7.1 introduces the following changes:

📚 Support Materials

🚨 What's New

  • oneAPI interface for kNN regression
  • Fix for wrong column names of pandas DataFrame in sklearn.model_selection.train_test_split patched function

Intel(R) Extension for Scikit-learn 2021.6

18 Aug 09:37
650005c
Compare
Choose a tag to compare

The release Intel® Extension for Scikit-learn 2021.6 introduces the following changes:

📚 Support Materials

Kaggle kernels:

🛠️ 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_tree function in RandomForestClassifier
    • Unexpected error for device strings in {device}:{device_index} format while using config context

Intel(R) Extension for Scikit-learn 2021.5

22 Dec 15:00
e0185a2
Compare
Choose a tag to compare

The release Intel® Extension for Scikit-learn 2021.5 introduces the following changes:

📚 Support Materials

🛠️ 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] KNN algorithm prediction
  • [GPU] SVC and SVR algorithms 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

14 Oct 09:55
356bf04
Compare
Choose a tag to compare

The release Intel(R) Extension for Scikit-learn 2021.4 introduces the following changes:

📚 Support Materials

🛠️ Library Engineering

  • Introduced new functionality for Intel® Extension for Scikit-learn*:
    • Enabled patching for all Scikit-learn applications at once:
    • 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.

🚨 New Features

  • Enabled the global patching of all Scikit-learn applications
  • Provided an integration with dpctl for heterogeneous computing (the support of dpctl.tensor.usm_ndarray for input and output)
  • Extended API with set_config and get_config methods. Added the support of target_offload and allow_fallback_to_host options for device offloading scenarios
  • Added the support of predict_proba in 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] SVR algorithm training
  • [CPU] NuSVC and NuSVR algorithms training
  • [CPU] RandomForestRegression and RandomForestClassifier algorithms training and prediction
  • [CPU] KMeans algorithm 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 Forest algorithm caused by the exclusion of constant features.
  • [CPU] Fixed an issue in NuSVC Multiclass.
  • [CPU] Fixed an issue with KMeans convergence inconsistency.
  • [CPU] Fixed incorrect work of train_test_split with 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

05 Jul 10:16
fb0972c
Compare
Choose a tag to compare

The release Intel(R) Extension for Scikit-learn 2021.3 introduces the following changes:

📚 Support Materials

🛠️ 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_sklearn for several algorithms: patch_sklearn(["SVC", "DBSCAN"])
  • [CPU] Acceleration of SVR estimator
  • [CPU] Acceleration of NuSVC and NuSVR estimators
  • [CPU] Polynomial kernel support in SVM algorithms

🚀 ​Improved performance

  • [CPU] SVM algorithms training and prediction
  • [CPU] Linear, Ridge, ElasticNet, and Lasso regressions 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 Forest algorithm
  • Fixed patch_sklearn to patch both fit and predict methods of Logistic Regression when the algorithm is given as a single parameter to patch_sklearn
  • [CPU] Reduced the memory consumption of SVM prediction
  • [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"))