LeRobot documentation

Установка

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Установка

В этом руководстве для управления окружениями используется 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
uv (только PyTorch >= 2.10)
conda create -y -n lerobot python=3.12

Затем активируйте виртуальное окружение; это нужно делать каждый раз при открытии оболочки для работы с lerobot:

conda
uv (только PyTorch >= 2.10)
conda activate lerobot

When installing LeRobot inside WSL (Windows Subsystem for Linux), make sure to also install evdev:

conda install evdev -c conda-forge

Требования к платформе

На 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 с помощью одного из методов, описанных ниже:

conda (любая версия PyTorch)
uv (только PyTorch >= 2.10)

Установите 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

Шаг 3: Установка LeRobot 🤗

Базовая установка lerobot намеренно минималистична — она включает только основные ML-зависимости (PyTorch, torchvision, numpy, opencv, einops, draccus, huggingface-hub, gymnasium, safetensors). Более тяжёлые зависимости вынесены в опциональные дополнения, чтобы вы устанавливали только то, что действительно нужно.

Из исходного кода

Сначала клонируйте репозиторий и перейдите в каталог:

git clone https://github.com/huggingface/lerobot.git
cd lerobot

Затем установите библиотеку в режиме редактирования. Это полезно, если вы планируете вносить вклад в код.

conda
uv
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)

Установка из PyPI

Базовая библиотека: установите базовый пакет с помощью:

conda
uv
pip install lerobot

Эта команда устанавливает только основные зависимости для машинного обучения. Для большинства рабочих процессов потребуется добавить дополнительные пакеты.

Дополнительные возможности: LeRobot предоставляет дополнительные пакеты для отдельных функций, соответствующие типовым сценариям работы. Если вы используете uv, замените pip install на uv pip install в командах ниже.

ДополнительноЧто он добавляетТипичный сценарий использования
datasetdatasets, av, torchcodec, jsonlinesЗагрузка и создание наборов данных
trainingdataset + accelerate, trackioПолитики обучения
hardwarepynput, pyserial, deepdiffПодключение к реальным роботам
vizrerun-sdk, foxglove-sdkВизуализация во время записи/оценки

Composite Extras объединяют дополнительные возможности для распространённых CLI-скриптов:

ДополнительноВключаетТипичный сценарий использования
core_scriptsdataset + hardware + vizlerobot-record, lerobot-replay, lerobot-calibrate
evaluationavlerobot-eval (добавьте policy и env extras по необходимости)
dataset_vizdataset + vizlerobot-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

Дальнейшие шаги

Update on GitHub