To install Intel(R) Extension for Scikit-learn*, use one of the following scenarios:
- Before You Begin
- Install via PIP
- Install from Anaconda Cloud
- Build from Sources
- Build from Sources with
conda-build
- Next Steps
NOTE: Intel(R) Extension for Scikit-learn* is also available as a part of Intel® AI Tools. If you already have it installed, you do not need to separately install the extension.
Check System and Memory Requirements.
OS / Python version | Python 3.9 | Python 3.10 | Python 3.11 | Python 3.12 |
---|---|---|---|---|
Linux | [CPU, GPU] | [CPU, GPU] | [CPU, GPU] | [CPU, GPU] |
Windows | [CPU, GPU] | [CPU, GPU] | [CPU, GPU] | [CPU, GPU] |
Applicable for:
- PyPI
- Anaconda Cloud from Conda-Forge Channel
- Anaconda Cloud from Intel Channel
To prevent version conflicts, create and activate a new environment:
-
On Linux:
python -m venv env source env/bin/activate
-
On Windows:
python -m venv env .\env\Scripts\activate
Install scikit-learn-intelex
:
pip install scikit-learn-intelex
To prevent version conflicts, we recommend to create and activate a new environment.
-
Install into a newly created environment (recommended):
conda config --add channels conda-forge conda config --set channel_priority strict conda create -n env python=3.10 scikit-learn-intelex
NOTE: If you do not specify the Python version, the latest one is downloaded.
-
Install into your current environment:
conda config --add channels conda-forge conda config --set channel_priority strict conda install scikit-learn-intelex
We recommend this installation for the users of Intel® Distribution for Python.
-
Install into a newly created environment (recommended):
conda config --add channels https://software.repos.intel.com/python/conda/ conda config --set channel_priority strict conda create -n env python=3.10 scikit-learn-intelex
NOTE: If you do not specify the Python version, the latest one is downloaded.
-
Install into your current environment:
conda config --add channels https://software.repos.intel.com/python/conda/ conda config --set channel_priority strict conda install scikit-learn-intelex
NOTE: If you do not specify the version of Python, the latest one is downloaded.
-
Install into your current environment:
conda install scikit-learn-intelex
Intel(R) Extension for Scikit-learn* is easily built from the sources with the majority of the necessary prerequisites available with conda or pip.
The package is available for Windows* OS, Linux* OS, and macOS*.
Multi-node (distributed) and streaming support can be disabled if needed.
The build-process (using setup.py) happens in 4 stages:
- Creating C++ and Cython sources from oneDAL C++ headers
- Building oneDAL Python interfaces via cmake and pybind11
- Running Cython on generated sources
- Compiling and linking them
- Python version >= 3.9, <= 3.12
- Jinja2
- Cython
- Numpy
- cmake and pybind11
- A C++ compiler with C++11 support
- Clang-Format
- Intel® oneAPI Data Analytics Library (oneDAL) version 2021.1 or later
- You can use the pre-built
dal-devel
conda package from conda-forge channel
- You can use the pre-built
- MPI (optional, needed for distributed mode)
- You can use the pre-built
impi-devel
conda package from conda-forge channel
- You can use the pre-built
- A DPC++ compiler (optional, needed for DPC++ interfaces)
SKLEARNEX_VERSION
: sets the package versionDALROOT
: sets the oneAPI Data Analytics Library pathNO_DIST
: set to '1', 'yes' or alike to build without support for distributed modeNO_STREAM
: set to '1', 'yes' or alike to build without support for streaming modeNO_DPC
: set to '1', 'yes' or alike to build without support of oneDAL DPC++ interfacesOFF_ONEDAL_IFACE
: set to '1' to build without the support of oneDAL interfaces
-
To install the package:
cd <checkout-dir> python setup.py install
-
To install the package in the development mode:
cd <checkout-dir> python setup.py develop
-
To install scikit-learn-intelex without checking for dependencies:
cd <checkout-dir> python setup.py install --single-version-externally-managed --record=record.txt
cd <checkout-dir> python setup.py develop --no-deps
-
To build the python module without installing it:
cd <checkout-dir> python setup.py build_ext --inplace --force python setup.py build
Where:
- Keys
--single-version-externally-managed
and--no-deps
are required to not download daal4py after the installation of Intel(R) Extension for Scikit-learn. - The
develop
mode does not install the package but creates a.egg-link
in the deployment directory back to the project source-code directory. That way, you can edit the source code and see the changes without reinstalling the package after a small change. --single-version-externally-managed
is an option for Python packages instructing the setup tools module to create a package the host's package manager can easily manage.
Intel(R) Extension for Scikit-learn* is easily built from the sources using only one command and conda-build
utility.
- any
conda
distribution (miniforge
is recommended) conda-build
andconda-verify
installed in a conda environment- (Windows only) Microsoft Visual Studio*
- (optional) Intel(R) oneAPI DPC++/C++ Compiler
conda-build
config requires 2022 version of Microsoft Visual Studio* by default, you can specify another version in conda-recipe/conda_build_config.yaml
if needed.
In order to enable DPC++ interfaces support on Windows, you need to set DPCPPROOT
environment variable pointing to DPC++/C++ Compiler distribution.
Conda-forge distribution of DPC++ compiler is used by default on Linux, but you still can set your own distribution via DPCPPROOT
variable.
Create and verify scikit-learn-intelex
conda package with next command executed from root of sklearnex repo:
conda build .