LeRobot documentation

Instalação

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Instalação

Este guia usa conda (via miniforge) para gerenciar ambientes (recomendado). Se você preferir outro gerenciador de ambientes (por exemplo, uv, venv), verifique se você tem Python >=3.12 e, em seguida, pule para Configuração do Ambiente.

Etapa 1 (apenas conda): Instale o miniforge

wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh

Etapa 2: Configuração do ambiente

Crie um ambiente virtual com Python 3.12:

conda
uv (somente PyTorch >= 2.10)
conda create -y -n lerobot python=3.12

Em seguida, ative seu ambiente virtual; você precisa fazer isso cada vez que abrir um shell para usar o lerobot:

conda
uv (somente PyTorch >= 2.10)
conda activate lerobot

Ao instalar o LeRobot dentro do WSL (Windows Subsystem for Linux), certifique-se de também instalar o evdev:

conda install evdev -c conda-forge

Requisitos da plataforma

No Apple Silicon, o PyTorch requer macOS 14 ou mais recente, e a aceleração MPS requer macOS 15 ou mais recente (no macOS 14, o LeRobot usa CPU como alternativa). No Linux, as rodas padrão do PyTorch exigem um driver NVIDIA da versão 580.65 ou mais recente; para drivers mais antigos, consulte PyTorch CUDA variant.

Instale o ffmpeg (para decodificação de vídeo)

LeRobot usa TorchCodec para decodificação de vídeo por padrão, o que requer ffmpeg.

Suporte da plataforma: TorchCodec não está disponível em macOS Intel (x86_64) ou Linux armv7l. Nessas plataformas, o LeRobot faz automaticamente o fallback para pyav — portanto, você não precisa instalar ffmpeg e pode pular para a Etapa 3.

Jetson (aarch64 + CUDA): a decodificação de vídeo é executada na CPU por padrão. docker/Dockerfile.jetson compila torch/torchcodec a partir do código-fonte com suporte a CUDA para o JetPack 6.2 — mantido pela comunidade, veja ravediamond/lerobot-jetson para a imagem pré-compilada e a issue #819 para mais contexto.

Se sua plataforma suporta TorchCodec, instale o ffmpeg usando um dos métodos abaixo:

conda (qualquer versão do PyTorch)
uv (somente PyTorch >= 2.10)

Instale o ffmpeg no seu ambiente conda. Isso funciona com todos os versões do PyTorch e é obrigatório para PyTorch < 2.10:

conda install ffmpeg -c conda-forge

Isso geralmente instala o ffmpeg 8.X com o codificador libsvtav1. Se você encontrar problemas (por exemplo, libsvtav1 ausente — verifique com ffmpeg -encoders — ou uma incompatibilidade de versão com o torchcodec), você pode instalar explicitamente o ffmpeg 7.1.1 usando:

conda install ffmpeg=7.1.1 -c conda-forge

Etapa 3: Instale o LeRobot 🤗

A instalação base do lerobot é intencionalmente leve — ela inclui apenas as dependências de ML essenciais (PyTorch, torchvision, numpy, opencv, einops, draccus, huggingface-hub, gymnasium, safetensors). Dependências mais pesadas ficam atrás de extras opcionais, para que você instale apenas o que precisa.

A partir da origem

Primeiro, clone o repositório e navegue até o diretório:

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

Em seguida, instale a biblioteca em modo editável. Isso é útil se você planeja contribuir para o código.

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)

Instalação a partir do PyPI

Biblioteca principal: Instale o pacote base com:

conda
uv
pip install lerobot

Isso instala apenas as dependências principais de ML. Você precisará adicionar extras para a maioria dos fluxos de trabalho.

Extras de recursos: O LeRobot oferece extras por recurso que correspondem a fluxos de trabalho comuns. Se você estiver usando uv, substitua pip install por uv pip install nos comandos abaixo.

ExtraO que ele adicionaCaso de uso típico
datasetdatasets, av, torchcodec, jsonlinesCarregando e criando conjuntos de dados
trainingdataset + accelerate, trackioPolíticas de treinamento
hardwarepynput, pyserial, deepdiffConectando a robôs reais
vizrerun-sdk, foxglove-sdkVisualização durante a gravação/avaliação

Composite Extras combinam extras de recursos para scripts de CLI comuns:

ExtraIncluiCaso de uso típico
core_scriptsdataset + hardware + vizlerobot-record, lerobot-replay, lerobot-calibrate
evaluationavlerobot-eval (adicione extras de política e ambiente conforme necessário)
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

Extras de política, ambiente e hardware ainda estão disponíveis para dependências específicas:

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

Vários extras podem ser combinados (por exemplo, .[core_scripts,pi,pusht]). Para a lista completa de extras disponíveis, consulte pyproject.toml.

Variante CUDA do PyTorch (somente Linux)

No Linux, torch e torchvision vêm do PyPI, cujos wheels padrão são builds do CUDA 13 (driver mínimo 580.65). Instalações no macOS e Windows usam os wheels padrão do PyPI e podem pular esta seção.

Para um driver ou GPU mais antigo, instale primeiro o PyTorch a partir do índice do PyTorch correspondente e, em seguida, o LeRobot. O TorchCodec para Linux no PyPI também é uma build CUDA 13, então obtenha-o do índice de CPU (com torch abaixo de 2.11, escolha a release correspondente na tabela de compatibilidade do 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 é a build que o PyTorch mantém para drivers que suportam apenas CUDA 12. O torch 2.15 não possui build para CUDA 12, portanto esse índice instala o torch 2.14, e permanecer no CUDA 12 significa permanecer no torch 2.14 ou em versões anteriores.

Com uv pip, --torch-backend seleciona o índice em uma etapa, por exemplo, uv pip install --torch-backend cu126 lerobot. uv sync sempre instala o lock commitado: para alterar a build do CUDA lá, adicione o índice a [tool.uv.index] e [tool.uv.sources] em pyproject.toml e execute novamente uv lock.

Solução de problemas

Se você encontrar erros de compilação, pode ser necessário instalar dependências de sistema adicionais: cmake, build-essential e ffmpeg libs. Para instalá-los no Linux, execute:

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

Para outros sistemas, consulte: Compilando o PyAV

Dependências opcionais

LeRobot fornece extras opcionais para funcionalidades específicas. Vários extras podem ser combinados (por exemplo, .[aloha,feetech]). Para todos os extras disponíveis, consulte pyproject.toml. Se você estiver usando uv, substitua pip install por uv pip install nos comandos abaixo.

Simulações

Instale os pacotes do ambiente: aloha (gym-aloha), pusht (gym-pusht), libero (somente Linux) ou metaworld. Esses incluem automaticamente o extra dataset.

pip install -e ".[aloha]" # or "[pusht]" for example

Controle de Motor

Instale o extra para seus motores: dynamixel para Koch v1.1, feetech para SO100/SO101/Moss. Ambos se comunicam com os motores através do rustypot.

pip install -e ".[feetech]" # or "[dynamixel]" for example

Rastreamento de Experimentos

Trackio está incluído no extra training. Execuções locais não exigem conta ou login: elas são armazenadas em um banco de dados SQLite local em ~/.cache/huggingface/trackio. Abra o painel com:

trackio show --project lerobot

Para sincronizar execuções com um Hugging Face Space (criado se não existir), execute hf auth login e passe --trackio.space_id=<user>/<space>. Jobs remotos (--job.target) com rastreamento habilitado exigem space_id, pois o banco de dados local do pod é perdido quando o job termina.

A privacidade do Space é definida como None por padrão: novos Spaces são públicos, a menos que o padrão da organização seja privado. Passe --trackio.private=true para criar um Space privado.

Cada execução registra o comando que a iniciou e sua saída de console (prints, logs, tracebacks), ambos exibidos na página da execução no dashboard. Em um Space, eles são tão visíveis quanto o próprio Space; passe --trackio.capture_console=false para manter a saída de console fora da execução.

Migrando do Weights & Biases

Configuração do W&BConfiguração do Trackio
--wandb.enable=true--trackio.enable=true
--wandb.project=<project>--trackio.project=<project>
--wandb.disable_artifact=trueJá é o padrão; use --trackio.disable_artifact=false para ativar
--wandb.entity=<team>Escolha --trackio.space_id=<user-or-org>/<space> para logging hospedado
--wandb.run_id=<id>Use --trackio.run_name=<name> para uma execução existente do Trackio
--wandb.mode=offlineOmita space_id para registro local; também desdefina TRACKIO_SPACE_ID e TRACKIO_SERVER_URL se estiverem definidos
--wandb.mode=disabled--trackio.enable=false
--wandb.console=off--trackio.capture_console=false

Próximas etapas

Update on GitHub