Желательно ли использовать фильтры shuffle и fletcher32 вдоль бокового gzip или lzf при использовании h5py для создания набора данных? - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь использовать h5py для записи наборов данных в формате HDF5. Метод create_dataset() имеет опции для выбора типа сжатия и фильтров. Я не смог найти ни одного ресурса, чтобы понять, можно ли использовать shuffle = True и fletcher32 = True вместе с compression = 'lzf' или 'gzip'.

f = h5py.open("my_hdf_file.h5", "w")
dset = f.create_dataset("zipped_dataset", shape=(778, 181, 128, 128), 
                                          chunks = True, 
                                          compression="gzip", 
                                          compression_opts=9, 
                                          shuffle = True)
f.close()

Я знаю, что приведенный выше код в порядке, и есть книги и веб-источники, которые также показывают примеры подобного типа. Но я не смог найти никакого обсуждения по использованию shuffle + fletcher32 + gzip/lzf.

Я хотел бы понять преимущества одновременного использования как shuffle, так и fletcher32 (если это вообще возможно / желательно). Если кто-нибудь сможет объяснить, почему это следует или не следует делать, это будет очень полезно.

Ресурсы:

  1. http://docs.h5py.org/en/latest/high/dataset.html#dataset-compression
  2. http://docs.h5py.org/en/latest/high/group.html#Group.create_dataset
  3. Python и HDF5: Книга Эндрю Колетт - Фильтры и сжатие
  4. Этот ответ на этот вопрос stackoverflow

Список всех доступных фильтров: https://portal.hdfgroup.org/display/support/Filters

...