LeRobot documentation

Configuración

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

Configuración

La configuración de LeRobot consiste en dataclasses simples analizadas por draccus, por lo que cada campo se puede establecer desde la CLI. TrainPipelineConfig es el objeto de nivel superior para lerobot-train.

Las configuraciones polimórficas (políticas, robots, entornos) utilizan draccus.ChoiceRegistry: una subclase se registra a sí misma con @register_subclass("name") y luego puede seleccionarse por ese nombre en la línea de comandos.

TrainPipelineConfig

clase lerobot.configs.train.TrainPipelineConfig

< >

( dataset: DatasetConfigenv: lerobot.envs.configs.EnvConfig | None = Nonepolicy: lerobot.configs.policies.PreTrainedConfig | None = Nonereward_model: lerobot.configs.rewards.RewardModelConfig | None = Noneoutput_dir: pathlib.Path | None = Nonejob_name: str | None = Noneresume: bool = Falseseed: int | None = 1000cudnn_deterministic: bool = Falsetf32: bool | None = Truenum_workers: int = 4batch_size: int = 8prefetch_factor: int = 4persistent_workers: bool = Truedataloader_multiprocessing_context: str | None = 'spawn'steps: int = 100000env_eval_freq: int = 20000log_freq: int = 200eval_steps: int = 0max_eval_samples: int = 0tolerance_s: float = 0.0001save_checkpoint: bool = Truesave_freq: int = 20000checkpoint_format: CheckpointFormat = <CheckpointFormat.SAFETENSORS: 'safetensors'>use_policy_training_preset: bool = Trueoptimizer: lerobot.optim.optimizers.OptimizerConfig | None = Nonescheduler: lerobot.optim.schedulers.LRSchedulerConfig | None = Noneparallelism: ParallelismConfig = <factory>accelerator: AcceleratorConfig = <factory>eval: EvalConfig = <factory>ema: lerobot.optim.ema.EMAConfig | None = Nonetrackio: TrackioConfig = <factory>peft: lerobot.configs.default.PeftConfig | None = Nonejob: JobConfig = <factory>save_checkpoint_to_hub: bool = Falsesample_weighting: lerobot.utils.sample_weighting.SampleWeightingConfig | None = Nonerename_map: dict = <factory> )

PreTrainedConfig

clase lerobot.configs.PreTrainedConfig

< >

( n_obs_steps: int = 1input_features: dict[str, lerobot.configs.types.PolicyFeature] | None = <factory>output_features: dict[str, lerobot.configs.types.PolicyFeature] | None = <factory>device: str | None = Nonedtype: torch.dtype | None = Noneuse_amp: bool = Falseuse_peft: bool = Falsepush_to_hub: bool = Truerepo_id: str | None = Noneprivate: bool | None = Nonetags: list[str] | None = Nonelicense: str | None = Nonepretrained_path: pathlib.Path | None = Nonepretrained_revision: str | None = None )

Parámetros

  • n_obs_steps — Número de pasos del entorno de observaciones que se pasan a la política (toma el paso actual y pasos adicionales hacia atrás).
  • input_features — Un diccionario que define la PolicyFeature de los datos de entrada para la política. La clave representa el nombre de los datos de entrada y el valor es PolicyFeature, que consiste en los atributos FeatureType y shape.
  • output_features — Un diccionario que define la PolicyFeature de los datos de salida para la política. La clave representa el nombre de los datos de salida y el valor es PolicyFeature, que consiste en los atributos FeatureType y shape.
  • normalization_mapping — Un diccionario que mapea desde un valor str de FeatureType (p. ej., “STATE”, “VISUAL”) a un NormalizationMode correspondiente (p. ej., NormalizationMode.MIN_MAX)

Clase de configuración base para modelos de política.

DatasetConfig

clase lerobot.configs.DatasetConfig

< >

( repo_id: strrepo_type: str = 'dataset'root: str | None = Noneepisodes: list[int] | None = Noneexclude_episodes: list[int] | None = Noneimage_transforms: ImageTransformsConfig = <factory>revision: str | None = Noneuse_imagenet_stats: bool = Truevideo_backend: str = <factory>return_uint8: bool = Falsedepth_output_unit: str = 'mm'streaming: bool = Falsestreaming_episode_pool_size: int | None = Nonestreaming_sampling_strategy: StreamingSamplingStrategy = <StreamingSamplingStrategy.REMAINING: 'remaining'>streaming_prefetch_episodes: int = 8streaming_byte_budget_gb: float = 8.0streaming_decode_threads: int = 2streaming_decoded_queue_size: int = 8streaming_native_http_connections: int | None = Nonestreaming_native_http_subranges: int = 1streaming_sidecar_lock_timeout_s: float = 1800video_decoder_cache_size: int | None = Noneeval_split: float = 0.0 )

EvalConfig

clase lerobot.configs.EvalConfig

< >

( n_episodes: int = 50batch_size: int = 0use_async_envs: bool = Truerecording: bool = Falserecording_repo_id: str | None = Nonerecording_private: bool = False )

TrackioConfig

clase lerobot.configs.TrackioConfig

< >

( enable: bool = Falsedisable_artifact: bool = Trueproject: str = 'lerobot'space_id: str | None = Noneprivate: bool | None = Nonerun_name: str | None = Noneresume: str | None = Nonecapture_console: bool = True )

Seguimiento de ejecuciones de entrenamiento con Trackio (https://huggingface.co/docs/trackio).

Las ejecuciones se almacenan en una base de datos SQLite local en ~/.cache/huggingface/trackio y se visualizan con trackio show --project <project>. Establezca space_id para sincronizar la ejecución con un Hugging Face Space en su lugar.

Update on GitHub