HDF5 набор от данни (.hdf5)

The Стандарт

Йерархичният формат за данни 5 (Hierarchical Data Format 5, HDF5) е водеща архитектура за управление на научни данни, предназначена за огромни многоизмерни масиви. Използва се широко в суперкомпютърните изчисления, климатичното моделиране, неврологията и машинното обучение.

Конвертиране от HDF5 към CSV

Безплатен конвертор от HDF5 към CSV в браузъра. Конвертирайте файлове незабавно на вашето устройство.

Проверка и метаданни

Операционните системи и файловите анализатори идентифицират HDF5 файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират HDF5 файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

89 48 44 46 0D 0A 1A 0A

ASCII ПРЕДСТАВЯНЕ: \x89HDF\r\n\x1a\n

Стандартизация: The HDF Group Open Standard Specification

Технически спецификации

Контейнерна архитектураДвоичен контейнер с йерархия, подобна на файлова система, който организира данните в групи (папки) и набори от данни (многомерни масиви) с атрибути
КомпресияФилтри за компресия на блокове: Gzip (Deflate), SZIP, Zstandard, Blosc и LZF
Поредност на байтовете (Endianness)Байтовият ред се задава в суперблока (Little-Endian или Big-Endian).
Цветови пространстваНе се прилага (многомерни числови масиви)
Канали и структураНаучни масиви с много измерения, съставни типове данни и низове с променлива дължина
Максимални размериНа практика без ограничения (поддържа 64-битови координати и набори от данни с размер петабайти)
ПрозрачностНяма
Поточно предаване и прогресивно зарежданеСъхранението на блокове позволява частично извличане на хиперсрезове, без да се зарежда целият набор от данни в паметта

Техническа сравнителна матрица: HDF5 спрямо конкуренти

Технически атрибутHDF5 (Текущ)NETCDFFITSZARR
Йерархична структураПълна POSIX-подобна файлова система (групи и масиви от данни)NetCDF-4 използва HDF5 като основаМасиви и таблици с фиксирани блоковеОблачно ориентиран формат на директории с части (chunks)
Нарязване на масиви от данниУлтрабързо двоично четене на хиперсрезовеБързо четене на хиперсрезовеДиректно блоково индексиранеПаралелно извличане на части от облака
Употреба в машинното обучениеСтандарт за тегла на модели (Keras .h5)Рядко използван в изкуствения интелектНямаНарастваща употреба за обучаващи набори от данни за ИИ
Основна екосистемаNCSA, суперкомпютри, Python h5pyNOAA, метеорология, океанографияНАСА, астрономия, телескопиНаука за данните, ориентирана към облака

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

Грешка в Python h5py: 'Не може да се отвори файлът (файловият подпис не е намерен)'.

Първопричина: Повреден 8-байтов суперблок в началото на файла.

Възстановяване: Проверете отместванията на суперблока или възстановете наборите от данни с помощта на File2File.app HDF5 Tool.

Анализ на сигурността и вектори на атака към парсера

Официалната библиотека libhdf5 анализира сложни B-дървета и таблици в динамичната памет, при които повредени отмествания са довели до уязвимости с препълване на динамичната памет.

Известни вектори на атака

  • Препълване на буфера в динамичната памет при обхождане на индексите на възлите в B-дърво (напр. CVE-2021-37501).
  • Запис извън границите (out-of-bounds write) в персонализирани приставки за конвейер за филтриране на декомпресия.
  • Отказ от услуга чрез цикли с кръгови връзки между групи.

Най-добри практики за защита: Обработвайте ненадеждни HDF5 файлове с помощта на изолирани WebAssembly среди с ограничено количество памет.

Исторически произход и етапи

2020HDF5 v1.12 въвежда конектори за виртуален слой на обектите (VOL) за облачно хранилище на обекти (Amazon S3).
2006Групата HDF се отделя от NCSA към Университета на Илинойс и става независима фондация с нестопанска цел.
1998NCSA пуска HDF5, като напълно препроектира оригиналния HDF4, за да премахне ограниченията за файлове от 2 GB.

Основни предимства

  • Пълноценна файлова система в един файл: организира сложни набори от данни с размери от няколко петабайта в именувани групи и набори от данни, подобно на директории.
  • Високоефективно извличане на хиперсрезове: прочетете малко 2D сечение от огромна 5D матрица с размер 100 гигабайта, без да четете целия файл.
  • Тясна интеграция с Python за научни изчисления (h5py), MATLAB, R и високопроизводителни суперкомпютри с паралелни изчисления чрез MPI.

Технически ограничения и минуси

  • Високата сложност на спецификацията затруднява независимите реализации на парсери извън официалната C библиотека libhdf5.
  • Ограниченията за заключване от един записващ в класическия HDF5 исторически усложняват едновременните работни потоци за запис.
  • Повредените суперблокове могат да направят цялото йерархично дърво недостъпно.

Интересни технически факти

  • Сигнатурата HDF5 произлиза от PNG; тя идентифицира формата и помага за откриване на често срещани грешки при прехвърляне.
  • Системата за наблюдение на Земята на НАСА (EOS) съхранява петабайти ежедневни сателитни климатични данни във формат HDF5.
  • Рамките за дълбоко обучение като Keras и TensorFlow популяризират HDF5 (.h5) за запазване на теглата на невронните мрежи.

Често задавани технически въпроси

Какво представлява HDF5 файлът?

HDF5 файлът е като цяла файлова система, съхранена в един файл, предназначен за ефективно съхранение на огромни научни масиви, таблици и модели за машинно обучение.

Каква е разликата между .h5 и .hdf5?

Няма разлика; .h5 и .hdf5 са две различни разширения на файлове за един и същ формат Hierarchical Data Format 5.

Как мога да видя какво има в един HDF5 файл?

Можете да разгледате групите, наборите от данни и метаданните във всеки HDF5 файл, като използвате HDFView, Python h5py или онлайн с File2File.app.