# Kurulum

Transformers, [PyTorch](https://pytorch.org/get-started/locally/) ile çalışır. Python 3.11+ ve PyTorch 2.6+ üzerinde test edilmiştir.

## Sanal ortam

[uv](https://docs.astral.sh/uv/), son derece hızlı, Rust tabanlı bir Python paket ve proje yöneticisidir ve farklı projeleri yönetmek için varsayılan olarak bir [sanal ortam](https://docs.astral.sh/uv/pip/environments/) gerektirir; bu sayede bağımlılıklar arasındaki uyumluluk sorunlarını önler.

[pip](https://pip.pypa.io/en/stable/) yerine doğrudan kullanılabilir, ancak pip kullanmayı tercih ediyorsanız aşağıdaki komutlardan `uv` öğesini kaldırın.

> [!TIP]
> uv'yi yüklemek için uv [kurulum](https://docs.astral.sh/uv/guides/install-python/) belgelerine başvurun.

Transformers'ı yüklemek için sanal bir ortam oluşturun.

```bash
uv venv .env
source .env/bin/activate
```

## Python

Transformers'ı aşağıdaki komutla yükleyin.

[uv](https://docs.astral.sh/uv/), hızlı bir Rust tabanlı Python paket ve proje yöneticisidir.

NVIDIA GPU (CUDA) için PyTorch ile Transformers'ı yüklemek için [PyTorch](https://pytorch.org/get-started/locally) için uygun CUDA sürücülerini yükleyin.

Sisteminizin bir NVIDIA GPU algılayıp algılamadığını kontrol etmek için aşağıdaki komutu çalıştırın.

```bash
nvidia-smi
```

```bash
uv pip install "transformers[torch]"
```

NVIDIA Spark cihazlarında (RTX Spark dizüstü bilgisayarı gibi) ARM64 üzerinde çalışan sistemlerde Transformers'ı PyTorch ile kurmak için PyTorch'u NVIDIA PyPI indeksinden yükleyin. Bu cihazlar, varsayılan PyPI indeksinde veya standart PyTorch wheel indeksinde bulunmayan NVIDIA'nın ARM64 PyTorch derlemelerini gerektirir.

Sisteminizin bir NVIDIA GPU algılayıp algılamadığını kontrol etmek için aşağıdaki komutu çalıştırın.

```bash
nvidia-smi
```

NVIDIA PyPI dizininden PyTorch'u yükleyin, ardından Transformers'ı yükleyin.

```bash
uv pip install torch --index-url https://pypi.nvidia.com
uv pip install transformers
```

Transformers'ın yalnızca CPU içeren sürümünü yüklemek için aşağıdaki komutu çalıştırın.

```bash
uv pip install torch --index-url https://download.pytorch.org/whl/cpu
uv pip install transformers
```

Intel GPU (XPU) için PyTorch ile Transformers'ı yüklemek için uygun [Intel GPU (XPU) sürücülerini PyTorch için](https://www.intel.com/content/www/us/en/developer/articles/tool/pytorch-prerequisites-for-intel-gpu/2-13.html) yükleyin ve Intel GPU (XPU) PyTorch index URL'sini ekleyin.

Sürücüleri yükledikten sonra, [sisteminizin bir Intel GPU algılayıp algılamadığını kontrol etmek](https://dgpu-docs.intel.com/driver/verification.html) için aşağıdaki komutu çalıştırın.

```bash
xpu-smi
```

```bash
uv pip install "transformers[torch]" --extra-index-url https://download.pytorch.org/whl/xpu
```

Kurulumun başarılı olup olmadığını aşağıdaki komutla test edin. Sağlanan metin için bir etiket ve puan döndürmelidir.

```bash
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('hugging face is the best'))"
[{'label': 'POSITIVE', 'score': 0.9998704791069031}]
```

### Kaynaktan kurulum

Kaynaktan kurulum, kütüphanenin *kararlı* sürümü yerine *en son* sürümünü yükler. Bu, Transformers'ta en güncel değişikliklere sahip olduğunuzdan emin olmanızı sağlar ve en yeni özelliklerle deney yapmak veya kararlı sürümde henüz resmi olarak yayınlanmamış bir hatayı düzeltmek için faydalıdır.

Dezavantajı, en son sürümün her zaman kararlı olmayabileceğidir. Herhangi bir sorunla karşılaşırsanız, mümkün olan en kısa sürede düzeltebilmemiz için lütfen bir [GitHub Sorunu](https://github.com/huggingface/transformers/issues) açın.

Aşağıdaki komutla kaynak kodundan yükleyin.

```bash
uv pip install git+https://github.com/huggingface/transformers
```

Yukarıdaki komutla kurulumun başarılı olup olmadığını kontrol edin. Sağlanan metin için bir etiket ve puan döndürmelidir.

```bash
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('hugging face is the best'))"
[{'label': 'POSITIVE', 'score': 0.9998704791069031}]
```

### Düzenlenebilir kurulum

[Değiştirilebilir kurulum](https://pip.pypa.io/en/stable/topics/local-project-installs/#editable-installs), Transformers ile yerel geliştirme yapıyorsanız faydalıdır. Dosyaları kopyalamak yerine, yerel Transformers kopyanızı Transformers [deposuna](https://github.com/huggingface/transformers) bağlar. Dosyalar Python'ın içe aktarma yoluna eklenir.

```bash
git clone https://github.com/huggingface/transformers.git
cd transformers
uv pip install -e .
```

> [!WARNING]
> Kullanmaya devam edebilmek için yerel Transformers klasörünü korumanız gerekir.

Aşağıdaki komutla, ana depodaki en son değişikliklerle birlikte yerel Transformers sürümünüzü güncelleyin.

```bash
cd ~/transformers/
git pull
```

## conda

[conda](https://docs.conda.io/projects/conda/en/stable/#), dil bağımsız bir paket yöneticisidir. Transformers'ı, yeni oluşturduğunuz sanal ortamda [conda-forge](https://anaconda.org/conda-forge/transformers) kanalından yükleyin.

```bash
conda install conda-forge::transformers
```

## Kurulum

Kurulumdan sonra, Transformers önbellek konumunu yapılandırabilir veya kütüphaneyi çevrimdışı kullanım için ayarlayabilirsiniz.

### Önbellek dizini

[from_pretrained()](/docs/transformers/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) ile önceden eğitilmiş bir model yüklediğinizde, model Hub'dan indirilir ve yerel olarak önbelleğe alınır.

Bir commit hash'i geçirirseniz, Transformers o commit'in dosyaları için yerel önbelleği kullanır ve her biri için (bilinen eksik dosyalar dahil) Hub'a yeniden başvurmaz. Revizyon belirtilmediğinde varsayılan davranış budur.

Bir branch veya tag geçirirseniz, Transformers, yükleme başlangıcında commit'i seçmek için Hub'a bir kez bağlanır ve ardından o commit'in dosyaları için önbelleği aynı şekilde kullanır.

Kabuk ortam değişkeni `HF_HUB_CACHE` tarafından verilen varsayılan dizin `~/.cache/huggingface/hub`'dir. Windows'ta varsayılan dizin `C:\Users\username\.cache\huggingface\hub`'dir.

Aşağıdaki kabuk ortam değişkenlerindeki (önceliğe göre sıralanmıştır) yolu değiştirerek modeli farklı bir dizinde önbelleğe alın.

1. [HF_HUB_CACHE](https://hf.co/docs/huggingface_hub/package_reference/environment_variables#hfhubcache) (varsayılan)
2. [HF_HOME](https://hf.co/docs/huggingface_hub/package_reference/environment_variables#hfhome)
3. [XDG_CACHE_HOME](https://hf.co/docs/huggingface_hub/package_reference/environment_variables#xdgcachehome) + `/huggingface` (yalnızca `HF_HOME` ayarlanmamışsa)

### Çevrimdışı mod

Çevrimdışı veya güvenlik duvarlı bir ortamda Transformers kullanmak için indirilen ve önbelleğe alınan dosyaların önceden hazır olması gerekir. Hub'dan bir model deposunu [snapshot_download](https://huggingface.co/docs/huggingface_hub/v2.4.0/en/package_reference/file_download#huggingface_hub.snapshot_download) yöntemiyle indirin.

> [!TIP]
> Hub'dan dosya indirme için daha fazla seçenek hakkında bilgi almak için [Hub'dan dosya indirme](https://hf.co/docs/huggingface_hub/guides/download) kılavuzuna bakın. Belirli revizyonlardan dosya indirebilir, CLI üzerinden indirebilir ve bir depodan hangi dosyaların indirileceğini filtreleyebilirsiniz.

```py
from huggingface_hub import snapshot_download

snapshot_download(repo_id="meta-llama/Llama-2-7b-hf", repo_type="model")
```

Bir model yüklerken Hub'a HTTP çağrılarını önlemek için `HF_HUB_OFFLINE=1` ortam değişkenini ayarlayın.

Yalnızca önbellekteki dosyaları yüklemek için başka bir seçenek, [from_pretrained()](/docs/transformers/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) içinde `local_files_only=True` değerini ayarlamaktır.

```py
from transformers import LlamaForCausalLM

model = LlamaForCausalLM.from_pretrained("./path/to/local/directory", local_files_only=True)
```

Çevrimdışı mod (veya `local_files_only=True`), daha önceki bir çevrimiçi yükleme bu eşlemeyi önbelleğe kaydettiysse, bir dalı veya etiketi yine de bir commit'e dönüştürebilir. Eşleme hiç kaydedilmediyse Transformers, istediğiniz dalı veya etiketi korur ve normal çevrimdışı yüklemeyle devam eder. Normal bir çevrimdışı yüklemeye benzer şekilde aynı önbellek isabetlerini veya eksik dosya hatalarını alırsınız.

