LeRobot documentation

Установка

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.7.0).
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