LeRobot documentation

구성

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

구성

LeRobot 설정은 draccus에 의해 파싱되는 단순한 dataclass이므로 모든 필드를 CLI에서 설정할 수 있습니다. TrainPipelineConfig는 lerobot-train의 최상위 객체입니다.

다형적 구성(정책, 로봇, 환경)은 draccus.ChoiceRegistry를 사용합니다. 서브클래스는 @register_subclass("name")으로 자신을 등록한 후, 커맨드 라인에서 해당 이름으로 선택할 수 있습니다.

TrainPipelineConfig

class 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

class 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 — 정책(policy)에 전달할 환경 스텝 수만큼의 관측 값(현재 스텝과 그 이전의 추가 스텝을 포함).
  • input_features — 정책의 입력 데이터에 대한 PolicyFeature를 정의하는 사전입니다. 키는 입력 데이터 이름을 나타내며, 값은 FeatureType과 shape 속성으로 구성된 PolicyFeature입니다.
  • output_features — 정책의 출력 데이터에 대한 PolicyFeature를 정의하는 사전입니다. 키는 출력 데이터 이름을 나타내며, 값은 FeatureType과 shape 속성으로 구성된 PolicyFeature입니다.
  • normalization_mapping — FeatureType의 str 값(예: “STATE”, “VISUAL”)을 해당하는 NormalizationMode(예: NormalizationMode.MIN_MAX)로 매핑하는 사전

정책 모델의 기본 구성 클래스입니다.

DatasetConfig

class 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

class lerobot.configs.EvalConfig

< >

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

TrackioConfig

class 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)를 사용한 학습 실행 추적

Runs은 ~/.cache/huggingface/trackio 아래에 있는 로컬 SQLite 데이터베이스에 저장되며, trackio show --project <project>로 볼 수 있습니다. 대신 Hugging Face Space에 run을 동기화하려면 space_id를 설정하세요.

Update on GitHub