> ## Documentation Index
> Fetch the complete documentation index at: https://avala.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 내보내기

> LeRobot 데이터셋을 Avala로 가져오고, Avala 데이터셋을 LeRobot으로 내보내는 방법, 그리고 각 플릿 학습 릴리스에 포함되는 내용

플릿 학습 릴리스는 고객의 학습 스택에 맞게 만들어집니다. 이 페이지는 LeRobot 임포터, LeRobot 익스포터, 모든 릴리스에 포함되는 파일을 다룹니다.

## 각 릴리스에 포함되는 항목

플릿 학습 프로그램의 모든 릴리스에는 다음이 포함됩니다:

| 항목 | 내용 |
| - | - |
| 데이터셋 릴리스 | 버전이 지정되고 권리가 확보된 Avala 데이터셋. 학습 레인과 실패 및 복구 레인은 슬라이스로 제공됩니다. |
| 결과 라벨 | 각 시퀀스의 현재 [결과 라벨](/docs/ko/fleet-learning/sequence-metadata.md). API, SDK, CLI, MCP 서버로 읽을 수 있습니다. |
| LeRobot 내보내기 | LeRobot v3 형식의 릴리스. 결과 라벨은 `meta/avala_sequence_outcomes.jsonl`에 들어 있습니다. |
| 커버리지 리포트 | 해당 납품의 [커버리지 리포트](/docs/ko/fleet-learning/coverage.md). |
| 역량 리포트 | 평가가 실행된 경우 최신 [역량 리포트](/docs/ko/fleet-learning/evaluation.md). |

Avala는 프로그램의 일부로 LeRobot 내보내기를 준비합니다. 학습은 고객이 실행합니다.

## LeRobot 데이터셋 가져오기

LeRobot 임포터는 Hugging Face Hub 또는 로컬 디렉터리에서 LeRobot 데이터셋을 읽습니다. 그리고 Avala MCAP 데이터셋을 생성합니다.

* 각 LeRobot 에피소드는 하나의 `.mcap` 파일이 되며, Avala는 이를 하나의 항목으로 수집합니다. LeRobot 에피소드 하나는 Avala 시퀀스 하나에 대응합니다.
* 카메라 스트림은 `foxglove.CompressedImage`로 기록되므로 Mission Control 뷰어에서 렌더링됩니다.
* 고유 수용 감각 데이터(`observation.state`, `action` 및 기타 1차원 수치 특성)는 `google.protobuf.Struct` 메시지로 기록됩니다. 값은 보존되며 원시 메시지로 읽을 수 있습니다.
* 그 밖의 프레임별 열(보상, `episode_uuid`, `failure_type` 및 기타 텍스트 열)도 각자의 토픽에 보존됩니다. `control_source` 열(`policy`, `teleop`, `intervention`, `hold`)은 `/lerobot/control_source`에 기록됩니다.

임포터는 LeRobot v2.1 및 v3 데이터셋 API를 대상으로 합니다. `lerobot` 추가 패키지가 필요하며, 이 패키지는 Python 3.12 이상이 필요합니다. LeRobot v3 데이터셋의 경우 torch 없는 리더도 Python 3.9 이상에서 동작합니다: `pip install "avala[lerobot-core-video]"`.

```bash theme={null}
pip install "avala[lerobot]"
```

```bash CLI theme={null}
avala import lerobot \
  --repo-id your-hf-user/your-dataset \
  --name "Teleop rollouts" \
  --slug teleop-rollouts \
  --episodes 0,1,2 \
  --wait
```

```python Python theme={null}
from avala import Client
from avala.importers import import_lerobot

dataset = import_lerobot(
    Client(),
    repo_id="your-hf-user/your-dataset",
    name="Teleop rollouts",
    slug="teleop-rollouts",
    episodes=[0, 1, 2],
    wait=True,
)
print(dataset.uid, dataset.item_count)
```

| CLI 옵션 | 용도 |
| - | - |
| `--repo-id` | Hugging Face Hub 데이터셋 ID. |
| `--root` | 로컬 LeRobot 데이터셋 디렉터리. `--repo-id` 대신 또는 함께 사용합니다. |
| `--name`, `--slug` | 새 Avala 데이터셋의 이름과 슬러그(필수). |
| `--episodes` | 가져올 LeRobot 에피소드 인덱스를 쉼표로 구분한 목록. 기본값: 전체. |
| `--camera-keys` | 카메라 특성 키를 쉼표로 구분한 목록. 기본값: 모든 카메라. |
| `--fps` | 데이터셋 프레임 레이트를 재정의합니다. |
| `--owner` | 데이터셋 소유자 사용자 이름 또는 이메일. |
| `--workers` | 병렬 업로드 스레드 수. 기본값: 8. |
| `--wait` / `--no-wait` | 인덱싱이 끝날 때까지 기다립니다. 기본값: 기다리지 않음. |

`repo_id`, `root` 또는 둘 다 전달하세요. Python에서는 `state_keys`로 유지할 수치 특성을 선택합니다. 기본값은 `observation.state`와 `action`입니다.

## Avala 데이터셋을 LeRobot으로 내보내기

모든 Avala 시퀀스 데이터셋을 직접 LeRobot v3로 변환할 수도 있습니다. Avala 시퀀스 하나가 LeRobot 에피소드 하나가 됩니다.

```bash theme={null}
avala lerobot export your-org/your-dataset \
  --repo-id your-hf-user/your-dataset \
  --output ./lerobot-out \
  --fps 30 \
  --task "load the dishwasher" \
  --include-outcomes
```

`--include-outcomes`는 각 시퀀스의 현재 결과 라벨을 `meta/avala_sequence_outcomes.jsonl`에 LeRobot 에피소드당 한 줄씩 씁니다. Python에서는 `include_outcomes=True`를 전달하세요. 파일 형식은 [시퀀스 메타데이터](/docs/ko/fleet-learning/sequence-metadata.md)의 LeRobot으로 결과 라벨 내보내기 섹션에 설명되어 있습니다.

소스 프레임에 고유 수용 감각 데이터가 있으면 `--state-key`와 `--action-key`를 추가하세요. 전체 옵션 목록과 Python API는 [Avala + LeRobot](/docs/resources/frameworks/lerobot.md)에 있습니다.

## 학습에 결과 라벨 사용하기

결과 라벨은 LeRobot 내보내기와 함께 제공됩니다. 일반적인 용도는 다음과 같습니다:

* `outcome`, `progress`, `quality`, `speed`에 따라 시퀀스에 가중치를 주거나 선택합니다.
* 언어 조건부 정책을 위해 하위 작업 `label` 문자열과 손 동작 `action` 문자열로 학습합니다.
* 자체 검증 세트를 만들 때 [누출 그룹](/docs/ko/fleet-learning/sequence-metadata.md)으로 분할합니다.
* 다른 소스의 데이터를 병합할 때 `evaluation_membership`이 `held_out_eval`인 시퀀스는 학습에서 제외합니다. 릴리스에는 이 시퀀스가 절대 포함되지 않습니다.

기술적 유효성은 내보내기에 포함되지 않습니다. Avala는 시퀀스가 릴리스에 들어가기 전에 검토하고 승인합니다. [시퀀스 메타데이터](/docs/ko/fleet-learning/sequence-metadata.md)의 기술적 유효성 섹션을 참조하세요.
