Python的joblib模型固化函數(shù)解析
joblib模型固化
joblib提供了三個與對象序列化和模型固化相關(guān)的函數(shù)hash,dump,load。
joblib.hash主要是為了提供一個numpy對象的hash方法, joblib.dump
并 joblib.load
替代了pickle,使其可以在包含大數(shù)據(jù)(尤其是大型numpy數(shù)組)的任意Python對象上高效工作。
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ū)別
快速計算哈希值,以唯一標(biāo)識包含numpy數(shù)組的Python對象。主要是因為python自帶的hash函數(shù)不支持numpy對象的hash值計算。
dump
joblib.dump(value, filename, compress=0, protocol=None)
value:任何Python對象,要存儲到磁盤的對象。
文件名:str,pathlib.Path或文件對象。
要在其中存儲文件的文件對象或文件路徑。與支持的文件擴(kuò)展名之一(“ .z”,“。gz”,“。bz2”,“。xz”或“ .lzma”)對應(yīng)的壓縮方法將自動使用。
compress:int從0到9或bool或2元組,可選
數(shù)據(jù)的可選壓縮級別。0或False不壓縮。較高的值表示更多的壓縮,但同時也降低了讀寫時間。使用3值通常是一個很好的折衷方案。有關(guān)更多詳細(xì)信息,請參見注釋。
如果compress為True,則使用的壓縮級別為3。如果compress為2元組,則第一個元素必須對應(yīng)于受支持的壓縮器之間的字符串(例如'zlib','gzip','bz2','lzma''xz '),第二個元素必須是0到9的整數(shù),對應(yīng)于壓縮級別。
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()
還接受與所用壓縮器名稱相對應(yīng)的字符串。使用此選項時,壓縮器將使用默認(rèn)壓縮級別:
>>> 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”,則從磁盤對陣列進(jìn)行內(nèi)存映射。
此模式對壓縮文件無效。請注意,在這種情況下,重建對象可能不再與原始腌制對象完全匹配
*mmap_mode為None時加載后的對象就是普通的python對象,否則就是磁盤上的ying映射,每次使用douy都要從磁盤讀取
到此這篇關(guān)于Python的joblib模型固化函數(shù)解析的文章就介紹到這了,更多相關(guān)joblib模型固化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python交互模式基礎(chǔ)知識點學(xué)習(xí)
在本篇內(nèi)容里小編給大家整理的是關(guān)于python交互模式是什么的相關(guān)基礎(chǔ)知識點,需要的朋友們可以參考下。2020-06-06python實現(xiàn)WebP格式轉(zhuǎn)成JPG、PNG和JPEG的方法
平時在網(wǎng)上搜索圖片,另存為時常常遇到 WebP 格式,而非常見的 JPG、PNG、JPEG 格式,所以以此文記錄一下WebP的讀取和轉(zhuǎn)換方法,希望對大家有所幫助,需要的朋友可以參考下2024-06-06用 Django 開發(fā)一個 Python Web API的方法步驟
這篇文章主要介紹了用 Django 開發(fā)一個 Python Web API的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12基于Python+Matplotlib繪制漸變色扇形圖與等高線圖
這篇文章主要為大家介紹了如何利用Python中的Matplotlib繪制漸變色扇形圖與等高線圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下方法2022-04-04