第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何有效地設(shè)置包含未知數(shù)據(jù)量的 HDF5 文件?

如何有效地設(shè)置包含未知數(shù)據(jù)量的 HDF5 文件?

猛跑小豬 2021-08-05 16:07:33
我有一個可以運(yùn)行任意長時間的模擬。為了存儲模擬的輸出,我天真地創(chuàng)建了一個可調(diào)整大小的 HDF5 文件,我不斷地將數(shù)據(jù)存儲到其中,如這個玩具示例所示:import contextlibimport osimport timeimport numpy as npimport h5pynum_timepoints = 18000num_vertices = 16num_info = 38output_size = 10t0 = "A:\\t0.hdf5"with contextlib.suppress(FileNotFoundError):    os.remove(t0)st = time.time()with h5py.File(t0, "a") as f:    dset = f.create_dataset("test", (0, num_vertices, num_info), maxshape=(None, num_vertices, num_info))for n in np.arange(18000/output_size):    chunk = np.random.rand(output_size, 16, 38)    with h5py.File(t0, "a") as f:        dset = f["test"]        orig_index = dset.shape[0]        dset.resize(dset.shape[0] + chunk.shape[0], axis=0)        dset[orig_index:, :, :] = chunket = time.time()print("test0: time taken: {} s, size: {} kB".format(np.round(et - st, 2), int(os.path.getsize(t0))/1000))請注意,平均而言,測試數(shù)據(jù)的大小與我從模擬中獲得的數(shù)據(jù)大小相似(在最壞的情況下,我可能有 2 到 3 倍的測試時間點(diǎn)數(shù))。這個測試的輸出是:test0: time taken: 2.02 s, size: 46332.856 kB將此輸出與預(yù)先提供數(shù)據(jù)大小的測試進(jìn)行比較:t1 = "A:\\t1.hdf5"with contextlib.suppress(FileNotFoundError):    os.remove(t1)st = time.time()data = np.random.rand(num_timepoints, num_vertices, num_info)with h5py.File(t1, "a") as f:    dset = f.create_dataset("test", data.shape)    dset = dataet = time.time()print("test1: time taken: {} s, size: {} kB".format(np.round(et - st, 2), int(os.path.getsize(t1))/1000))其中有作為輸出:test1: time taken: 0.09 s, size: 1.4 kB如果我選擇output_size(這反映了我一次從模擬中獲得的數(shù)據(jù)塊有多大)1,那么test0大約需要 40 秒,并創(chuàng)建一個大約 700 MB 的文件!
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號