Python之joblib:joblib库的简介、安装、使用方法之详细攻略
Python之joblib:joblib库的简介、安装、使用方法之详细攻略
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/issues
joblib库的安装
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。负载)。
赞 (0)