LeRobot documentation

Instalación

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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).sh

Paso 2: Configuración del entorno

Crea un entorno virtual con Python 3.12:

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

Luego, activa tu entorno virtual; debes hacer esto cada vez que abras una shell para usar lerobot:

conda
uv (solo PyTorch >= 2.10)
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

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 instalar ffmpeg y 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.jetson compila torch/torchcodec desde el código fuente con soporte para CUDA para JetPack 6.2 — mantenido por la comunidad, consulte ravediamond/lerobot-jetson para 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:

conda (cualquier versión de PyTorch)
uv (solo PyTorch >= 2.10)

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.X con el codificador libsvtav1. Si tienes problemas (p. ej., falta libsvtav1 — compruébalo con ffmpeg -encoders — o hay una incompatibilidad de versiones con torchcodec), puedes instalar explícitamente ffmpeg 7.1.1 usando:

conda install ffmpeg=7.1.1 -c conda-forge

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 lerobot

Luego, instala la biblioteca en modo editable. Esto es útil si planeas contribuir al 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)

Instalación desde PyPI

Biblioteca principal: instala el paquete base con:

conda
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.

ExtraLo que añadeCaso de uso típico
datasetdatasets, av, torchcodec, jsonlinesCarga y creación de conjuntos de datos
trainingdataset + accelerate, trackioPolíticas de entrenamiento
hardwarepynput, pyserial, deepdiffConexión con robots reales
vizrerun-sdk, foxglove-sdkVisualización durante la grabación/evaluación

Los Composite Extras combinan los extras de funciones para los scripts de CLI comunes:

ExtraIncluyeCaso de uso típico
core_scriptsdataset + hardware + vizlerobot-record, lerobot-replay, lerobot-calibrate
evaluationavlerobot-eval (añada extras de política y entorno según sea necesario)
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

Los 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 support

Se 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

cu126 es 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-dev

Para 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 example

Control 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 example

Seguimiento 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&BConfiguración de Trackio
--wandb.enable=true--trackio.enable=true
--wandb.project=<project>--trackio.project=<project>
--wandb.disable_artifact=trueYa 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=offlineOmite 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

Update on GitHub