LeRobot documentation
구성
구성
LeRobot 설정은 draccus에 의해 파싱되는 단순한 dataclass이므로 모든 필드를 CLI에서 설정할 수 있습니다. TrainPipelineConfig는 lerobot-train의 최상위 객체입니다.
다형적 구성(정책, 로봇, 환경)은 draccus.ChoiceRegistry를 사용합니다. 서브클래스는 @register_subclass("name")으로 자신을 등록한 후, 커맨드 라인에서 해당 이름으로 선택할 수 있습니다.
TrainPipelineConfig
class lerobot.configs.train.TrainPipelineConfig
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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를 설정하세요.