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.6.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Конфигурация

Конфигурация LeRobot представляет собой обычные dataclasses, которые парсятся с помощью draccus, поэтому каждое поле можно задать из CLI. TrainPipelineConfig — это объект верхнего уровня для lerobot-train.

Полиморфные конфигурации (политики, роботы, среды) используют draccus.ChoiceRegistry: подкласс регистрирует себя с помощью @register_subclass("name") и после этого может быть выбран по этому имени в командной строке.

TrainPipelineConfig

класс 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

класс 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 )

Параметры

  • n_obs_steps — количество шагов среды, наблюдения с которых передаются в политику (текущий шаг и дополнительные шаги, идущие назад).
  • input_features — словарь, определяющий PolicyFeature входных данных для политики. Ключ представляет имя входных данных, а значением является PolicyFeature, состоящий из атрибутов FeatureType и shape.
  • output_features — словарь, определяющий PolicyFeature выходных данных для политики. Ключ представляет имя выходных данных, а значением является PolicyFeature, состоящий из атрибутов FeatureType и shape.
  • normalization_mapping — словарь, сопоставляющий строковое значение FeatureType (например, “STATE”, “VISUAL”) с соответствующим NormalizationMode (например, NormalizationMode.MIN_MAX)

Базовый класс конфигурации для моделей политики.

DatasetConfig

класс 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

класс 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

класс 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 )

Отслеживание обучающих прогонов с помощью Trackio (https://huggingface.co/docs/trackio).

Запуски хранятся в локальной базе данных SQLite по пути ~/.cache/huggingface/trackio и просматриваются с помощью trackio show --project <project>. Чтобы синхронизировать запуск с Hugging Face Space, установите значение space_id.

Update on GitHub