numpy的文件存儲.npy .npz 文件詳解


Numpy能夠讀寫磁盤上的文本數據或二進制數據。

將數組以二進制格式保存到磁盤

np.load和np.save是讀寫磁盤數組數據的兩個主要函數,默認情況下,數組是以未壓縮的原始二進制格式保存在擴展名為.npy的文件中。

import numpy as np
a=np.arange(5)
np.save('test.npy',a)

 

這樣在程序所在的文件夾就生成了一個test.npy文件

將test.npy文件中的文件讀出來

import numpy as np
a=np.load('test.npy')
print(a)

 

注:保存為Numpy專用的二進制格式后,就不能用notepad++等打開看了(亂碼)。因此這種方式建議在不需要看保存文件內容的情況下使用。

np.savez

如果你想將多個數組保存到一個文件中的話,可以使用numpy.savez函數。savez函數的第一個參數是文件名,其后的參數都是需要保存的數組,也可以使用關鍵字參數為數組起一個名字,非關鍵字參數傳遞的數組會自動起名為arr_0, arr_1, …。

savez函數輸出的是一個壓縮文件(擴展名為npz),其中每個文件都是一個save函數保存的npy文件,文件名對應於數組名。load函數自動識別npz文件,並且返回一個類似於字典的對象,可以通過數組名作為關鍵字獲取數組的內容:

import numpy as np
a=np.arange(3)
b=np.arange(4)
c=np.arange(5)
np.savez('array_save.npz',a,b,c_array=c)

 

這樣程序所在文件夾就生成了一個array_save.npz文件

把npz文件中的數據讀出來

import numpy as np
A=np.load('array_save.npz')
print(A['arr_0'])
print(A['arr_1'])
print(A['c_array'])

 

train_Resnet50 = extract_Resnet50(paths_to_tensor(train_files)) ###x, 1, 1, 2048
valid_Resnet50 = extract_Resnet50(paths_to_tensor(valid_files)) ###x, 1, 1, 2048

test_Resnet50  = extract_Resnet50(paths_to_tensor(test_files))  ###x, 1, 1, 2048

np.savez('bottleneck_features/DogResnet50Data.npz',train=train_Resnet50,valid=valid_Resnet50,test=test_Resnet50)

 

bottleneck_features = np.load('bottleneck_features/DogResnet50Data.npz')
train_Resnet502 = bottleneck_features['train']
valid_Resnet502 = bottleneck_features['valid']
test_Resnet502 = bottleneck_features['test']

以上這篇numpy的文件存儲.npy .npz 文件詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM