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

The Стандарт

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

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

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

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

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

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

100% приватна конвертація у браузері - файли ніколи не покидають ваш пристрій

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

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

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

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

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

ASCII-УЯВЛЕННЯ: \x89HDF\r\n\x1a\n

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

Технічні характеристики

Архітектура контейнераHierarchical filesystem-like binary container organizing data into Groups (folders) and Datasets (multi-dimensional arrays) with attributes
СтисненняChunk-based compression filters: Gzip (Deflate), SZIP, Zstandard, Blosc, and LZF
Порядок байтів (Endianness)Declared in superblock (Little or Big-Endian)
Колірні просториN/A (Multi-dimensional Numerical Arrays)
Канали та структураHigh-dimensional scientific arrays, compound data types, and variable-length strings
Максимальні розміриPractically unlimited (supports 64-bit coordinates and petabyte-scale datasets)
ПрозорістьNone
Потокове та прогресивне завантаженняChunked storage enables partial hyper-slab slicing without loading full dataset into memory

Технічна матриця порівняння: 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 HDF5.

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

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

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

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

Захисні найкращі практики:

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

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

Головні переваги та плюси

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

Технічні обмеження та мінуси

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

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

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

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

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

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

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

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

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

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