У меня есть набор данных размером (900, 200, 308, 311, 1)
, где в каждом образце есть 200
изображений, каждое из которых имеет размер 308x311
. Я создал файл h5py
(dtype: float
) из этого набора данных, который составляет около 125GB
(намного больше, чем фактические данные).
Сам процесс создания данных занял много времени. Вот как я это сделал:
input = []
# 900 samples
for sample in dataset:
sequence = []
# 200 images/sample
for file in images:
img = #read file
sequence.append(img)
input.append(sequence)
input = np.array(input).reshape(900, 200, 308, 311, 1)
with h5py.File('X.h5py', 'w') as f:
d = f.create_dataset('X', data=input, dtype='float')
Когда я загружаю этот файл, загрузка данных в память снова занимает целую вечность
f = h5py.File("X.h5py","r")
X = np.array(f['X'])
Существует ли эффективный способ хранения изагрузка данных такая большая. Я видел chunking
данные, но я не уверен, может ли это помочь. Кроме того, если я храню данные в чанках, могу ли я загрузить одну выборку из данных вместо чанков, как раньше?