Производительность HDF5: выбор строки и столбца - PullRequest
1 голос
/ 13 июля 2020

У меня есть файл HDF5 размером ~ 100 ГБ, содержащий два больших трехмерных массива с плавающей запятой (данные для обучения и проверки):

import h5py
dset = h5py.File("my_dataset.hdf5", "r")

Производительность очень хороша для загрузки нескольких строк в память:

sub_dset_1 = dset["train"][1000:2000]

Но индексация по другим осям происходит очень медленно:

sub_dset_2 = dset["train"][:, :, 0]

Вопросы:

  1. Чем объясняется такое поведение?
  2. Какие форматы данных можно использовать для хранения больших данных на диске, при этом имея возможность загружать в память только их части (по разным осям)?
...