跳转到主要内容

Intel(R) Extension for Scikit-learn 是加速 Scikit-learn 应用程序的一种无缝方式。

项目描述

Intel(R) Extension for Scikit-learn*

Build Status Coverity Scan Build Status Join the community on GitHub Discussions PyPI Version Conda Version

使用 Intel(R) Extension for Scikit-learn,您可以为 Scikit-learn 应用程序加速,同时保持与所有 Scikit-Learn API 和算法的完全兼容性。这是一个免费的 AI 加速器软件,在各种应用程序中带来了 10-100 倍的加速。您甚至不需要更改现有的代码!

加速度是通过使用英特尔(R) oneAPI数据分析库(oneDAL)实现的。修补scikit-learn使其成为处理现实世界问题的理想机器学习框架。

⚠️英特尔(R) Scikit-learn扩展包含原本在daal4py包中可用的scikit-learn修补功能。所有针对修补的未来更新都仅可在英特尔(R) Scikit-learn扩展中获取。我们建议您使用scikit-learn-intelex包而不是daal4py。您可以在daal4py文档中了解更多关于daal4py的信息。

👀 关注我们的Medium账号

我们在Medium上发布博客,因此关注我们,学习如何使用英特尔(R) Scikit-learn扩展更有效地进行数据分析。以下是我们最新的博客

🔗 重要链接

💬 支持

使用以下方式报告问题、提问或提供建议:

您可以通过onedal.maintainers@intel.com私下联系项目维护者。

🛠 安装

英特尔(R) Scikit-learn扩展可在Python包索引、Anaconda Cloud的Conda-Forge通道英特尔通道中找到。英特尔(R) Scikit-learn扩展也是英特尔® oneAPI AI分析工具包(AI Kit)的一部分。

  • PyPi(默认推荐)
pip install scikit-learn-intelex
  • 来自Conda-Forge通道的Anaconda Cloud(默认为conda用户推荐)
  conda config --add channels conda-forge
  conda config --set channel_priority strict
  conda install scikit-learn-intelex
  • 来自英特尔通道的Anaconda Cloud(默认为英特尔Python分发用户推荐)
  conda config --add channels intel
  conda config --set channel_priority strict
  conda install scikit-learn-intelex
[点击展开] ℹ️ 支持的配置

📦 PyPi通道

操作系统/Python版本 Python 3.8 Python 3.9 Python 3.10 Python 3.11 Python 3.12
Linux [CPU, GPU] [CPU, GPU] [CPU, GPU] [CPU, GPU] [CPU, GPU]
Windows [CPU, GPU] [CPU, GPU] [CPU, GPU] [CPU, GPU] [CPU, GPU]

📦 Anaconda Cloud:Conda-Forge通道

操作系统/Python版本 Python 3.8 Python 3.9 Python 3.10 Python 3.11 Python 3.12
Linux [CPU] [CPU] [CPU] [CPU] [CPU]
Windows [CPU] [CPU] [CPU] [CPU] [CPU]

📦 Anaconda Cloud:英特尔通道

操作系统/Python版本 Python 3.8 Python 3.9 Python 3.10 Python 3.11 Python 3.12
Linux [CPU, GPU] [CPU, GPU] [CPU, GPU] [CPU, GPU] [CPU, GPU]
Windows [CPU, GPU] [CPU, GPU] [CPU, GPU] [CPU, GPU] [CPU, GPU]

⚠️ 注意:GPU支持是可选依赖项。对于GPU支持所需的依赖项将不会下载。您需要手动安装dpcpp_cpp_rt包。

[点击展开] ℹ️ 如何安装dpcpp_cpp_rt包
  • PyPi
pip install --upgrade dpcpp_cpp_rt
  • Anaconda Cloud
conda install dpcpp_cpp_rt -c intel

您还可以从源代码构建包

⚡️ 开始使用

英特尔CPU优化修补

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)

英特尔GPU优化修补

import numpy as np
import dpctl
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)

🚀 Scikit-learn修补

配置

  • 硬件:使用2个插槽和每个插槽24个核心的英特尔Xeon Platinum 8275CL的c5.24xlarge AWS EC2实例
  • 软件:scikit-learn版本0.24.2,scikit-learn-intelex版本2021.2.3,Python 3.8

基准代码

[点击展开] ℹ️ 重复结果
  • 启用英特尔® Extension for Scikit-learn
python runner.py --configs configs/blogs/skl_conda_config.json -–report
  • 使用原始Scikit-learn
python runner.py --configs configs/blogs/skl_conda_config.json -–report --no-intel-optimized

Intel(R)扩展的Scikit-learn补丁会影响特定Scikit-learn功能的表现。请参阅支持的算法和参数列表以获取详细信息。当使用不受支持的参数时,该包将回退到原始Scikit-learn。如果补丁不适用于您的场景,请在GitHub上提交问题

⚠️ 我们支持对Scikit-learn的最后四个版本的优化。Scikit-learn-intelex-2024.0.X的最新版本支持Scikit-learn 1.0.X、1.1.X、1.2.X和1.3.X。

📜 Intel(R)扩展的Scikit-learn详细输出

要找出当前正在使用哪种算法实现(Intel(R)扩展的Scikit-learn或原始Scikit-learn),请设置环境变量

  • 在Linux上:export SKLEARNEX_VERBOSE=INFO
  • 在Windows上:set SKLEARNEX_VERBOSE=INFO

例如,对于DBSCAN,您将根据使用的实现得到以下打印语句之一

  • SKLEARNEX INFO: sklearn.cluster.DBSCAN.fit: 在CPU上运行加速版本
  • SKLEARNEX INFO: sklearn.cluster.DBSCAN.fit: 回退到原始Scikit-learn

在文档中了解更多信息.

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程

构建分发

scikit_learn_intelex-2024.7.0-py312-none-win_amd64.whl (205.3 kB 查看哈希值)

上传时间: Python 3.12 Windows x86-64

scikit_learn_intelex-2024.7.0-py312-none-manylinux1_x86_64.whl (191.5 kB 查看哈希值)

上传时间: Python 3.12

scikit_learn_intelex-2024.7.0-py311-none-win_amd64.whl (205.3 kB 查看哈希值)

上传时间: Python 3.11 Windows x86-64

scikit_learn_intelex-2024.7.0-py310-none-win_amd64.whl (205.3 kB 查看哈希值)

上传于 Python 3.10 Windows x86-64

scikit_learn_intelex-2024.7.0-py39-none-win_amd64.whl (205.3 kB 查看哈希值)

上传于 Python 3.9 Windows x86-64

由以下支持