我想在h5py中創建可調整大小的數據集,它應該是一個簡單的一維數組,初始值寫在上面,然後用他們的空閒附加值更新當我試試這個:嘗試在h5py中擴展現有數據集時出錯:ValueError:無法設置擴展數據集(Dimension不能超過現有的最大大小
ds = g2.create_dataset(wf, maxshape=(None), chunks=True, data=values)
size = ds.shape[0] + len(values)
ds.resize(size, axis=0)
我得到這個錯誤:
ValueError: Unable to set extend dataset (Dimension cannot exceed the existing maximal size (new: 120 max: 60))
然而,似乎提供數據或設置該形狀將覆蓋maxshape和數據集沒有調整大小,並且提示當前最大形狀不是最初提供的數據,或者是在shape屬性中設置的數據。
根據h5py documentation這正是應該如何完成的,並且將maxshape設置爲None應該提供無限擴展,而將塊設置爲True應該啓用自動塊大小確定。
我自己也嘗試這樣的事情,並分別添加數據:
ds = g2.create_dataset(wf,(100,), maxshape=(None), chunks=True, dtype='i')
它拋出了同樣的錯誤,而現在我不知道如果我錯誤地設置了尺寸,或者如果它有什麼與數據類型或形狀。
我認爲你必須做一個調整大小來添加新的材料。是不是有關於在文檔中的東西https://stackoverflow.com/questions/40062770/adding-data-to-existing-h5py-file-along-new-axis-using-h5py – hpaulj
我調整大小,但是問題所在,它不希望接受新的大小,因爲似乎maxshape已被設置爲初始數據的大小,而不是maxshape變量中設置的大小。感謝您提供的信息,我之前沒有找到該帖子。 – TeilaRei