LeRobot documentation
Установка
Установка
В этом руководстве для управления окружениями используется conda (через miniforge) (рекомендуется). Если вы предпочитаете другой менеджер окружений (например, uv, venv), убедитесь, что у вас установлен Python >=3.12, и перейдите сразу к разделу Настройка окружения.
Шаг 1 (только conda): установка miniforge
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).shШаг 2: Настройка окружения
Создайте виртуальное окружение с Python 3.12:
conda create -y -n lerobot python=3.12
uv python install 3.12 uv venv --python 3.12
Затем активируйте виртуальное окружение; это нужно делать каждый раз при открытии оболочки для работы с lerobot:
conda activate lerobot
When installing LeRobot inside WSL (Windows Subsystem for Linux), make sure to also install
evdev:conda install evdev -c conda-forge
# Linux/macOS
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\activateWhen installing LeRobot inside WSL (Windows Subsystem for Linux), make sure to also install
evdev:sudo apt install libevdev-dev uv pip install evdev
Требования к платформе
На Apple Silicon PyTorch требует macOS 14 или новее, а ускорение MPS — macOS 15 или новее (на macOS 14 LeRobot переключается на CPU). На Linux стандартные колёса PyTorch требуют драйвер NVIDIA версии 580.65 или новее; для более старых драйверов см. вариант PyTorch CUDA.
Установите ffmpeg (для декодирования видео)
LeRobot по умолчанию использует TorchCodec для декодирования видео, что требует ffmpeg.
Поддержка платформ: TorchCodec недоступен на macOS Intel (x86_64) и Linux armv7l. На этих платформах LeRobot автоматически переключается на
pyav— поэтому вам не нужно устанавливатьffmpeg, и вы можете перейти к шагу 3.Jetson (aarch64 + CUDA): декодирование видео по умолчанию выполняется на CPU.
docker/Dockerfile.jetsonсобираетtorch/torchcodecиз исходников с поддержкой CUDA для JetPack 6.2 — поддерживается сообществом, см.ravediamond/lerobot-jetsonдля готового образа и #819 для контекста.
Если ваша платформа поддерживает TorchCodec, установите ffmpeg с помощью одного из методов, описанных ниже:
Установите ffmpeg в вашем окружении conda. Это работает со всеми версиями PyTorch и обязательно для PyTorch < 2.10:
conda install ffmpeg -c conda-forge
Обычно это устанавливает
ffmpeg 8.Xс кодировщикомlibsvtav1. Если возникнут проблемы (например, отсутствуетlibsvtav1— проверьте с помощьюffmpeg -encoders— или несовпадение версий сtorchcodec), вы можете явно установитьffmpeg 7.1.1с помощью:conda install ffmpeg=7.1.1 -c conda-forge
Начиная с PyTorch >= 2.10 (TorchCodec ≥ 0.10), TorchCodec может динамически связываться с системной установкой ffmpeg. Это полезно при использовании uv или других менеджеров окружений, отличных от conda:
# Ubuntu/Debian
sudo apt install ffmpeg
# macOS (Apple Silicon)
brew install ffmpegСистемный
ffmpegподдерживается только с PyTorch >= 2.10 (TorchCodec ≥ 0.10). Для более старых версий PyTorch необходимо использоватьconda install ffmpeg -c conda-forge.
Шаг 3: Установка LeRobot 🤗
Базовая установка lerobot намеренно минималистична — она включает только основные ML-зависимости (PyTorch, torchvision, numpy, opencv, einops, draccus, huggingface-hub, gymnasium, safetensors). Более тяжёлые зависимости вынесены в опциональные дополнения, чтобы вы устанавливали только то, что действительно нужно.
Из исходного кода
Сначала клонируйте репозиторий и перейдите в каталог:
git clone https://github.com/huggingface/lerobot.git
cd lerobotЗатем установите библиотеку в режиме редактирования. Это полезно, если вы планируете вносить вклад в код.
pip install -e ".[core_scripts]" # For robot workflows (recording, replaying, calibrate)
pip install -e ".[training]" # For training policies
pip install -e ".[all]" # Everything (all policies, envs, hardware, dev tools)uv pip install -e ".[core_scripts]" # For robot workflows (recording, replaying, calibrate)
uv pip install -e ".[training]" # For training policies
uv pip install -e ".[all]" # Everything (all policies, envs, hardware, dev tools)Установка из PyPI
Базовая библиотека: установите базовый пакет с помощью:
pip install lerobot
uv pip install lerobot
Эта команда устанавливает только основные зависимости для машинного обучения. Для большинства рабочих процессов потребуется добавить дополнительные пакеты.
Дополнительные возможности: LeRobot предоставляет дополнительные пакеты для отдельных функций, соответствующие типовым сценариям работы. Если вы используете uv, замените pip install на uv pip install в командах ниже.
| Дополнительно | Что он добавляет | Типичный сценарий использования |
|---|---|---|
dataset | datasets, av, torchcodec, jsonlines | Загрузка и создание наборов данных |
training | dataset + accelerate, trackio | Политики обучения |
hardware | pynput, pyserial, deepdiff | Подключение к реальным роботам |
viz | rerun-sdk, foxglove-sdk | Визуализация во время записи/оценки |
Composite Extras объединяют дополнительные возможности для распространённых CLI-скриптов:
| Дополнительно | Включает | Типичный сценарий использования |
|---|---|---|
core_scripts | dataset + hardware + viz | lerobot-record, lerobot-replay, lerobot-calibrate |
evaluation | av | lerobot-eval (добавьте policy и env extras по необходимости) |
dataset_viz | dataset + viz | lerobot-dataset-viz, lerobot-imgtransform-viz |
pip install 'lerobot[core_scripts]' # Record, replay, calibrate
pip install 'lerobot[training]' # Train policies
pip install 'lerobot[core_scripts,training]' # Record + train
pip install 'lerobot[all]' # EverythingДополнительные компоненты для политики, среды и оборудования по-прежнему доступны для определённых зависимостей:
pip install 'lerobot[pi]' # Pi0/Pi0.5/Pi0-FAST policy deps
pip install 'lerobot[smolvla]' # SmolVLA policy deps
pip install 'lerobot[diffusion]' # Diffusion policy deps (diffusers)
pip install 'lerobot[aloha,pusht]' # Simulation environments
pip install 'lerobot[feetech]' # Feetech motor supportНесколько дополнительных пакетов можно объединять (например, .[core_scripts,pi,pusht]). Полный список доступных дополнительных пакетов указан в pyproject.toml.
PyTorch CUDA-вариант (только Linux)
В Linux torch и torchvision устанавливаются из PyPI, где по умолчанию используются сборки с CUDA 13 (минимальная версия драйвера 580.65). При установке на macOS и Windows используются стандартные сборки из PyPI, поэтому этот раздел можно пропустить.
Для более старой версии драйвера или GPU сначала установите PyTorch из соответствующего индекса PyTorch, а затем LeRobot. Linux-сборка TorchCodec на PyPI также является сборкой для CUDA 13, поэтому берите её из CPU-индекса (если версия torch ниже 2.11, выберите соответствующий релиз из таблицы совместимости TorchCodec):
pip install --index-url https://download.pytorch.org/whl/cu126 torch torchvision
pip install --index-url https://download.pytorch.org/whl/cpu torchcodec
pip install -e ".[all]" # source
# — or —
pip install lerobot # from PyPI
cu126— это сборка, которую PyTorch поддерживает для драйверов, работающих только с CUDA 12. В torch 2.15 нет сборки для CUDA 12, поэтому этот индекс устанавливает torch 2.14, а оставление на CUDA 12 означает использование torch 2.14 или более ранних версий.
С помощью uv pip параметр --torch-backend выбирает индекс за один шаг, например uv pip install --torch-backend cu126 lerobot. Команда uv sync всегда устанавливает зафиксированные версии из lock-файла: чтобы изменить сборку CUDA, добавьте индекс в [tool.uv.index] и [tool.uv.sources] в pyproject.toml и повторно выполните uv lock.
Устранение неполадок
Если вы столкнётесь с ошибками сборки, возможно, потребуется установить дополнительные системные зависимости: cmake, build-essential и ffmpeg libs.
Чтобы установить их для Linux, выполните:
sudo apt-get install cmake build-essential python3-dev pkg-config libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-devДля других систем см.: Компиляция PyAV
Необязательные зависимости
LeRobot предоставляет дополнительные опции для конкретных функций. Несколько опций можно комбинировать (например, .[aloha,feetech]). Полный список доступных опций указан в pyproject.toml. Если вы используете uv, замените pip install на uv pip install в командах ниже.
Симуляции
Установите пакеты для окружений: aloha (gym-aloha), pusht (gym-pusht), libero (только Linux) или metaworld.
Они автоматически включают дополнительный пакет dataset.
pip install -e ".[aloha]" # or "[pusht]" for exampleУправление двигателем
Установите дополнительный пакет для ваших моторов: dynamixel для Koch v1.1, feetech для SO100/SO101/Moss. Оба взаимодействуют с моторами через rustypot.
pip install -e ".[feetech]" # or "[dynamixel]" for exampleОтслеживание экспериментов
Trackio входит в дополнительный пакет training. Для локальных запусков не требуется аккаунт или вход: данные сохраняются в локальной базе SQLite по пути ~/.cache/huggingface/trackio. Откройте панель управления с помощью:
trackio show --project lerobot
Чтобы синхронизировать запуски с Hugging Face Space (создаётся, если отсутствует), выполните hf auth login и передайте --trackio.space_id=<user>/<space>. Для удалённых задач (--job.target) с включённым отслеживанием требуется space_id, так как локальная база данных пода теряется после завершения задачи.
По умолчанию параметр Space privacy имеет значение None: новые Spaces являются публичными, если только по умолчанию для организации не задан приватный режим. Чтобы создать приватный Space, передайте --trackio.private=true.
Каждый запуск фиксирует команду, которая его запустила, и вывод консоли (выводы, логи, трассировки), оба этих элемента отображаются на странице запуска в дашборде. На Space они видны так же, как и сам Space; чтобы исключить вывод консоли из запуска, передайте --trackio.capture_console=false.
Переход с Weights & Biases
| Настройка W&B | Настройка Trackio |
|---|---|
--wandb.enable=true | --trackio.enable=true |
--wandb.project=<project> | --trackio.project=<project> |
--wandb.disable_artifact=true | Уже используется по умолчанию; для включения используйте --trackio.disable_artifact=false |
--wandb.entity=<team> | Выберите --trackio.space_id=<user-or-org>/<space> для хостинг-логирования |
--wandb.run_id=<id> | Используйте --trackio.run_name=<name> для существующего запуска Trackio |
--wandb.mode=offline | Опустите space_id для локального логирования; также сбросьте TRACKIO_SPACE_ID и TRACKIO_SERVER_URL, если они заданы |
--wandb.mode=disabled | --trackio.enable=false |
--wandb.console=off | --trackio.capture_console=false |
Дальнейшие шаги
- Есть робот? Соберите и откалибруйте его, следуя инструкции на его странице в разделе Robots в боковой панели (например, SO-101), затем соберите набор данных и обучите свою первую политику с помощью туториала по имитационному обучению.
- Пока нет оборудования? Обучите и оцените политику в симуляции с помощью LIBERO или попробуйте ноутбуки Colab.
- Хотите внести вклад? Прочитайте руководство по внесению вклада.
- Держите шпаргалку под рукой: в ней собраны все команды LeRobot в одном месте.