簡體   English   中英

如何管理大型h5文件

[英]How to manage large h5 files

我遇到這個問題已經有一段時間了。 我有一個帶有數據集“ds”的 h5 文件,它由一個大小為 170000x70000、浮點數為 16 的矩陣組成。顯然,我無法一次加載所有這些,但我不需要。 我只需要處理 170000x1 的向量並過濾掉滿足條件的元素。 但是,我發現這是非常低效的。 我嘗試將其分塊加載,如下例所示,但此操作需要幾分鍾時間。

f=h5py.File(myfile, "r")
ds = f["ds"]
i=1000
for i in tqdm(range(0,170000,100)):
    chunk=ds[i:i+100,j]
    filtered_chunk =np.where(chunk>0)

你們中有人遇到過這個問題嗎? 我該如何解決這個問題?

這就是讀取 170000x1 向量的方式。 我想解決了你的問題

f=h5py.File(myfile, "r")
ds = f["ds"]
for cnt in range(ds.shape[1]):
    # get arr as a numpy array of shape (170000,1)
    arr=ds[:,cnt]  
    ...do something with arr

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM