自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一行代碼加速sklearn運算上千倍

人工智能 機器學習
今天我要給大家介紹的知識,可以幫助我們在不改變原有代碼的基礎上,獲得數(shù)十倍甚至上千倍的scikit-learn運算效率提升,let's go!

1 簡介

大家好我是費老師,scikit-learn作為經典的機器學習框架,從誕生至今已發(fā)展了十余年,但其運算速度一直廣受用戶的詬病。熟悉scikit-learn的朋友應該清楚,scikit-learn中自帶的一些基于joblib等庫的運算加速功能效果有限,并不能很充分地利用算力。

而今天我要給大家介紹的知識,可以幫助我們在不改變原有代碼的基礎上,獲得數(shù)十倍甚至上千倍的scikit-learn運算效率提升,let's go!

2 利用sklearnex加速scikit-learn

為了達到加速運算的效果,我們只需要額外安裝sklearnex這個拓展庫,就可以幫助我們在擁有intel處理器的設備上,獲得大幅度的運算效率提升。

抱著謹慎嘗鮮的態(tài)度,我們可以在單獨的conda虛擬環(huán)境中做實驗,全部命令如下,我們順便安裝jupyterlab作為IDE:

conda create -n scikit-learn-intelex-demo python=3.8 -c https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main -y
conda activate scikit-learn-intelex-demo
pip install scikit-learn scikit-learn-intelex jupyterlab -i https://pypi.douban.com/simple/

完成實驗環(huán)境的準備后,我們在jupyter lab中編寫測試用代碼來看看加速效果如何,使用方式很簡單,我們只需要在代碼中導入scikit-learn相關功能模塊之前,運行下列代碼即可:

from sklearnex import patch_sklearn, unpatch_sklearn
patch_sklearn()

成功開啟加速模式后會打印以下信息:

其他要做的僅僅是將你原本的scikit-learn代碼在后面繼續(xù)執(zhí)行即可,我在自己平時寫作以及開發(fā)開源項目的老款拯救者筆記本上簡單測試了一下。

以線性回歸為例,在百萬級別樣本量以及上百個特征的示例數(shù)據集上,開啟加速后僅耗時0.21秒就完成對訓練集的訓練,而使用unpatch_sklearn()強制關閉加速模式后(注意scikit-learn相關模塊需要重新導入),訓練耗時隨即上升到11.28秒,意味著通過sklearnex我們獲得了50多倍的運算速度提升!

而按照官方的說法,越強勁的CPU可以獲得的性能提升比例也會更高,下圖是官方在Intel Xeon Platinum 8275CL處理器下測試了一系列算法后得出的性能提升結果,不僅可以提升訓練速度,還可以提升模型推理預測速度,在某些場景下甚至達到數(shù)千倍的性能提升:

官方也提供了一些ipynb示例(https://github.com/intel/scikit-learn-intelex/tree/master/examples/notebooks),展示了包含K-means、DBSCAN、隨機森林、邏輯回歸、嶺回歸等多種常用算法示例,感興趣的讀者朋友們可以自行下載學習。

責任編輯:龐桂玉 來源: 小詹學Python
相關推薦

2019-12-25 14:08:50

Pandas數(shù)據計算

2019-05-10 14:50:09

Java代碼技巧

2022-10-27 16:03:57

2016-12-02 08:53:18

Python一行代碼

2023-12-06 13:36:00

模型數(shù)據

2011-02-24 17:54:10

IBMwatson

2019-03-04 15:53:02

SQL存儲系統(tǒng)

2017-04-05 11:10:23

Javascript代碼前端

2014-02-12 13:43:50

代碼并行任務

2022-04-09 09:11:33

Python

2012-08-22 10:10:18

中國國際通信大會華為IEEE

2022-06-15 11:27:15

開源代碼項目

2025-03-20 09:46:06

OpenAI模型AI

2021-08-31 09:49:37

CPU執(zhí)行語言

2017-04-13 19:20:18

Python代碼并行任務

2018-09-19 15:46:51

編程語言Python編譯器

2023-08-14 07:42:01

模型訓練

2023-03-16 16:18:09

PyTorch程序人工智能

2022-12-05 10:01:41

代碼模型

2021-11-02 16:25:41

Python代碼技巧
點贊
收藏

51CTO技術棧公眾號