Intel(R) Extension for Scikit-learn*
Extension for Scikit-learn is a free software AI accelerator designed to deliver over 10-100X acceleration to your existing scikit-learn code. The software acceleration is achieved with vector instructions, AI hardware-specific memory optimizations, threading, and optimizations.
With Extension for Scikit-learn, you can:
- Speed up training and inference by up to 100x with equivalent mathematical accuracy
- Benefit from performance improvements across different hardware configurations, including GPUs and multi-GPU configurations
- Integrate the extension into your existing Scikit-learn applications without code modifications
- Continue to use the open-source scikit-learn API
- Enable and disable the extension with a couple of lines of code or at the command line
🛠 Installation
Intel(R) Extension for Scikit-learn is available at the Python Package Index, in Conda-Forge and in Intel's conda channel. Intel(R) Extension for Scikit-learn is also available as a part of Intel® oneAPI AI Analytics Toolkit (AI Kit).
To install through pip:
pip install scikit-learn-intelex
See the documentation for more details about supported platforms and other ways of installing it.
You can build the package from sources as well.
⚡️ Get Started
Easiest way to benefit from accelerations from the extension is by patching scikit-learn with it:
- Enable CPU optimizations
import numpy as np
from sklearnex import patch_sklearn
patch_sklearn()
from sklearn.cluster import DBSCAN
X = np.array([[1., 2.], [2., 2.], [2., 3.],
[8., 7.], [8., 8.], [25., 80.]], dtype=np.float32)
clustering = DBSCAN(eps=3, min_samples=2).fit(X)
-
Enable GPU optimizations
Note: executing on GPU has additional system software requirements - see details.
import numpy as np
from sklearnex import patch_sklearn, config_context
patch_sklearn()
from sklearn.cluster import DBSCAN
X = np.array([[1., 2.], [2., 2.], [2., 3.],
[8., 7.], [8., 8.], [25., 80.]], dtype=np.float32)
with config_context(target_offload="gpu:0"):
clustering = DBSCAN(eps=3, min_samples=2).fit(X)
Usage without patching
Alternatively, all functionalities are also available under a separate module which can be imported directly, without involving any patching.
-
To run on CPU:
import numpy as np from sklearnex.cluster import DBSCAN X = np.array([[1., 2.], [2., 2.], [2., 3.], [8., 7.], [8., 8.], [25., 80.]], dtype=np.float32) clustering = DBSCAN(eps=3, min_samples=2).fit(X)
-
To run on GPU:
import numpy as np from sklearnex import config_context from sklearnex.cluster import DBSCAN X = np.array([[1., 2.], [2., 2.], [2., 3.], [8., 7.], [8., 8.], [25., 80.]], dtype=np.float32) with config_context(target_offload="gpu:0"): clustering = DBSCAN(eps=3, min_samples=2).fit(X)
🚀 Scikit-learn patching
Configurations:
- HW: c5.24xlarge AWS EC2 Instance using an Intel Xeon Platinum 8275CL with 2 sockets and 24 cores per socket
- SW: scikit-learn version 0.24.2, scikit-learn-intelex version 2021.2.3, Python 3.8
Intel(R) Extension for Scikit-learn patching affects performance of specific Scikit-learn functionality. Refer to the list of supported algorithms and parameters for details. In cases when unsupported parameters are used, the package fallbacks into original Scikit-learn. If the patching does not cover your scenarios, submit an issue on GitHub.
Read more about it in the documentation for scikit-learn patching.
👀 Follow us on Medium
We publish blogs on Medium, so follow us to learn tips and tricks for more efficient data analysis with the help of Intel(R) Extension for Scikit-learn. Here are our latest blogs:
- Save Time and Money with Intel Extension for Scikit-learn
- Superior Machine Learning Performance on the Latest Intel Xeon Scalable Processors
- Leverage Intel Optimizations in Scikit-Learn
- Intel Gives Scikit-Learn the Performance Boost Data Scientists Need
- From Hours to Minutes: 600x Faster SVM
- Improve the Performance of XGBoost and LightGBM Inference
- Accelerate Kaggle Challenges Using Intel AI Analytics Toolkit
- Accelerate Your scikit-learn Applications
- Accelerate Linear Models for Machine Learning
- Accelerate K-Means Clustering
🔗 Important links
- Notebook examples
- Documentation
- scikit-learn API and patching
- Benchmark code
- Building from Sources
- About Intel(R) oneAPI Data Analytics Library
💬 Support
Report issues, ask questions, and provide suggestions using:
You may reach out to project maintainers privately at onedal.maintainers@intel.com
Release files for scikit-learn-intelex 2026.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 25.8 MB
Release files / scikit_learn_intelex-2026.1.0-py314-none-win_amd64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py314-none-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8991bcbfd47dcbe7853fd6f3707114b818ee583814344c9db362c7326a0b0ef8
|
|
BLAKE2b-256 checksum How to use checksums |
5b20196e0c4ec335760bf1c897dd68aaef534484311331ad4f24ab8efe779ff9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|
Release files / scikit_learn_intelex-2026.1.0-py314-none-manylinux_2_28_x86_64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py314-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3.14 |
|
SHA-256 checksum How to use checksums |
34ce7f119a4801df8cff1e6d78b306d8781bfa0f81aca8068ad76f7580743783
|
|
BLAKE2b-256 checksum How to use checksums |
0b89908af9c32c9ecd0c09b22a9fa2dd7fbccefdb92016f6fd19cb56e34d92c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|
Release files / scikit_learn_intelex-2026.1.0-py313-none-win_amd64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py313-none-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
937a635a833a677dcb5650501940238f41f0e004ea47fd7d5547e42435d950a9
|
|
BLAKE2b-256 checksum How to use checksums |
b760f5f9fb8045ac97f17acd997e9d547fd17c489d706c751fb180b2251eac14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|
Release files / scikit_learn_intelex-2026.1.0-py313-none-manylinux_2_28_x86_64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py313-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3.13 |
|
SHA-256 checksum How to use checksums |
40521e4364eef373bab7a8b26d8470417c349e88621d69fbeba364088d365b7a
|
|
BLAKE2b-256 checksum How to use checksums |
a2f4bf9f7ef76f8c3b4d3571d8ed7e5f204cc38c7bed7ced9fd20de10c1d5f40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|
Release files / scikit_learn_intelex-2026.1.0-py312-none-win_amd64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py312-none-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b669d2eefc826a4414bc7a455bce0024915860368977f96e0647339a2171f766
|
|
BLAKE2b-256 checksum How to use checksums |
5d9e66b334a67ecb800f4554a45eb14643549eef28f29849840db4f9bcf093eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|
Release files / scikit_learn_intelex-2026.1.0-py312-none-manylinux_2_28_x86_64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py312-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3.12 |
|
SHA-256 checksum How to use checksums |
8e79034f54a2174b40c1efe2c67a7d849ee44e44d855b8cb3b081e2ee8fc3e83
|
|
BLAKE2b-256 checksum How to use checksums |
d2fb3eb77a476a5a6066bd4b79921cfe639cb7c990a445a50684fa8db9614521
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|
Release files / scikit_learn_intelex-2026.1.0-py311-none-win_amd64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py311-none-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cb010211abf8397630c7249b948f75f471a41e200672e9cc17e3ce1580b5d1c9
|
|
BLAKE2b-256 checksum How to use checksums |
250ddfd8b25f7cfe9ab8e42836ae3bb1a92fb7a4162da9198676aa0c36b8813d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|
Release files / scikit_learn_intelex-2026.1.0-py311-none-manylinux_2_28_x86_64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py311-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3.11 |
|
SHA-256 checksum How to use checksums |
7b4b873b94033e15f62445e00a559426b0d91209ac9dce9592fff0240ea5d6c8
|
|
BLAKE2b-256 checksum How to use checksums |
fc57f4f59604b2ac9580424dccc468dae7726bf14a24942c2447aee5460ea82d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|
Release files / scikit_learn_intelex-2026.1.0-py310-none-win_amd64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py310-none-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d1fa04aff31e56e14ff9dd11fcc5a5cbedacf8b3fd9240d9698c852e411e88f2
|
|
BLAKE2b-256 checksum How to use checksums |
54ff99ccf04c76de7185670ec98b3f5e4ee66d4ac9de018a00ed8f7fce2a7ff5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|
Release files / scikit_learn_intelex-2026.1.0-py310-none-manylinux_2_28_x86_64.whl
| Download URL | scikit_learn_intelex-2026.1.0-py310-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3.10 |
|
SHA-256 checksum How to use checksums |
a95529fe9cd37c46f733ab1aab351a64012f523224390c758eb6c603c48e12e5
|
|
BLAKE2b-256 checksum How to use checksums |
1196f4f47046d963253bc745830ccd0d86ed04a390d40bfe3e39716d9d8b2fdf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.34.2 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
|