# Cấu hình

Cấu hình LeRobot là các dataclass thuần được phân tích bởi [draccus](https://github.com/dlwh/draccus), do đó mọi trường đều có thể được đặt từ CLI. `TrainPipelineConfig` là đối tượng cấp cao nhất cho `lerobot-train`.

Cấu hình đa hình (chính sách, robot, môi trường) sử dụng `draccus.ChoiceRegistry`: một lớp con tự đăng ký với `@register_subclass("name")` và sau đó có thể được chọn bằng tên đó trên dòng lệnh.

## TrainPipelineConfig[[lerobot.configs.train.TrainPipelineConfig]]

#### lerobot.configs.train.TrainPipelineConfig[[lerobot.configs.train.TrainPipelineConfig]]

```python
lerobot.configs.train.TrainPipelineConfig(dataset: DatasetConfig, env: lerobot.envs.configs.EnvConfig | None = None, policy: lerobot.configs.policies.PreTrainedConfig | None = None, reward_model: lerobot.configs.rewards.RewardModelConfig | None = None, output_dir: pathlib.Path | None = None, job_name: str | None = None, resume: bool = False, seed: int | None = 1000, cudnn_deterministic: bool = False, tf32: bool | None = True, num_workers: int = 4, batch_size: int = 8, prefetch_factor: int = 4, persistent_workers: bool = True, dataloader_multiprocessing_context: str | None = 'spawn', steps: int = 100000, env_eval_freq: int = 20000, log_freq: int = 200, eval_steps: int = 0, max_eval_samples: int = 0, tolerance_s: float = 0.0001, save_checkpoint: bool = True, save_freq: int = 20000, checkpoint_format: CheckpointFormat = <CheckpointFormat.SAFETENSORS: 'safetensors'>, use_policy_training_preset: bool = True, optimizer: lerobot.optim.optimizers.OptimizerConfig | None = None, scheduler: lerobot.optim.schedulers.LRSchedulerConfig | None = None, parallelism: ParallelismConfig = <factory>, accelerator: AcceleratorConfig = <factory>, eval: EvalConfig = <factory>, ema: lerobot.optim.ema.EMAConfig | None = None, trackio: TrackioConfig = <factory>, peft: lerobot.configs.default.PeftConfig | None = None, job: JobConfig = <factory>, save_checkpoint_to_hub: bool = False, sample_weighting: lerobot.utils.sample_weighting.SampleWeightingConfig | None = None, rename_map: dict = <factory>)
```

[Nguồn](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/configs/train.py#L126)

## PreTrainedConfig[[lerobot.configs.PreTrainedConfig]]

#### lerobot.configs.PreTrainedConfig[[lerobot.configs.PreTrainedConfig]]

```python
lerobot.configs.PreTrainedConfig(n_obs_steps: int = 1, input_features: dict[str, lerobot.configs.types.PolicyFeature] | None = <factory>, output_features: dict[str, lerobot.configs.types.PolicyFeature] | None = <factory>, device: str | None = None, dtype: torch.dtype | None = None, use_amp: bool = False, use_peft: bool = False, push_to_hub: bool = True, repo_id: str | None = None, private: bool | None = None, tags: list[str] | None = None, license: str | None = None, pretrained_path: pathlib.Path | None = None, pretrained_revision: str | None = None)
```

[Nguồn](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/configs/policies.py#L42)

**Tham số:**

n_obs_steps : Số bước môi trường của các quan sát cần truyền cho chính sách (bao gồm bước hiện tại và các bước bổ sung trước đó).

input_features : Một từ điển định nghĩa PolicyFeature của dữ liệu đầu vào cho chính sách. Khóa đại diện cho tên dữ liệu đầu vào, và giá trị là PolicyFeature, bao gồm các thuộc tính FeatureType và shape.

output_features : Một từ điển định nghĩa PolicyFeature của dữ liệu đầu ra cho chính sách. Khóa đại diện cho tên dữ liệu đầu ra, và giá trị là PolicyFeature, bao gồm các thuộc tính FeatureType và shape.

normalization_mapping : Một từ điển ánh xạ từ một giá trị str của FeatureType (ví dụ: "STATE", "VISUAL") sang một NormalizationMode tương ứng (ví dụ: NormalizationMode.MIN_MAX)

Lớp cấu hình cơ bản cho các mô hình chính sách.

## DatasetConfig[[lerobot.configs.DatasetConfig]]

#### lerobot.configs.DatasetConfig[[lerobot.configs.DatasetConfig]]

```python
lerobot.configs.DatasetConfig(repo_id: str, repo_type: str = 'dataset', root: str | None = None, episodes: list[int] | None = None, exclude_episodes: list[int] | None = None, image_transforms: ImageTransformsConfig = <factory>, revision: str | None = None, use_imagenet_stats: bool = True, video_backend: str = <factory>, return_uint8: bool = False, depth_output_unit: str = 'mm', streaming: bool = False, streaming_episode_pool_size: int | None = None, streaming_sampling_strategy: StreamingSamplingStrategy = <StreamingSamplingStrategy.REMAINING: 'remaining'>, streaming_prefetch_episodes: int = 8, streaming_byte_budget_gb: float = 8.0, streaming_decode_threads: int = 2, streaming_decoded_queue_size: int = 8, streaming_native_http_connections: int | None = None, streaming_native_http_subranges: int = 1, streaming_sidecar_lock_timeout_s: float = 1800, video_decoder_cache_size: int | None = None, eval_split: float = 0.0)
```

[Nguồn](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/configs/default.py#L30)

## EvalConfig[[lerobot.configs.EvalConfig]]

#### lerobot.configs.EvalConfig[[lerobot.configs.EvalConfig]]

```python
lerobot.configs.EvalConfig(n_episodes: int = 50, batch_size: int = 0, use_async_envs: bool = True, recording: bool = False, recording_repo_id: str | None = None, recording_private: bool = False, max_episode_steps: int | None = None)
```

[Nguồn](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/configs/default.py#L169)

## TrackioConfig[[lerobot.configs.TrackioConfig]]

#### lerobot.configs.TrackioConfig[[lerobot.configs.TrackioConfig]]

```python
lerobot.configs.TrackioConfig(enable: bool = False, disable_artifact: bool = True, project: str = 'lerobot', space_id: str | None = None, private: bool | None = None, run_name: str | None = None, resume: str | None = None, capture_console: bool = True)
```

[Nguồn](https://github.com/huggingface/lerobot/blob/v0.7.0/src/lerobot/configs/default.py#L136)

Theo dõi các lần chạy huấn luyện với Trackio (https://huggingface.co/docs/trackio).

Các run được lưu trong cơ sở dữ liệu SQLite cục bộ tại `~/.cache/huggingface/trackio` và xem bằng `trackio show --project <project>`. Đặt `space_id` để đồng bộ run với một Hugging Face Space thay vì lưu cục bộ.

