Перейти к основному содержимому

Набор данных HDF5

HDF5 (Hierarchical Data Format version 5) — это эффективный и гибкий формат хранения данных, широко используемый в области воплощенного интеллекта. Его иерархическая структура (группы и наборы данных) удобна для организации и управления сложными многомодальными данными, поддерживает эффективное чтение и запись данных, а также кроссплатформенное совместное использование.

Импорт данных HDF5

В области воплощенного интеллекта структура и способ именования файлов HDF5 различаются в зависимости от производителя оборудования. Платформа уже адаптирована к основным внешним системам сбора данных (таким как Piper от Ling), может напрямую импортировать соответствующие файлы HDF5 и визуализировать их.

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

Экспорт данных HDF5

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

Подробности аннотации см.: Аннотация данных

После завершения аннотации можно выбрать нужное подмножество данных для экспорта в интерфейсе экспорта.

Выбор данных для экспорта

  • Количество групп: Установите количество исходных файлов, содержащихся в каждом файле HDF5. Если нужна взаимно однозначная связь, можно установить 1.
  • Частота обновления данных: Контролирует количество сборов данных в секунду, влияет на размер файла.

После экспорта вы можете просмотреть результаты в интерфейсе:

Просмотр результатов экспорта

Скачанные данные:

Результаты экспорта

Описание структуры экспортируемых данных

Экспортируемые файлы HDF5 именуются по группам исходных файлов (например, chunk_001.hdf5), используя древовидную структуру для организации данных:

  • Корневая группа (/): Верхний уровень каталога.
  • Подгруппы: Такие как /data, /meta.
    • /data разделяется на подгруппы по последовательности задач аннотации (например, episode_001, episode_002).
  • Наборы данных: Такие как /data/episode_001
    • Атрибуты включают
      • task аннотированный естественный язык (английский)
      • task_zh аннотированный естественный язык (китайский)
      • score оценка качества действия
    • Сохраняемые данные включают
      • action выданные команды суставов (многомерный массив)
      • observation.images.* сжатые изображения с различных ракурсов (JPEG)
      • observation.state наблюдаемые значения датчиков (многомерный массив)
      • observation.gripper наблюдаемые значения состояния закрытия захвата (многомерный массив)

Пример структуры:

HDF5 "./chunk_001.hdf5" {
FILE_CONTENTS {
group /
group /data
group /data/episode_001
dataset /data/episode_001/action
dataset /data/episode_001/observation.gripper
dataset /data/episode_001/observation.images.camera_01
dataset /data/episode_001/observation.images.camera_02
dataset /data/episode_001/observation.images.camera_03
dataset /data/episode_001/observation.images.camera_04
dataset /data/episode_001/observation.state
group /data/episode_002
dataset /data/episode_002/action
dataset /data/episode_002/observation.gripper
dataset /data/episode_002/observation.images.camera_01
dataset /data/episode_002/observation.images.camera_02
dataset /data/episode_002/observation.images.camera_03
dataset /data/episode_002/observation.images.camera_04
dataset /data/episode_002/observation.state
......
group /meta
}
}

Пример чтения файлов HDF5

Рекомендуется использовать библиотеку Python h5py для чтения и работы с файлами HDF5. Основное использование:

import h5py

# Открыть файл HDF5 в режиме только чтения
with h5py.File('chunk_001.hdf5', 'r') as f:
# Просмотреть группы верхнего уровня
print("Группы верхнего уровня:", list(f.keys()))

# Доступ к наборам данных в группе /data/episode_001
episode_001 = f['/data/episode_001']
print("Наборы данных в episode_001:", list(episode_001.keys()))

# Чтение набора данных action
action_data = episode_001['action'][:]
print("Данные action:", action_data)

Применение и преимущества

Формат HDF5 в области воплощенного интеллекта имеет следующие преимущества:

  • Поддерживает хранение крупномасштабных многомодальных данных (таких как изображения высокого разрешения, данные датчиков и т.д.)
  • Встроенное сжатие данных, экономия места хранения
  • Кроссплатформенная совместимость, удобно для совместного использования и миграции данных
  • Гибкая иерархическая структура данных, подходит для сложных задач и разнообразного управления данными

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