# -*- coding:utf-8 -*-
import h5py
import numpy as np
file = h5py.File('myunlim_dataset.hdf5','a')
dt_unlimt = file.create_dataset('data',[10,224,224,3],maxshape=[None,224,224,3],chunks=True,
compression='gzip',compression_opts=7) # 創建一個數據集對象,先把各項參數設置好,后續就不能改了,后面直接通過索引寫入數據,數據會自動根據這些屬性設置進行壓縮存儲。
# generate example data
a = np.arange(10*224*224*3).reshape(10,224,224,3)
# write a into dataset 'data',remenmber dt_unlimt is a 'data' dataset obj.
dt_unlimt[0:10] = a # write in by slice !
# now, we need to write new data to dataset 'data', and shape is [100,224,224,3],for example:
b = np.arange(100*224*224*3).reshape(100,224,224,3)
# before we write in new data, we need to resize dataset 'data' 's total shape first:
dt_unlimt.resize((110,224,224,3)) # 這里的resize的參數是dataset的總的shape,不僅僅是新寫入數據集的shape。
dt_unlimt[10:110] = b # write in by slice! 記住,python切片是左閉右開的
# 寫完數據不要忘記關閉!
file.close()
# That's OK !
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
