Набір даних HDF5 (.hdf5)

The Стандарт

Ієрархічний формат даних 5 (HDF5): це провідна архітектура керування науковими даними, призначена для величезних багатовимірних масивів і широко використовувана в суперкомп’ютерних обчисленнях, кліматичному моделюванні, нейронауках і машинному навчанні.

Конвертувати з HDF5 у CSV

Безкоштовний конвертер з HDF5 у CSV у браузері. Миттєво конвертуйте файли на своєму пристрої.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли HDF5, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли HDF5, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 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)Порядок байтів зазначається в суперблоці (від молодшого до старшого або від старшого до молодшого)
Колірні просториНе застосовується (багатовимірні числові масиви)
Канали та структураБагатовимірні наукові масиви, складені типи даних і рядки змінної довжини
Максимальні розміриПрактично необмежено (підтримує 64-бітні координати й набори даних обсягом до петабайтів)
ПрозорістьНемає
Потокове та прогресивне завантаженняЗберігання блоками дає змогу читати частини гіперзрізу без завантаження всього набору даних у пам’ять

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

Технічний атрибутHDF5 (Поточний)NETCDFFITSZARR
Ієрархічна структураПовноцінна файлова система POSIX-типу (групи та набори даних)NetCDF-4 використовує HDF5 всерединіФіксовані блочні масиви та таблиціХмарно-орієнтований чанковий формат каталогу
Зрізання наборів данихНадшвидке бінарне читання гіперслайсівШвидке читання гіперслайсівПряма індексація блоківХмарне паралельне завантаження чанків
Використання в машинному навчанніСтандарт для ваг моделей (Keras .h5)Рідко використовується в ШІВідсутнєЗростаюче використання для тренувальних наборів даних ШІ
Основна екосистемаNCSA, суперкомп'ютери, Python h5pyNOAA, метеорологія, океанографіяNASA, астрономія, телескопиХмарно-орієнтована наука про дані

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Помилка Python h5py: 'Unable to open file (file signature not found)' (Не вдається відкрити файл (підпис файлу не знайдено)).

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

Відновлення: Перевірте зміщення суперблоку або відновіть набори даних за допомогою інструменту File2File.app HDF5.

Аналіз безпеки та векторів атак на парсери

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

Відомі вектори атак

  • Переповнення буфера купи під час обходу індексів вузлів B-дерева (наприклад, CVE-2021-37501).
  • Запис за межі буфера у плагінах конвеєра користувацьких фільтрів декомпресії.
  • Відмова в обслуговуванні через циклічні зв’язки між групами.

Рекомендації щодо захисту: Обробляйте ненадійні файли HDF5 у пісочницях WebAssembly з обмеженням обсягу пам’яті.

Історичне походження та віхи

2020HDF5 v1.12 представляє конектори шару віртуальних об'єктів (VOL) для хмарного сховища об'єктів (Amazon S3).
2006The HDF Group відокремлюється від NCSA Університету Іллінойсу як незалежний некомерційний фонд.
1998NCSA випускає HDF5, повністю переробивши оригінальний HDF4 для усунення ліміту файлів у 2 ГБ.

Основні переваги

  • Повноцінна файлова система у файлі: організовує складні багатопетабайтні набори даних у іменовані групи та набори даних подібно до каталогів.
  • Високопродуктивне читання гіперзрізу: зчитуйте невеликий двовимірний зріз із величезної 100-гігабайтної п’ятивимірної матриці, не читаючи весь файл.
  • Глибока інтеграція з сучасним науковим Python (h5py), MATLAB, R та високопродуктивними суперкомп'ютерами з підтримкою MPI.

Технічні обмеження та недоліки

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

Цікаві технічні факти

  • Сигнатуру HDF5 створено на основі PNG; вона визначає формат і допомагає виявляти типові помилки передавання.
  • Система спостереження за Землею (EOS) від NASA зберігає петабайти щоденних супутникових кліматичних даних у форматі HDF5.
  • Фреймворки глибокого навчання, такі як Keras і TensorFlow, популяризували HDF5 (.h5) для збереження ваг нейронних мереж.

Поширені технічні запитання

Що таке файл HDF5?

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

У чому різниця між .h5 та .hdf5?

Різниці немає; .h5 та .hdf5: це два різні розширення файлів для того самого Hierarchical Data Format 5.

Як переглянути вміст файлу HDF5?

Ви можете перевірити групи, набори даних та метадані всередині будь-якого файлу HDF5 за допомогою HDFView, Python h5py або онлайн за допомогою File2File.app.