# Kurulum

Bu kılavuz, ortamları yönetmek için `conda` (miniforge üzerinden) kullanır (önerilir). Başka bir ortam yöneticisi tercih ediyorsanız (ör. `uv`, `venv`), Python >=3.12 sürümüne sahip olduğunuzdan emin olun ve ardından [Ortam Kurulumu](#step-2-environment-setup) bölümüne atlayın.

## Adım 1 (yalnızca `conda`): [`miniforge`](https://conda-forge.org/download/) kurun

```bash
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
```

## Adım 2: Ortam Kurulumu

Python 3.12 ile sanal bir ortam oluşturun:

```bash
conda create -y -n lerobot python=3.12
```

= yalnızca 2.10)">
```bash
uv python install 3.12
uv venv --python 3.12
```

Ardından sanal ortamınızı etkinleştirin; lerobot'u kullanmak için her seferinde bir kabuk açtığınızda bunu yapmanız gerekir:

```bash
conda activate lerobot
```

> [!NOTE]
> WSL (Windows Subsystem for Linux) içinde LeRobot'u kurarken `evdev`'in de kurulduğundan emin olun:
>
> ```bash
> conda install evdev -c conda-forge
> ```

= yalnızca 2.10)">
```bash
# Linux/macOS
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\activate
```

> [!NOTE]
> WSL (Windows Subsystem for Linux) içinde LeRobot'u kurarken `evdev`'in de kurulduğundan emin olun:
>
> ```bash
> sudo apt install libevdev-dev
> uv pip install evdev
> ```

### Platform gereksinimleri

Apple Silicon'de PyTorch, **macOS 14 veya daha yeni** bir sürüm gerektirir ve MPS hızlandırma **macOS 15 veya daha yeni** bir sürüm gerektirir (macOS 14'te LeRobot CPU'ya geri düşer). Linux'ta, varsayılan PyTorch tekerlekleri **580.65 veya daha yeni** bir NVIDIA sürücüsü gerektirir; daha eski sürücüler için [PyTorch CUDA varyantı](#pytorch-cuda-variant-linux-only) bölümüne bakın.

### Video çözme için `ffmpeg` kurun

LeRobot, varsayılan olarak video çözümleme için [TorchCodec](https://github.com/meta-pytorch/torchcodec) kullanır ve bunun için `ffmpeg` gereklidir.

> [!NOTE]
> **Platform desteği:** TorchCodec, macOS Intel (x86_64) veya Linux armv7l üzerinde **mevcut değildir**. Bu platformlarda LeRobot otomatik olarak `pyav` çözümüne geri döner — bu nedenle `ffmpeg` kurmanıza gerek yoktur ve doğrudan 3. Adıma geçebilirsiniz.
>
> **Jetson (aarch64 + CUDA):** video çözme işlemi varsayılan olarak CPU üzerinde çalışır. [`docker/Dockerfile.jetson`](https://github.com/huggingface/lerobot/blob/main/docker/Dockerfile.jetson), JetPack 6.2 için CUDA desteğiyle `torch`/`torchcodec` paketlerini kaynak kodundan derler — topluluk tarafından sürdürülmektedir; önceden derlenmiş görüntü için [`ravediamond/lerobot-jetson`](https://github.com/ravediamond/lerobot-jetson) ve arka plan bilgisi için [#819](https://github.com/huggingface/lerobot/issues/819) sorununu inceleyin.

Platformunuz TorchCodec'i destekliyorsa, `ffmpeg`'yi aşağıdaki yöntemlerden biriyle yükleyin:

Conda ortamınıza `ffmpeg` yükleyin. Bu yöntem **tüm PyTorch sürümleriyle** çalışır ve **PyTorch < 2.10 için zorunludur**:

```bash
conda install ffmpeg -c conda-forge
```

> [!TIP]
> Bu işlem genellikle `libsvtav1` kodlayıcısıyla birlikte `ffmpeg 8.X` sürümünü yükler. Sorunlarla karşılaşırsanız (ör. `libsvtav1` eksik — `ffmpeg -encoders` komutuyla kontrol edin — veya `torchcodec` ile sürüm uyumsuzluğu), `ffmpeg 7.1.1` sürümünü aşağıdaki komutla açıkça yükleyebilirsiniz:
>
> ```bash
> conda install ffmpeg=7.1.1 -c conda-forge
> ```

= yalnızca 2.10)">

**PyTorch >= 2.10** (TorchCodec ≥ 0.10) sürümünden itibaren TorchCodec, sistem genelindeki `ffmpeg` kurulumuna dinamik olarak bağlanabilir. Bu, `uv` veya diğer `conda` olmayan ortam yöneticilerini kullanırken faydalıdır:

```bash
# Ubuntu/Debian
sudo apt install ffmpeg

# macOS (Apple Silicon)
brew install ffmpeg
```

> [!IMPORTANT]
> Sistem genelindeki `ffmpeg` yalnızca **PyTorch >= 2.10** (TorchCodec ≥ 0.10) ile desteklenir. Daha eski PyTorch sürümleri için bunun yerine **mutlaka** `conda install ffmpeg -c conda-forge` kullanmalısınız.

## Adım 3: LeRobot'u kurun 🤗

Temel `lerobot` kurulumu bilinçli olarak **hafif** tutulmuştur — yalnızca çekirdek ML bağımlılıklarını (PyTorch, torchvision, numpy, opencv, einops, draccus, huggingface-hub, gymnasium, safetensors) içerir. Daha ağır bağımlılıklar, yalnızca ihtiyacınız olanı kurabilmeniz için isteğe bağlı eklerin arkasında tutulmuştur.

### Kaynaktan

Önce depoyu klonlayın ve dizine geçin:

```bash
git clone https://github.com/huggingface/lerobot.git
cd lerobot
```

Ardından, kütüphaneyi düzenlenebilir modda yükleyin. Bu, koda katkıda bulunmayı planlıyorsanız faydalıdır.

```bash
pip install -e ".[core_scripts]"  # For robot workflows (recording, replaying, calibrate)
pip install -e ".[training]"      # For training policies
pip install -e ".[all]"           # Everything (all policies, envs, hardware, dev tools)
```

```bash
uv pip install -e ".[core_scripts]"  # For robot workflows (recording, replaying, calibrate)
uv pip install -e ".[training]"      # For training policies
uv pip install -e ".[all]"           # Everything (all policies, envs, hardware, dev tools)
```

### PyPI'den kurulum

**Temel Kütüphane:** Temel paketi şu komutla yükleyin:

```bash
pip install lerobot
```

```bash
uv pip install lerobot
```

_Bu, yalnızca çekirdek ML bağımlılıklarını yükler. Çoğu iş akışı için ekler eklemeniz gerekir._

**Özellik Ekstraları:** LeRobot, yaygın iş akışlarına karşılık gelen **özellik kapsamındaki ekstraları** sağlar. `uv` kullanıyorsanız, aşağıdaki komutlarda `pip install` ifadesini `uv pip install` ile değiştirin.

| Ek      | Ne ekler                                | Tipik kullanım senaryosu                    |
| ---------- | ------------------------------------------- | ----------------------------------- |
| `dataset`  | `datasets`, `av`, `torchcodec`, `jsonlines` | Veri kümelerini yükleme ve oluşturma         |
| `training` | `dataset` + `accelerate`, `trackio`         | Eğitim politikaları                   |
| `hardware` | `pynput`, `pyserial`, `deepdiff`            | Gerçek robotlara bağlanma           |
| `viz`      | `rerun-sdk`, `foxglove-sdk`                 | Kayıt/değerlendirme sırasında görselleştirme |

**Composite Extras**, yaygın CLI betikleri için özellik eklerini birleştirir:

| Ek          | İçerir                       | Tipik kullanım senaryosu                                        |
| -------------- | ------------------------------ | ------------------------------------------------------- |
| `core_scripts` | `dataset` + `hardware` + `viz` | `lerobot-record`, `lerobot-replay`, `lerobot-calibrate` |
| `evaluation`   | `av`                           | `lerobot-eval` (gerekirse politika + çevre eklerini ekleyin)      |
| `dataset_viz`  | `dataset` + `viz`              | `lerobot-dataset-viz`, `lerobot-imgtransform-viz`       |

```bash
pip install 'lerobot[core_scripts]'          # Record, replay, calibrate
pip install 'lerobot[training]'              # Train policies
pip install 'lerobot[core_scripts,training]' # Record + train
pip install 'lerobot[all]'                   # Everything
```

**Politika, ortam ve donanım ekleri** belirli bağımlılıklar için hâlâ kullanılabilir:

```bash
pip install 'lerobot[pi]'             # Pi0/Pi0.5/Pi0-FAST policy deps
pip install 'lerobot[smolvla]'        # SmolVLA policy deps
pip install 'lerobot[diffusion]'      # Diffusion policy deps (diffusers)
pip install 'lerobot[aloha,pusht]'    # Simulation environments
pip install 'lerobot[feetech]'        # Feetech motor support
```

_Birden fazla ek birleştirilebilir (ör. `.[core_scripts,pi,pusht]`). Kullanılabilir eklerin tam listesi için `pyproject.toml` dosyasına bakın._

### PyTorch CUDA varyantı (yalnızca Linux)

Linux'ta `torch` ve `torchvision`, varsayılan tekerlekleri CUDA 13 derlemeleri olan (sürücü alt sınırı **580.65**) PyPI'dan gelir. macOS ve Windows kurulumları PyPI varsayılan tekerleklerini kullanır ve bu bölümü atlayabilir.

Daha eski bir sürücü veya GPU için önce eşleşen [PyTorch index](https://pytorch.org/get-started/locally/)'ten PyTorch'yi, ardından LeRobot'u yükleyin. PyPI'daki Linux TorchCodec de CUDA 13 derlemesidir, bu nedenle onu CPU index'inden alın (torch 2.11'in altındaysa, [TorchCodec uyumluluk tablosu](https://github.com/meta-pytorch/torchcodec#installing-torchcodec)'ndan eşleşen sürümü seçin):

```bash
pip install --index-url https://download.pytorch.org/whl/cu126 torch torchvision
pip install --index-url https://download.pytorch.org/whl/cpu torchcodec
pip install -e ".[all]"          # source
# — or —
pip install lerobot              # from PyPI
```

> [!NOTE]
> `cu126`, yalnızca CUDA 12 destekleyen sürücüler için PyTorch'un koruduğu derlemedir. torch 2.15'in CUDA 12 derlemesi yoktur, bu nedenle bu index torch 2.14'ü yükler ve CUDA 12'de kalmak, torch 2.14 veya daha eski bir sürümde kalmak anlamına gelir.

`uv pip` ile `--torch-backend`, indeksi tek adımda seçer, örneğin `uv pip install --torch-backend cu126 lerobot`. `uv sync` her zaman taahhüt edilen kilidi yükler: oradaki CUDA derlemesini değiştirmek için indeksi `pyproject.toml` içindeki `[tool.uv.index]` ve `[tool.uv.sources]` bölümlerine ekleyip `uv lock` komutunu yeniden çalıştırın.

### Sorun Giderme

Derleme hatalarıyla karşılaşırsanız, ek sistem bağımlılıklarını kurmanız gerekebilir: `cmake`, `build-essential` ve `ffmpeg libs`. Bunları Linux için kurmak için şunu çalıştırın:

```bash
sudo apt-get install cmake build-essential python3-dev pkg-config libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev
```

Diğer sistemler için bkz: [PyAV'ı derleme](https://pyav.org/docs/develop/overview/installation.html#bring-your-own-ffmpeg)

## İsteğe bağlı bağımlılıklar

LeRobot, belirli işlevler için isteğe bağlı ekler sağlar. Birden fazla ek birleştirilebilir (ör. `.[aloha,feetech]`). Kullanılabilir tüm ekler için `pyproject.toml` dosyasına bakın. `uv` kullanıyorsanız, aşağıdaki komutlarda `pip install` ifadesini `uv pip install` ile değiştirin.

### Simülasyonlar

Ortam paketlerini yükleyin: `aloha` ([gym-aloha](https://github.com/huggingface/gym-aloha)), `pusht` ([gym-pusht](https://github.com/huggingface/gym-pusht)), [`libero`](./libero) (yalnızca Linux) veya [`metaworld`](./metaworld). Bunlar `dataset` ekini otomatik olarak içerir.

```bash
pip install -e ".[aloha]" # or "[pusht]" for example
```

### Motor Kontrolü

Motorlarınız için ek bileşeni yükleyin: Koch v1.1 için `dynamixel`, SO100/SO101/Moss için `feetech`. İkisi de motorlarla [rustypot](https://github.com/pollen-robotics/rustypot) üzerinden iletişim kurar.

```bash
pip install -e ".[feetech]" # or "[dynamixel]" for example
```

### Deney Takibi

[Trackio](https://huggingface.co/docs/trackio), `training` ek paketinin bir parçasıdır. Yerel çalıştırmalar için hesap veya oturum açma gerekmez; bunlar `~/.cache/huggingface/trackio` altında yerel bir SQLite veritabanında saklanır. Panoyu şu komutla açın:

```bash
trackio show --project lerobot
```

Çalışmaları bir Hugging Face Space'e (yoksa oluşturulur) senkronize etmek için `hf auth login` komutunu çalıştırın ve `--trackio.space_id=<user>/<space>` parametresini iletin. İzleme etkinleştirilmiş uzak işler (`--job.target`), iş sonlandığında pod'un yerel veritabanının kaybolması nedeniyle `space_id` gerektirir.

Space gizliliği varsayılan olarak `None`'dir: organizasyonun varsayılanı özel değilse yeni Spaces herkese açıktır. Özel bir Space oluşturmak için `--trackio.private=true` parametresini geçirin.

Her çalıştırma, onu başlatan komutu ve konsol çıktısını (yazdırma, günlükler, iz yığınları) kaydeder; bunların ikisi de panodaki çalıştırma sayfasında görüntülenir. Bir Space'te bunlar, Space'in kendisi kadar görünürdür; konsol çıktısını çalıştırmadan dışarıda tutmak için `--trackio.capture_console=false` parametresini geçirin.

#### Weights & Biases'ten Geçiş

| W&B ayarı                     | Trackio ayarı                                                                                  |
| ------------------------------- | ------------------------------------------------------------------------------------------------ |
| `--wandb.enable=true`           | `--trackio.enable=true`                                                                          |
| `--wandb.project=<project>`     | `--trackio.project=<project>`                                                                    |
| `--wandb.disable_artifact=true` | Zaten varsayılandır; dahil olmak için `--trackio.disable_artifact=false` kullanın                            |
| `--wandb.entity=<team>`         | Yönetilen günlük kaydı için `--trackio.space_id=<user-or-org>/<space>` seçin                             |
| `--wandb.run_id=<id>`           | Mevcut bir **Trackio** çalıştırması için `--trackio.run_name=<name>` kullanın                                  |
| `--wandb.mode=offline`          | Yerel kayıt için `space_id` parametresini atlayın; ayrıca `TRACKIO_SPACE_ID` ve `TRACKIO_SERVER_URL` tanımlıysa bunları da kaldırın |
| `--wandb.mode=disabled`         | `--trackio.enable=false`                                                                         |
| `--wandb.console=off`           | `--trackio.capture_console=false`                                                                |

## Sonraki adımlar

- **Robotunuz var mı?** Kenar çubuğundaki **Robots** bölümündeki ilgili sayfasını (örneğin [SO-101](./so101)) takip ederek robotunuzu monte edin ve kalibre edin, ardından bir veri seti kaydedin ve [imitation learning tutorial](./il_robots) ile ilk politikanızı eğitin.
- **Henüz donanımınız yok mu?** [LIBERO](./libero) ile simülasyonda bir politika eğitebilir ve değerlendirebilir veya [Colab defterlerini](./notebooks) deneyebilirsiniz.
- **Katkıda bulunmak ister misiniz?** [Katkıda bulunma kılavuzunu](./contributing) okuyun.
- [hile sayfasını](./cheat-sheet) elinizin altında bulundurun: tüm LeRobot komutlarını tek bir yerde listeler.

