Набор данных HDF5 (.hdf5)

The Стандарт

Hierarchical Data Format 5 (HDF5) - это передовая архитектура управления научными данными для массивных многомерных массивов, широко используемая в суперкомпьютерных вычислениях, климатическом моделировании, нейробиологии и машинном обучении.

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

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

Анализ и метаданные

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

Выберите или перетащите файлы сюда

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

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

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

Операционные системы и анализаторы файлов идентифицируют файлы 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-битные координаты и наборы данных петабайтного масштаба)
ПрозрачностьОтсутствует
Потоковая передача и прогрессивная загрузкаЧанковое хранение обеспечивает частичный срезовый доступ (hyperslab) без загрузки всего набора данных в память

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

Технический атрибутHDF5 (Текущий)NETCDFFITSZARR
Иерархическая структураПолноценная POSIX-подобная файловая система (группы и наборы данных)NetCDF-4 использует HDF5 «под капотом»Фиксированные блочные массивы и таблицыОблачный чанковый формат каталогов
Создание срезов набора данныхСверхбыстрое бинарное чтение гиперсрезовБыстрое чтение гиперсрезовПрямая блочная индексацияОблачные параллельные выборки чанков
Использование в машинном обученииСтандарт для весов моделей (Keras .h5)Редко используется в ИИОтсутствуетРастущее использование для обучающих датасетов ИИ
Основная экосистемаNCSA, суперкомпьютерные вычисления, Python h5pyNOAA, метеорология, океанографияNASA, астрономия, телескопыОблачные науки о данных

Типичные режимы повреждения и руководство по восстановлению в HEX

Ошибка Python h5py: 'Unable to open file (file signature not found)'.

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

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

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

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

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

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

Защитные лучшие практики: Обрабатывайте ненадежные файлы HDF5 с помощью изолированных движков WebAssembly с ограниченными лимитами памяти.

Исторические истоки и вехи

2020HDF5 версии 1.12 представляет коннекторы уровня виртуальных объектов (VOL) для облачного объектного хранилища (Amazon S3).
2006The HDF Group отделяется от Иллинойсского университета в NCSA как независимый некоммерческий фонд.
1998NCSA выпускает HDF5, полностью переработав оригинальный формат HDF4 для устранения ограничения размера файлов в 2 ГБ.

Ключевые преимущества и плюсы

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

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

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

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

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

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

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

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

В чем разница между .h5 и .hdf5?

Разницы нет; .h5 и .hdf5 - это два разных расширения файлов для абсолютно одного и того же формата Hierarchical Data Format 5.

Как посмотреть содержимое файла HDF5?

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