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)

相关推荐