uxlfoundation/scikit-learn-intelex
uxlfoundation/scikit-learn-intelex has 1,358 GitHub stars and 198 forks. GitHot measured 0 stars in 24 hours, 0 in 7 days, and +2 in 15 days. Last checked 2026-11-15 09:29 UTC. Last push 2026-11-14.
Gemessener Sternzuwachs
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- +2
- in 1 month
- Verlauf wird gesammelt
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
Über uns
Extension for Scikit-learn is a seamless way to speed up your Scikit-learn application
Maschinelles LernenREADME.md
OriginalExtension for scikit-learn*
Speed up your scikit-learn applications for CPUs and GPUs across single- and multi-node configurations
Releases | Documentation | Examples | Support | License
Overview
Extension for scikit-learn is a free software AI accelerator designed to deliver up to 100X acceleration to existing workflows from scikit-learn (e.g. logistic regression models, random forests, support vector machines, among others), the most widely-used Python library for machine learning on tabular data.
This software acceleration is achieved through SIMD instructions, multi-threading, hardware-specific cache optimizations, and algorithmic optimizations.
Features:
- Average speed up of 8.5x on both training and inference over scikit-learn, with equivalent mathematical accuracy.
- Support for different hardware configurations, including GPUs and multi-GPU setups.
- Easy to integrate into existing scikit-learn workflows without code modifications through monkeypatching, or as an API-compatible module
sklearnex. - Can produce much faster predictions from decision-tree models generated by other libraries such as XGBoost or LightGBM.
Acceleration
Optimizations
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)
:eyes: Read about other ways to patch scikit-learn.
:eyes: Check out available notebooks for more examples.
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)
Installation
To install Extension for scikit-learn, run:
pip install scikit-learn-intelex
Package is also offered through other channels such as conda-forge. See all installation instructions in the Installation Guide.
Documentation
Extension and oneDAL
Acceleration in patched scikit-learn classes is achieved by replacing calls to scikit-learn with calls to oneDAL (oneAPI Data Analytics Library) behind the scenes:
How to Contribute
We welcome community contributions, check our Contributing Guidelines to learn more.
* The Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.