Я использую файлы в формате hdf5 для хранения больших блоков данных с такими формами, как [2, 16000, 6, 16,16,16,16]
.
Если я загружаю весь набор данных, он сразу же начинает загружать данные в память, что занимает неоправданное количество времени.Однако, если я возьму только фрагмент, такой как [0,:,1,:,:,:,:]
, процесс начнет что-то вычислять (использование ЦП увеличивается) в течение длительного времени, не загружая ничего в память.Затем, когда он начинает загружать его в память, это не занимает много времени.
Что такое вычисление h5py перед загрузкой и как я могу сделать это быстрее?
Данные разбиваются на куски и сжимаются с использованием фильтра gzip
, который будет использовать процессор при загрузке данных, но нераньше, верно?
Кроме того, эта ситуация улучшится с некоторым размером куска лучше, чем по умолчанию, но что это будет?В предыдущем случае, я бы выделил первую ось отдельно (то есть, будет (1,...)
), но я также хочу вычислить, скажем, разницу между значениями на первой оси, так что я 'Я бы тоже хотел быстро их загрузить.