Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Учебная линия Notebook для MicroDuck

В этой теме 8 Notebook, по одному на каждый день. Для первых семи задач движения сначала показывается видео вывода GPU, затем вывод BPU RDK X5. Восьмой Notebook со многосценной навигацией LightNav-0 использует только GPU рабочей станции и не подключает плату.

Групповое обучение идёт по 8-дневному плану: каждый день соответствует одному Notebook из списка ниже. Месячная программа на 21 день использует те же Notebook; даты и сроки сдачи — в месячном наборе. Оба варианта сохраняются отдельно.

Notebook хранят вывод ячеек, поэтому их можно сначала просмотреть на GitHub, а затем при необходимости перезапустить в Ubuntu/Jupyter. Первые 7 Notebook содержат выполненные ячейки с номерами выполнения и выводом: 64 ячейки кода. Восьмой Notebook добавляет 12 ячеек кода, выполненных в Ubuntu с нуля и сохранённых; всего 76 ячеек кода с сохранённым выводом, сохранённых исключений Python нет. Выполнялась ли необязательная обучающая часть, видно в выводе соответствующих ячеек.

Список Notebook

NotebookОсновная линия
01-basketball-balance-ppo-onnx-bpu-mujoco.ipynbКоманды скорости, сцена с мячом, PPO, экспорт стратегии
02-browser-physical-perturbation-replay-and-interface.ipynbСостояние MuJoCo, внешние возмущения, веб-повтор
03-stilt-walking-curriculum-and-onnx-bpu.ipynbBAM, учебный план по форме, сглаживание действий, контракт развёртывания
04-swing-rotation-onnx-bpu-mujoco.ipynbЗадача качания и ONNX-пример из репозитория
05-ball-balance-fastsac-onnx-bpu.ipynbFastSAC и сравнение с другим интерфейсом задачи
06-ladder-climbing-contact-and-deployment-template.ipynbПодъём по лестнице, выход на стол, переключение двух стратегий подъёма и вставания, учебное обучение
07-rdk-web-and-multi-policy-bpu-acceptance.ipynbПрямое подключение стратегии ходьбы, TCP RDK, переключение нескольких стратегий, приёмка BPU
08-lightnav0-vision-language-navigation-gpu-multi-scene.ipynbПредобученная модель, изображение и язык, MPC, квартира / гостиная / коридор

День 8: визуально-языковая навигация

08-lightnav0-vision-language-navigation-gpu-multi-scene.ipynb использует предобученную модель LightNav-0 и не обучает модель навигации. Модель навигации работает на GPU и подключена к уже готовой стратегии ходьбы MicroDuck; три сцены — официальная квартира, собственная гостиная и собственный коридор. Для каждой сцены создаются отдельное видео, журнал предсказаний модели и график траектории. Настройка среды и пути по умолчанию описаны в пояснении к пакету навигации. Запускайте этот Notebook на 8-й день, а просмотр видео поможет понять, как модель навигации работает вместе со стратегией ходьбы.

Notebook навигации выполнен в Ubuntu с нуля: все 12 ячеек кода сохранили вывод, включая вид от первого лица для трёх сцен, фактические предсказания модели, видео и графики траекторий.

Видео создаётся заново при каждом запуске модели и не встроено в Notebook как большой файл; после выполнения ячейки видео проигрывается прямо в ней.

Видео по каждому Notebook — в сборке демонстраций. Ходьба и навигация подключаются к готовым стратегиям; возмущения служат для проверки физического взаимодействия и интерфейса; видео подъёма по лестнице на GPU показывает полное поэтапное восхождение, выход на стол и устойчивое стояние, а видео BPU фиксирует контакт с перекладиной. Для остальных задач предусмотрены входы обучения и дообучения алгоритмов; реальные результаты видны в сохранённом выводе ячеек.

Запуск

cd 02-executable-code/microduck-playground-stilts
uv sync
uv run --with jupyter jupyter lab ../../03-Notebook

Это команды для запуска из исходного репозитория every-embodied: пакет кода microduck-playground-stilts в книге не копируется. Jupyter запускается на рабочей станции Ubuntu. Notebook сам ищет каталог 02-executable-code выше по дереву; если рабочая папка не является каталогом темы, задайте переменную MICRODUCK_TOPIC_ROOT.

Видео GPU и BPU

Первые 7 Notebook сначала показывают видео вывода GPU, затем вывода BPU. Действия вычисляет BPU, а рабочая станция отвечает за физическую симуляцию и кодирование видео. Повторный запуск ячейки BPU создаёт MP4 и JSON-отчёт задачи в каталоге 03-Notebook/outputs/bpu_videos/ и перезаписывает файлы *_bpu_latest этой задачи. Восьмой Notebook запускает модель навигации на GPU; видео каждой сцены сохраняются в outputs/lightnav_gpu/.

Чтобы ограничить объём репозитория, видео в первых 7 Notebook представлены как относительные ссылки на GIF; исходные MP4 не встраиваются в ipynb и не публикуются. GIF для GPU и BPU всех 7 задач движения и для трёх сцен навигации собраны на странице демонстраций; остальное содержимое Notebook — код, текст и рисунки — сохранено. После повторного запуска Notebook навигации новое MP4 проигрывается прямо в ячейке.

Модели и подключение BPU

Notebook не содержит крупных checkpoint. Чтобы использовать собственную или скачанную стратегию, задайте переменные окружения:

$env:MICRODUCK_ONNX = "C:\models\microduck_policy.onnx"
$env:RDK_HOST = "192.168.8.128"
$env:RDK_BPU_HBM = "/home/sunrise/models/microduck_policy.hbm"

Если нужно только проверить работу среды выполнения на плате, можно запустить проверенный пример BPU MobileNet X5:

RDK_BPU_SMOKE_MODEL = "/opt/tros/humble/lib/dnn_benchmark_example/config/X5/mobilenetv1_224x224_nv12.bin"
RDK_BPU_SMOKE_INPUT_BYTES = 75264

MobileNet нужен для проверки связи и среды BPU. При запуске задачи MicroDuck Notebook выбирает HBM нужной задачи, а сервис RDK на порту 8766 переключает стратегию на сервисе 8765.

Скрипт управляющего сервиса RDK — 02-executable-code/microduck-playground-stilts/scripts/rdk_bpu_policy_supervisor.py. Он переключает только 7 моделей задач, зарегистрированных в этой теме; каждый запуск ячейки видео BPU перезаписывает соответствующие файлы *_bpu_latest.mp4 и JSON-отчёт.

Обучение и развёртывание

Алгоритмы PPO и FastSAC обучаются на рабочей станции, вывод выполняет BPU. Обучение включается переменными окружения: ячейки выводят фактический ход выполнения. Проверка smoke подтверждает выборку, обновление и экспорт; качество стратегии проверяется оценкой по задаче. Notebook 07-rdk-web-and-multi-policy-bpu-acceptance.ipynb подключает готовую стратегию ходьбы; 02-browser-physical-perturbation-replay-and-interface.ipynb — для физического взаимодействия; восьмой Notebook подключает предобученный LightNav-0 и не обучает модель навигации.

Notebook с FastSAC даёт вход smoke-теста. После включения сначала проводится небольшое обучение, затем экспорт в ONNX, а компиляция HBM выполняется в Ubuntu Docker командой hb_mapper makertbin --model-type onnx; готовый HBM загружается на плату X5 для вывода.

На плате должны быть совместимые версии HBRT/BPU runtime и HBM нужной задачи. Компиляция ONNX в HBM выполняется в связанном инструментарии Ubuntu Docker; на плате компилятор не нужен. Перед реальным запуском проверьте, что размерности наблюдений, нормализация, входная раскладка и постобработка действий в HBM и ONNX совпадают.

Видеоскрипты GPU находятся в scripts/ пакета кода: gpu_onnx_runtime.py. Для подъёма по лестнице используются bpu_official_ladder_pair_video.py и среда desk-climb; получение модели, запуск на GPU и дообучение описаны в руководстве по подъёму по лестнице. Для BPU используются сервис RDK и hbm_runtime; перед запуском проверьте квантование HBM, входную раскладку, форму выходов и постобработку действий.

Демонстрации

Видео, сохранённые в Notebook, используются для веб-страниц и предпросмотра на GitHub; повторно созданные MP4/JSON остаются в outputs/ на Ubuntu и в репозиторий не коммитятся. Интерактивную физику в браузере можно запустить отдельно — веб-сервис находится в каталоге материалов задач.