Numpy 筆記-#02 另存變數為 .npz

本文將介紹在進行一些運算最常使用到的功能之一,就是該『如何存下變數』以及『該怎麼讀取.npz檔』。其實,使用Numpy就能簡單地達成這個任務(numpy.savez),而且還附有壓縮功能的方法(numpy.savez_compressed)。

練習範例同步放置於GitHub:Learn NumPy – GitHub

不壓縮存檔

numpy.savez(“路徑檔名”, 存檔後變數名稱1=欲儲存的變數1, …)

numpy.savez的使用方法很簡單,唯一需要注意的就只有變數設定的部分。

壓縮後存檔

numpy.savez_compressed(“路徑檔名”, 存檔後變數名稱1=欲儲存的變數1, …)

這個方法可以在存成npz的過程中提供壓縮容量的效果,效果看起來是還蠻顯著的。

 

存檔後容量大小比較

以本文的範例來說,無壓縮的檔案大小大概是8.1MB,使用savez_compressed存檔的話大概是1.5MB。
Comparisons of compressed and uncompressed npz

讀取.npz

numpy.load(“路徑檔名”)

不論是使用savez或savez_compressed儲存成的.npz檔都可以使用這個方法存取裡面的變數。
P.s. 這個範例中的 .npz 檔是上面範例存起來的檔案。

Output

 

存檔執行時間

花費時間也是很重要的,以我使用過的經驗來說,真的是很有感的差別,Github的檔案中有放入執行時間的比較,有興趣的話可以連過去看看。:)

 

Reference
  1. numpy.savez – SciPy.org
  2. numpy.savez_compressed – SciPy.org

Andy Wang

站在巨人的肩膀上仍須戰戰兢兢!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

%d 位部落客按了讚: