Python的joblib模型固化函數(shù)解析
joblib模型固化
joblib提供了三個(gè)與對(duì)象序列化和模型固化相關(guān)的函數(shù)hash,dump,load。
joblib.hash主要是為了提供一個(gè)numpy對(duì)象的hash方法, joblib.dump
并 joblib.load
替代了pickle,使其可以在包含大數(shù)據(jù)(尤其是大型numpy數(shù)組)的任意Python對(duì)象上高效工作。
hash
joblib.hash(obj,hash_name ='md5',coerce_mmap = False )
參數(shù):
hash_name:'md5'或'sha1'
使用哈希算法。sha1應(yīng)該更安全,但是md5更快。
- coerce_mmap:布爾值
- np.memmap和np.ndarray之間沒有區(qū)別
快速計(jì)算哈希值,以唯一標(biāo)識(shí)包含numpy數(shù)組的Python對(duì)象。主要是因?yàn)閜ython自帶的hash函數(shù)不支持numpy對(duì)象的hash值計(jì)算。
dump
joblib.dump(value, filename, compress=0, protocol=None)
value:任何Python對(duì)象,要存儲(chǔ)到磁盤的對(duì)象。
文件名:str,pathlib.Path或文件對(duì)象。
要在其中存儲(chǔ)文件的文件對(duì)象或文件路徑。與支持的文件擴(kuò)展名之一(“ .z”,“。gz”,“。bz2”,“。xz”或“ .lzma”)對(duì)應(yīng)的壓縮方法將自動(dòng)使用。
compress:int從0到9或bool或2元組,可選
數(shù)據(jù)的可選壓縮級(jí)別。0或False不壓縮。較高的值表示更多的壓縮,但同時(shí)也降低了讀寫時(shí)間。使用3值通常是一個(gè)很好的折衷方案。有關(guān)更多詳細(xì)信息,請(qǐng)參見注釋。
如果compress為True,則使用的壓縮級(jí)別為3。如果compress為2元組,則第一個(gè)元素必須對(duì)應(yīng)于受支持的壓縮器之間的字符串(例如'zlib','gzip','bz2','lzma''xz '),第二個(gè)元素必須是0到9的整數(shù),對(duì)應(yīng)于壓縮級(jí)別。
protocol:不用管了,與pickle里的protocol參數(shù)一樣
>>> # 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]))]
該函數(shù)的 compress
參數(shù) joblib.dump()
還接受與所用壓縮器名稱相對(duì)應(yīng)的字符串。使用此選項(xiàng)時(shí),壓縮器將使用默認(rèn)壓縮級(jí)別:
>>> joblib.dump(to_persist, filename + '.gz', compress='gzip') # doctest: +ELLIPSIS ['...test.joblib.gz']
load
joblib.load(filename, mmap_mode=None)
filename:str,pathlib.Path或文件對(duì)象。要從中加載對(duì)象的文件對(duì)象或文件路徑
mmap_mode:{無,'r +','r','w +','c'},可選
如果不是“None”,則從磁盤對(duì)陣列進(jìn)行內(nèi)存映射。
此模式對(duì)壓縮文件無效。請(qǐng)注意,在這種情況下,重建對(duì)象可能不再與原始腌制對(duì)象完全匹配
*mmap_mode為None時(shí)加載后的對(duì)象就是普通的python對(duì)象,否則就是磁盤上的ying映射,每次使用douy都要從磁盤讀取
到此這篇關(guān)于Python的joblib模型固化函數(shù)解析的文章就介紹到這了,更多相關(guān)joblib模型固化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python并行計(jì)算庫(kù)Joblib高效使用指北
- Python使用Joblib模塊實(shí)現(xiàn)加快任務(wù)處理速度
- python利用joblib進(jìn)行并行數(shù)據(jù)處理的代碼示例
- Python并行庫(kù)joblib之delayed函數(shù)與Parallel函數(shù)詳解
- Python中的Joblib庫(kù)使用學(xué)習(xí)總結(jié)
- Python中的joblib模塊詳解
- python如何利用joblib保存訓(xùn)練模型
- Python Joblib庫(kù)使用方法案例總結(jié)
- Python高效計(jì)算庫(kù)Joblib的入門教程
相關(guān)文章
Python使用Matplotlib繪制甘特圖的實(shí)踐
甘特圖已經(jīng)發(fā)展成項(xiàng)目規(guī)劃和跟蹤的必備工具,本文主要介紹了Python使用Matplotlib繪制甘特圖的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12python交互模式基礎(chǔ)知識(shí)點(diǎn)學(xué)習(xí)
在本篇內(nèi)容里小編給大家整理的是關(guān)于python交互模式是什么的相關(guān)基礎(chǔ)知識(shí)點(diǎn),需要的朋友們可以參考下。2020-06-06python實(shí)現(xiàn)WebP格式轉(zhuǎn)成JPG、PNG和JPEG的方法
平時(shí)在網(wǎng)上搜索圖片,另存為時(shí)常常遇到 WebP 格式,而非常見的 JPG、PNG、JPEG 格式,所以以此文記錄一下WebP的讀取和轉(zhuǎn)換方法,希望對(duì)大家有所幫助,需要的朋友可以參考下2024-06-06python去除空格和換行符的實(shí)現(xiàn)方法(推薦)
下面小編就為大家?guī)硪黄猵ython去除空格和換行符的實(shí)現(xiàn)方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01用 Django 開發(fā)一個(gè) Python Web API的方法步驟
這篇文章主要介紹了用 Django 開發(fā)一個(gè) Python Web API的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Python按天實(shí)現(xiàn)生成時(shí)間范圍序列的方法詳解
有的時(shí)候我們希望生成一段時(shí)間返回,比如從?2022-01-01?00:00:00?后面的?10?天,這么?10?個(gè)?datetime?對(duì)象,但是我們又不想自己去計(jì)算哪些月有30天哪些月有31天。所以本文將用Python實(shí)現(xiàn)按天自動(dòng)生成時(shí)間范圍序列,需要的可以參考一下2022-11-11基于Python+Matplotlib繪制漸變色扇形圖與等高線圖
這篇文章主要為大家介紹了如何利用Python中的Matplotlib繪制漸變色扇形圖與等高線圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下方法2022-04-04