Набір даних HDF5 (.hdf5)
The СтандартІєрархічний формат даних 5 (HDF5): це провідна архітектура керування науковими даними, призначена для величезних багатовимірних масивів і широко використовувана в суперкомп’ютерних обчисленнях, кліматичному моделюванні, нейронауках і машинному навчанні.
Конвертувати з HDF5 у CSV
Безкоштовний конвертер з HDF5 у CSV у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли HDF5, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (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 (Поточний) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Ієрархічна структура | Повноцінна файлова система POSIX-типу (групи та набори даних) | NetCDF-4 використовує HDF5 всередині | Фіксовані блочні масиви та таблиці | Хмарно-орієнтований чанковий формат каталогу |
| Зрізання наборів даних | Надшвидке бінарне читання гіперслайсів | Швидке читання гіперслайсів | Пряма індексація блоків | Хмарне паралельне завантаження чанків |
| Використання в машинному навчанні | Стандарт для ваг моделей (Keras .h5) | Рідко використовується в ШІ | Відсутнє | Зростаюче використання для тренувальних наборів даних ШІ |
| Основна екосистема | NCSA, суперкомп'ютери, Python h5py | NOAA, метеорологія, океанографія | NASA, астрономія, телескопи | Хмарно-орієнтована наука про дані |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Помилка Python h5py: 'Unable to open file (file signature not found)' (Не вдається відкрити файл (підпис файлу не знайдено)).
Першопричина: Пошкоджений 8-байтовий суперблок на початку файлу.
Відновлення: Перевірте зміщення суперблоку або відновіть набори даних за допомогою інструменту File2File.app HDF5.
Аналіз безпеки та векторів атак на парсери
Офіційна бібліотека libhdf5 обробляє складні B-дерева й таблиці купи, де пошкоджені зміщення спричиняли вразливості з переповненням купи.
Відомі вектори атак
- Переповнення буфера купи під час обходу індексів вузлів B-дерева (наприклад, CVE-2021-37501).
- Запис за межі буфера у плагінах конвеєра користувацьких фільтрів декомпресії.
- Відмова в обслуговуванні через циклічні зв’язки між групами.
Рекомендації щодо захисту: Обробляйте ненадійні файли HDF5 у пісочницях WebAssembly з обмеженням обсягу пам’яті.
Історичне походження та віхи
Основні переваги
- Повноцінна файлова система у файлі: організовує складні багатопетабайтні набори даних у іменовані групи та набори даних подібно до каталогів.
- Високопродуктивне читання гіперзрізу: зчитуйте невеликий двовимірний зріз із величезної 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.