LeRobot documentation
Instalación
Instalación
Esta guía utiliza conda (vía miniforge) para gestionar entornos (recomendado). Si prefieres otro gestor de entornos (p. ej. uv, venv), asegúrate de tener Python >=3.12 y luego salta a Configuración del entorno.
Paso 1 (solo conda): Instale miniforge
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).shPaso 2: Configuración del entorno
Crea un entorno virtual con Python 3.12:
conda create -y -n lerobot python=3.12
uv python install 3.12 uv venv --python 3.12
Luego, activa tu entorno virtual; debes hacer esto cada vez que abras una shell para usar lerobot:
conda activate lerobot
Al instalar LeRobot dentro de WSL (Windows Subsystem for Linux), asegúrate de instalar también
evdev:conda install evdev -c conda-forge
# Linux/macOS
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\activateAl instalar LeRobot dentro de WSL (Windows Subsystem for Linux), asegúrate de instalar también
evdev:sudo apt install libevdev-dev uv pip install evdev
Requisitos de la plataforma
En Apple Silicon, PyTorch requiere macOS 14 o una versión más reciente, y la aceleración MPS macOS 15 o una versión más reciente (en macOS 14, LeRobot recurre a CPU). En Linux, las ruedas de PyTorch predeterminadas necesitan un controlador NVIDIA de 580.65 o una versión más reciente; para controladores más antiguos, consulte variante CUDA de PyTorch.
Instale ffmpeg (para la decodificación de video)
LeRobot utiliza TorchCodec para la decodificación de video de forma predeterminada, lo que requiere ffmpeg.
Soporte de plataforma: TorchCodec no está disponible en macOS Intel (x86_64) ni en Linux armv7l. En estas plataformas, LeRobot vuelve automáticamente a
pyav, por lo que no es necesario instalarffmpegy se puede pasar directamente al paso 3.Jetson (aarch64 + CUDA): la decodificación de video se ejecuta en la CPU de forma predeterminada.
docker/Dockerfile.jetsoncompilatorch/torchcodecdesde el código fuente con soporte para CUDA para JetPack 6.2 — mantenido por la comunidad, consulteravediamond/lerobot-jetsonpara la imagen precompilada y el problema #819 para más contexto.
Si su plataforma es compatible con TorchCodec, instale ffmpeg usando uno de los métodos siguientes:
Instale ffmpeg en su entorno conda. Esto funciona con todas las versiones de PyTorch y es obligatorio para PyTorch < 2.10:
conda install ffmpeg -c conda-forge
Esto normalmente instala
ffmpeg 8.Xcon el codificadorlibsvtav1. Si tienes problemas (p. ej., faltalibsvtav1— compruébalo conffmpeg -encoders— o hay una incompatibilidad de versiones contorchcodec), puedes instalar explícitamenteffmpeg 7.1.1usando:conda install ffmpeg=7.1.1 -c conda-forge
A partir de PyTorch >= 2.10 (TorchCodec ≥ 0.10), TorchCodec puede enlazar dinámicamente con una instalación de ffmpeg a nivel de sistema. Esto es útil al usar uv u otros gestores de entornos que no son conda:
# Ubuntu/Debian
sudo apt install ffmpeg
# macOS (Apple Silicon)
brew install ffmpegEl
ffmpegdel sistema es compatible únicamente con PyTorch >= 2.10 (TorchCodec ≥ 0.10). Para versiones anteriores de PyTorch, debe utilizarconda install ffmpeg -c conda-forgeen su lugar.
Paso 3: Instalar LeRobot 🤗
La instalación base de lerobot es intencionalmente ligera: solo incluye las dependencias de ML esenciales (PyTorch, torchvision, numpy, opencv, einops, draccus, huggingface-hub, gymnasium, safetensors). Las dependencias más pesadas están detrás de extras opcionales para que solo instales lo que necesitas.
Desde la fuente
Primero, clona el repositorio y navega al directorio:
git clone https://github.com/huggingface/lerobot.git
cd lerobotLuego, instala la biblioteca en modo editable. Esto es útil si planeas contribuir al código.
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)Instalación desde PyPI
Biblioteca principal: instala el paquete base con:
pip install lerobot
uv pip install lerobot
Esto instala solo las dependencias de ML principales. Necesitarás agregar extras para la mayoría de los flujos de trabajo.
Extras de funciones: LeRobot ofrece extras por función que se corresponden con flujos de trabajo habituales. Si estás usando uv, sustituye pip install por uv pip install en los comandos siguientes.
| Extra | Lo que añade | Caso de uso típico |
|---|---|---|
dataset | datasets, av, torchcodec, jsonlines | Carga y creación de conjuntos de datos |
training | dataset + accelerate, trackio | Políticas de entrenamiento |
hardware | pynput, pyserial, deepdiff | Conexión con robots reales |
viz | rerun-sdk, foxglove-sdk | Visualización durante la grabación/evaluación |
Los Composite Extras combinan los extras de funciones para los scripts de CLI comunes:
| Extra | Incluye | Caso de uso típico |
|---|---|---|
core_scripts | dataset + hardware + viz | lerobot-record, lerobot-replay, lerobot-calibrate |
evaluation | av | lerobot-eval (añada extras de política y entorno según sea necesario) |
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]' # EverythingLos extras de política, entorno y hardware siguen disponibles para dependencias 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 supportSe pueden combinar varios extras (p. ej., .[core_scripts,pi,pusht]). Para obtener la lista completa de extras disponibles, consulte pyproject.toml.
Variante de PyTorch CUDA (solo Linux)
En Linux, torch y torchvision provienen de PyPI, cuyos wheels por defecto son compilaciones de CUDA 13 (driver mínimo 580.65). Las instalaciones en macOS y Windows usan los wheels por defecto de PyPI y pueden omitir esta sección.
Para un controlador o GPU más antiguos, instale primero PyTorch desde el índice de PyTorch correspondiente y luego LeRobot. El TorchCodec de Linux en PyPI también es una compilación de CUDA 13, así que obténgalo del índice de CPU (con torch por debajo de 2.11, elija la versión correspondiente de la tabla de compatibilidad de 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
cu126es la compilación que PyTorch mantiene para controladores que solo admiten CUDA 12. torch 2.15 no tiene una compilación para CUDA 12, por lo que este índice instala torch 2.14, y permanecer en CUDA 12 significa permanecer en torch 2.14 o una versión anterior.
Con uv pip, --torch-backend selecciona el índice en un solo paso, por ejemplo, uv pip install --torch-backend cu126 lerobot. uv sync siempre instala el lock comprometido: para cambiar la compilación de CUDA allí, añade el índice a [tool.uv.index] y [tool.uv.sources] en pyproject.toml y vuelve a ejecutar uv lock.
Solución de problemas
Si encuentras errores de compilación, es posible que necesites instalar dependencias del sistema adicionales: cmake, build-essential y ffmpeg libs.
Para instalarlos en Linux, ejecuta:
sudo apt-get install cmake build-essential python3-dev pkg-config libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-devPara otros sistemas, consulte: Compilar PyAV
Dependencias opcionales
LeRobot ofrece extras opcionales para funcionalidades específicas. Se pueden combinar varios extras (p. ej., .[aloha,feetech]). Para ver todos los extras disponibles, consulte pyproject.toml. Si está usando uv, reemplace pip install por uv pip install en los comandos siguientes.
Simulaciones
Instale los paquetes del entorno: aloha (gym-aloha), pusht (gym-pusht), libero (solo Linux) o metaworld.
Estos incluyen automáticamente el extra dataset.
pip install -e ".[aloha]" # or "[pusht]" for exampleControl de motores
Instale el extra para sus motores: dynamixel para Koch v1.1, feetech para SO100/SO101/Moss. Ambos se comunican con los motores a través de rustypot.
pip install -e ".[feetech]" # or "[dynamixel]" for exampleSeguimiento de experimentos
Trackio se incluye en el extra training. Las ejecuciones locales no requieren cuenta ni inicio de sesión: se almacenan en una base de datos SQLite local bajo ~/.cache/huggingface/trackio. Abre el panel de control con:
trackio show --project lerobot
Para sincronizar las ejecuciones con un Space de Hugging Face (se crea si no existe), ejecute hf auth login y pase --trackio.space_id=<user>/<space>. Los trabajos remotos (--job.target) con seguimiento habilitado requieren space_id, porque la base de datos local del pod se pierde cuando el trabajo termina.
La privacidad de Space predeterminada es None: los nuevos Spaces son públicos a menos que el valor predeterminado de la organización sea privado. Pasa --trackio.private=true para crear un Space privado.
Cada ejecución registra el comando que la inició y su salida de consola (impresiones, registros, trazas de errores), ambos mostrados en la página de la ejecución en el panel de control. En un Space, son tan visibles como el propio Space; pasa --trackio.capture_console=false para mantener la salida de consola fuera de la ejecución.
Migrar desde Weights & Biases
| Configuración de W&B | Configuración de Trackio |
|---|---|
--wandb.enable=true | --trackio.enable=true |
--wandb.project=<project> | --trackio.project=<project> |
--wandb.disable_artifact=true | Ya es el valor predeterminado; use --trackio.disable_artifact=false para activarlo |
--wandb.entity=<team> | Elija --trackio.space_id=<user-or-org>/<space> para el registro alojado |
--wandb.run_id=<id> | Usa --trackio.run_name=<name> para una ejecución existente de Trackio |
--wandb.mode=offline | Omite space_id para el registro local; también desestablece TRACKIO_SPACE_ID y TRACKIO_SERVER_URL si están establecidos |
--wandb.mode=disabled | --trackio.enable=false |
--wandb.console=off | --trackio.capture_console=false |
Próximos pasos
- ¿Tienes un robot? Ensámblalo y calíbralo siguiendo su página en la sección Robots de la barra lateral (por ejemplo, SO-101), luego registra un conjunto de datos y entrena tu primera política con el tutorial de aprendizaje por imitación.
- ¿Aún no tienes hardware? Entrena y evalúa una política en simulación con LIBERO, o prueba los notebooks de Colab.
- ¿Quieres contribuir? Lee la guía de contribución.
- Tenga a mano la hoja de trucos: enumera todos los comandos de LeRobot en un solo lugar.