joblib庫的簡介
Joblib是一組在Python中提供輕量級管道的工具。特别是:
函數的透明磁盤緩存和延遲重新計算(記憶模式)
簡單并行計算
Joblib經過了優化,特别是在處理大型資料時速度更快、更健壯,并且對numpy數組進行了特定的優化。
文檔說明:
https://joblib.readthedocs.io下載下傳位址:
https://pypi.python.org/pypi/joblib#downloads源碼位址:
https://github.com/joblib/joblib報告問題:
https://github.com/joblib/joblib/issuesjoblib庫的安裝
pip install joblib
joblib庫的使用方法
1、輸出值的透明快速磁盤緩存
Python函數的類似memoize或make的功能,适用于任意Python對象,包括非常大的numpy數組。通過将操作寫成一組具有定義良好的輸入和輸出的步驟,将持久性和流執行邏輯與域邏輯或算法代碼分離開來:Python函數。Joblib可以節省他們的計算到磁盤和重新運作,隻有在必要時:
>>> 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、令人尴尬的并行助手:使它容易編寫可讀并行代碼和調試它迅
>>> 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,有效地處理包含大資料的Python對象(joblib)。轉儲& joblib。負載)。