大數(shù)據(jù)服務(wù)上云的思考">大數(shù)據(jù)服務(wù)上云的思考
1914
2025-03-31
Python之joblib:joblib庫(kù)的簡(jiǎn)介、安裝、使用方法之詳細(xì)攻略
目錄
joblib庫(kù)的簡(jiǎn)介
joblib庫(kù)的安裝
joblib庫(kù)的使用方法
1、輸出值的透明快速磁盤(pán)緩存
2、令人尷尬的并行助手:使它容易編寫(xiě)可讀并行代碼和調(diào)試它迅
3、快速壓縮持久化
joblib庫(kù)的簡(jiǎn)介
Joblib是一組在Python中提供輕量級(jí)管道的工具。特別是:
函數(shù)的透明磁盤(pán)緩存和延遲重新計(jì)算(記憶模式)
簡(jiǎn)單并行計(jì)算
Joblib經(jīng)過(guò)了優(yōu)化,特別是在處理大型數(shù)據(jù)時(shí)速度更快、更健壯,并且對(duì)numpy數(shù)組進(jìn)行了特定的優(yōu)化。
文檔說(shuō)明:https://joblib.readthedocs.io
-:https://pypi.python.org/pypi/joblib#downloads
源碼地址:?https://github.com/joblib/joblib
報(bào)告問(wèn)題:https://github.com/joblib/joblib/issues
joblib庫(kù)的安裝
pip install joblib
joblib庫(kù)的使用方法
1、輸出值的透明快速磁盤(pán)緩存
Python函數(shù)的類似memoize或make的功能,適用于任意Python對(duì)象,包括非常大的numpy數(shù)組。通過(guò)將操作寫(xiě)成一組具有定義良好的輸入和輸出的步驟,將持久性和流執(zhí)行邏輯與域邏輯或算法代碼分離開(kāi)來(lái):Python函數(shù)。Joblib可以節(jié)省他們的計(jì)算到磁盤(pán)和重新運(yùn)行,只有在必要時(shí):
>>> from joblib import Memory
>>> cachedir = 'your_cache_dir_goes_here'
>>> mem = Memory(cachedir)
>>> import numpy as np
>>> a = np.vander(np.arange(3)).astype(np.float)
>>> square = mem.cache(np.square)
>>> b = square(a) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # doctest: +ELLIPSIS
________________________________________________________________________________
[Memory] Calling square...
square(array([[0., 0., 1.],
[1., 1., 1.],
[4., 2., 1.]]))
___________________________________________________________square - 0...s, 0.0min
>>> c = square(a)
>>> # The above call did not trigger an evaluation
2、令人尷尬的并行助手:使它容易編寫(xiě)可讀并行代碼和調(diào)試它迅
>>> from joblib import Parallel, delayed
>>> from math import sqrt
>>> Parallel(n_jobs=1)(delayed(sqrt)(i**2) for i in range(10))
[0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
3、快速壓縮持久化
替代pickle,有效地處理包含大數(shù)據(jù)的Python對(duì)象(joblib)。轉(zhuǎn)儲(chǔ)& joblib。負(fù)載)。
Python
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。