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模型固化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pyspark创建DataFrame的几种方法

    pyspark创建DataFrame的几种方法

    为了便于操作,使用pyspark时我们通常将数据转为DataFrame的形式来完成清洗和分析动作。那么你知道pyspark创建DataFrame有几种方法吗,下面就一起来了解一下
    2021-05-05
  • 新手学python应该下哪个版本

    新手学python应该下哪个版本

    在本篇内容中小编给大家整理的是关于新手学python应该下版本的相关知识点,需要的朋友们可以参考学习下。
    2020-06-06
  • 浅谈Python数学建模之固定费用问题

    浅谈Python数学建模之固定费用问题

    本文主要介绍了Python固定费用问题的建模与求解。学习 PuLP工具包中处理复杂问题的快捷使用方式
    2021-06-06
  • Python执行遗传编程gplearn库使用实例探究

    Python执行遗传编程gplearn库使用实例探究

    这篇文章主要为大家介绍了Python执行遗传编程gplearn库使用实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Django命名URL和反向解析URL实现解析

    Django命名URL和反向解析URL实现解析

    这篇文章主要介绍了Django命名URL和反向解析URL实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python实现图像拼接功能

    python实现图像拼接功能

    这篇文章主要为大家详细介绍了python实现图像拼接功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • matplotlib绘制雷达图的基本配置(万能模板案例)

    matplotlib绘制雷达图的基本配置(万能模板案例)

    本文主要介绍了matplotlib绘制雷达图的基本配置(万能模板案例),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Pycharm cannot set up a python SDK问题的原因及解决方法

    Pycharm cannot set up a python SDK问题的原因及解决方法

    这篇文章主要给大家介绍了关于Pycharm cannot set up a python SDK问题的原因及解决方法,这个问题已经不是第一次出现了,所以干脆总结下,需要的朋友可以参考下
    2022-06-06
  • PyTorch一小时掌握之基本操作篇

    PyTorch一小时掌握之基本操作篇

    这篇文章主要介绍了PyTorch一小时掌握之基本操作篇,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 基于Keras中Conv1D和Conv2D的区别说明

    基于Keras中Conv1D和Conv2D的区别说明

    这篇文章主要介绍了基于Keras中Conv1D和Conv2D的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论