Python數(shù)據(jù)存儲之 h5py詳解
1、Python數(shù)據(jù)存儲(壓縮)
(1)numpy.save , numpy.savez , scipy.io.savemat
numpy和scipy內(nèi)建的數(shù)據(jù)存儲方式。
(2)cPickle + gzip
cPickle是pickle內(nèi)建的數(shù)據(jù)存儲方式,gzip是常用的文件壓縮模塊。
(3)h5py
h5py是對HDF5文件格式進行讀寫的python包,關(guān)于h5py更多介紹與安裝,參考官方網(wǎng)站
關(guān)于HDF5,參考官方網(wǎng)站。:
一個HDF5文件就是一個由兩種基本數(shù)據(jù)對象(groups and datasets)存放多種科學(xué)數(shù)據(jù)的容器:
HDF5 dataset: 數(shù)據(jù)元素的一個多維數(shù)組以及支持元數(shù)據(jù)(metadata); HDF5 group: 包含0個或多個HDF5對象以及支持元數(shù)據(jù)(metadata)的一個群組結(jié)構(gòu);
總之,dataset是類似于數(shù)組的數(shù)據(jù)集,而group是類似文件夾一樣的容器,存放dataset和其他group;group和dataset在h5py中的使用有點類似于詞典和Numpy中數(shù)組的用法。
h5py的優(yōu)勢:速度快、壓縮效率高,總之,numpy.savez和cPickle存儲work或不work的都可以試一試h5py!
2、h5py讀取和存儲數(shù)據(jù)示例
import h5py X= np.random.rand(100, 1000, 1000).astype('float32') y = np.random.rand(1, 1000, 1000).astype('float32') # Create a new file f = h5py.File('data.h5', 'w') f.create_dataset('X_train', data=X) f.create_dataset('y_train', data=y) f.close() # Load hdf5 dataset f = h5py.File('data.h5', 'r') X = f['X_train'] Y = f['y_train'] f.close()
詳細(xì)使用方法,參考官網(wǎng)。
以上這篇Python數(shù)據(jù)存儲之 h5py詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python函數(shù)可變參數(shù)定義及其參數(shù)傳遞方式實例詳解
這篇文章主要介紹了Python函數(shù)可變參數(shù)定義及其參數(shù)傳遞方式,以實例形式較為詳細(xì)的分析了Python函數(shù)參數(shù)的使用技巧,需要的朋友可以參考下2015-05-05python正則表達式去掉數(shù)字中的逗號(python正則匹配逗號)
在處理自然語言時123,000,000如果以標(biāo)點符號分割,就會出現(xiàn)問題,好好的一個數(shù)字就被逗號肢解了,因此可以先下手把數(shù)字處理干凈(逗號去掉)2013-12-12Python實現(xiàn)將16進制字符串轉(zhuǎn)化為ascii字符的方法分析
這篇文章主要介紹了Python實現(xiàn)將16進制字符串轉(zhuǎn)化為ascii字符的方法,結(jié)合實例形式分析了Python 16進制字符串轉(zhuǎn)換為ascii字符的實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下2017-07-07keras獲得model中某一層的某一個Tensor的輸出維度教程
今天小編就為大家分享一篇keras獲得model中某一層的某一個Tensor的輸出維度教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01