Python的joblib模型固化函数解析

 更新时间:2023年08月24日 10:28:47   作者:goodxin_ie  
这篇文章主要介绍了Python的joblib模型固化函数解析,joblib提供了三个与对象序列化和模型固化相关的函数hash,dump,load,joblib.hash主要是为了提供一个numpy对象的hash方法,需要的朋友可以参考下

joblib模型固化 

joblib提供了三个与对象序列化和模型固化相关的函数hash,dump,load。

joblib.hash主要是为了提供一个numpy对象的hash方法, joblib.dump joblib.load 替代了pickle,使其可以在包含大数据(尤其是大型numpy数组)的任意Python对象上高效工作。

hash

joblib.hash(obj,hash_name ='md5',coerce_mmap = False )

参数:    

hash_name:'md5'或'sha1'

使用哈希算法。sha1应该更安全,但是md5更快。

  • coerce_mmap:布尔值
  • np.memmap和np.ndarray之间没有区别

快速计算哈希值,以唯一标识包含numpy数组的Python对象。主要是因为python自带的hash函数不支持numpy对象的hash值计算。

dump

joblib.dump(value, filename, compress=0, protocol=None)

 value:任何Python对象,要存储到磁盘的对象。

文件名:str,pathlib.Path或文件对象。

要在其中存储文件的文件对象或文件路径。与支持的文件扩展名之一(“ .z”,“。gz”,“。bz2”,“。xz”或“ .lzma”)对应的压缩方法将自动使用。

compress:int从0到9或bool或2元组,可选

数据的可选压缩级别。0或False不压缩。较高的值表示更多的压缩,但同时也降低了读写时间。使用3值通常是一个很好的折衷方案。有关更多详细信息,请参见注释。

如果compress为True,则使用的压缩级别为3。如果compress为2元组,则第一个元素必须对应于受支持的压缩器之间的字符串(例如'zlib','gzip','bz2','lzma''xz '),第二个元素必须是0到9的整数,对应于压缩级别。

protocol:不用管了,与pickle里的protocol参数一样

>>> # Dumping in a gzip compressed file using a compress level of 3.
>>> joblib.dump(to_persist, filename + '.gz', compress=('gzip', 3))  # doctest: +ELLIPSIS
['...test.joblib.gz']
>>> joblib.load(filename + '.gz')
[('a', [1, 2, 3]), ('b', array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]))]
>>> joblib.dump(to_persist, filename + '.bz2', compress=('bz2', 3))  # doctest: +ELLIPSIS
['...test.joblib.bz2']
>>> joblib.load(filename + '.bz2')
[('a', [1, 2, 3]), ('b', array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]))]

该函数的 compress 参数 joblib.dump() 还接受与所用压缩器名称相对应的字符串。使用此选项时,压缩器将使用默认压缩级别:

>>> joblib.dump(to_persist, filename + '.gz', compress='gzip')  # doctest: +ELLIPSIS
['...test.joblib.gz']

load

joblib.load(filename, mmap_mode=None)

filename:str,pathlib.Path或文件对象。要从中加载对象的文件对象或文件路径

mmap_mode:{无,'r +','r','w +','c'},可选

如果不是“None”,则从磁盘对阵列进行内存映射。

此模式对压缩文件无效。请注意,在这种情况下,重建对象可能不再与原始腌制对象完全匹配

*mmap_mode为None时加载后的对象就是普通的python对象,否则就是磁盘上的ying映射,每次使用douy都要从磁盘读取

到此这篇关于Python的joblib模型固化函数解析的文章就介绍到这了,更多相关joblib模型固化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用Matplotlib绘制甘特图的实践

    Python使用Matplotlib绘制甘特图的实践

    甘特图已经发展成项目规划和跟踪的必备工具,本文主要介绍了Python使用Matplotlib绘制甘特图的实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • python交互模式基础知识点学习

    python交互模式基础知识点学习

    在本篇内容里小编给大家整理的是关于python交互模式是什么的相关基础知识点,需要的朋友们可以参考下。
    2020-06-06
  • 解决pycharm界面不能显示中文的问题

    解决pycharm界面不能显示中文的问题

    今天小编就为大家分享一篇解决pycharm界面不能显示中文的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Bottle框架中的装饰器类和描述符应用详解

    Bottle框架中的装饰器类和描述符应用详解

    这篇文章主要介绍了Bottle框架中的装饰器类和描述符应用详解,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Python递归实现汉诺塔算法示例

    Python递归实现汉诺塔算法示例

    这篇文章主要介绍了Python递归实现汉诺塔算法,结合实例形式分析了汉诺塔算法的原理、实现步骤与相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • python实现WebP格式转成JPG、PNG和JPEG的方法

    python实现WebP格式转成JPG、PNG和JPEG的方法

    平时在网上搜索图片,另存为时常常遇到 WebP 格式,而非常见的 JPG、PNG、JPEG 格式,所以以此文记录一下WebP的读取和转换方法,希望对大家有所帮助,需要的朋友可以参考下
    2024-06-06
  • python去除空格和换行符的实现方法(推荐)

    python去除空格和换行符的实现方法(推荐)

    下面小编就为大家带来一篇python去除空格和换行符的实现方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 用 Django 开发一个 Python Web API的方法步骤

    用 Django 开发一个 Python Web API的方法步骤

    这篇文章主要介绍了用 Django 开发一个 Python Web API的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python按天实现生成时间范围序列的方法详解

    Python按天实现生成时间范围序列的方法详解

    有的时候我们希望生成一段时间返回,比如从 2022-01-01 00:00:00 后面的 10 天,这么 10 个 datetime 对象,但是我们又不想自己去计算哪些月有30天哪些月有31天。所以本文将用Python实现按天自动生成时间范围序列,需要的可以参考一下
    2022-11-11
  • 基于Python+Matplotlib绘制渐变色扇形图与等高线图

    基于Python+Matplotlib绘制渐变色扇形图与等高线图

    这篇文章主要为大家介绍了如何利用Python中的Matplotlib绘制渐变色扇形图与等高线图,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下方法
    2022-04-04

最新评论