Что входит в каждый релиз
Каждый релиз в программе обучения на опыте флота включает:
Avala готовит экспорт LeRobot в рамках программы. Обучение запускаете вы.
Импорт набора данных LeRobot
Импортёр LeRobot читает набор данных LeRobot из Hugging Face Hub или локальной директории. Он создаёт набор данных MCAP в Avala.- Каждый эпизод LeRobot становится одним файлом
.mcap, который Avala принимает как один элемент. Эпизод LeRobot соответствует последовательности Avala. - Потоки камер записываются как
foxglove.CompressedImage, поэтому они отображаются в просмотрщике Mission Control. - Проприоцепция (
observation.state,actionи другие одномерные числовые признаки) записывается как сообщенияgoogle.protobuf.Struct. Значения сохраняются и читаются как сырые сообщения. - Все остальные покадровые столбцы (награды,
episode_uuid,failure_typeи другие текстовые столбцы) сохраняются, каждый в своём топике. Столбецcontrol_source(policy,teleop,intervention,hold) записывается в/lerobot/control_source.
lerobot, для которого требуется Python 3.12 или новее. Для наборов данных LeRobot v3 также работает читатель без torch на Python 3.9 и новее: pip install "avala[lerobot-core-video]".
Передайте
repo_id, root или оба. В Python state_keys выбирает числовые признаки, которые нужно сохранить. По умолчанию это observation.state и action.
Экспорт набора данных Avala в LeRobot
Вы также можете сами конвертировать любой набор данных последовательностей Avala в LeRobot v3. Одна последовательность Avala становится одним эпизодом LeRobot.--include-outcomes записывает текущую метку результата каждой последовательности в meta/avala_sequence_outcomes.jsonl, по одной строке на эпизод LeRobot. В Python передайте include_outcomes=True. Формат файла описан в разделе «Экспорт меток результата вместе с LeRobot» на странице Схема метаданных последовательности.
Добавьте --state-key и --action-key, когда исходные кадры содержат проприоцепцию. Полный список параметров и Python API приведены в разделе Avala + LeRobot.
Использование меток результата при обучении
Метки результата сопровождают экспорт LeRobot. Типичные сценарии:- Задавайте вес последовательностям или отбирайте их по
outcome,progress,qualityиspeed. - Обучайте политики с языковым условием на строках
labelподзадач и строкахactionдействий рук. - Разбивайте данные по группам утечки, когда строите собственные валидационные наборы.
- Исключайте последовательности, у которых
evaluation_membershipравенheld_out_eval, из обучения, когда объединяете данные из других источников. Релизы никогда их не включают.