# ONNX Runtime

🤗 [Optimum](https://github.com/huggingface/optimum), ONNX Runtime ile uyumlu bir Stable Diffusion hattı sağlar. ONNX Runtime desteği için 🤗 Optimum'u aşağıdaki komutla yüklemeniz gerekir:

```bash
pip install -q optimum["onnxruntime"]
```

Bu kılavuz, Stable Diffusion ve Stable Diffusion XL (SDXL) hatlarını ONNX Runtime ile nasıl kullanacağınızı gösterecektir.

## Stable Diffusion

Yükleme ve çıkarım çalıştırmak için `ORTStableDiffusionPipeline` kullanın. Bir PyTorch modelini yükleyip onu anında ONNX biçimine dönüştürmek istiyorsanız `export=True` olarak ayarlayın:

```python
from optimum.onnxruntime import ORTStableDiffusionPipeline

model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5"
pipeline = ORTStableDiffusionPipeline.from_pretrained(model_id, export=True)
prompt = "sailing ship in storm by Leonardo da Vinci"
image = pipeline(prompt).images[0]
pipeline.save_pretrained("./onnx-stable-diffusion-v1-5")
```

> [!WARNING]
> Bir partide birden çok istek üretmek çok fazla bellek kullanıyor gibi görünüyor. Bu konuyu incelerken, partilemek yerine yineleme yapmanız gerekebilir.

ONNX biçiminde hattı çevrimdışı olarak dışa aktarmak ve daha sonra çıkarım için kullanmak için [`optimum-cli export`](https://huggingface.co/docs/optimum/main/en/exporters/onnx/usage_guides/export_a_model#exporting-a-model-to-onnx-using-the-cli) komutunu kullanın:

```bash
optimum-cli export onnx --model stable-diffusion-v1-5/stable-diffusion-v1-5 sd_v15_onnx/
```

Sonra çıkarım yapmak için (tekrar `export=True` belirtmenize gerek yok):

```python
from optimum.onnxruntime import ORTStableDiffusionPipeline

model_id = "sd_v15_onnx"
pipeline = ORTStableDiffusionPipeline.from_pretrained(model_id)
prompt = "sailing ship in storm by Leonardo da Vinci"
image = pipeline(prompt).images[0]
```

    

Daha fazla örneği 🤗 Optimum [belgelerinde](https://huggingface.co/docs/optimum/) bulabilirsiniz ve Stable Diffusion, metinden görüntüye, görüntüden görüntüye ve inpainting işlemleri için desteklenmektedir.

## Stable Diffusion XL

SDXL ile yüklemek ve çıkarım yapmak için `ORTStableDiffusionXLPipeline` kullanın:

```python
from optimum.onnxruntime import ORTStableDiffusionXLPipeline

model_id = "stabilityai/stable-diffusion-xl-base-1.0"
pipeline = ORTStableDiffusionXLPipeline.from_pretrained(model_id)
prompt = "sailing ship in storm by Leonardo da Vinci"
image = pipeline(prompt).images[0]
```

ONNX biçiminde hattı dışa aktarmak ve daha sonra çıkarım için kullanmak için [`optimum-cli export`](https://huggingface.co/docs/optimum/main/en/exporters/onnx/usage_guides/export_a_model#exporting-a-model-to-onnx-using-the-cli) komutunu kullanın:

```bash
optimum-cli export onnx --model stabilityai/stable-diffusion-xl-base-1.0 --task stable-diffusion-xl sd_xl_onnx/
```

ONNX biçimindeki SDXL, metinden görüntüye ve görüntüden görüntüye işlemler için desteklenmektedir.

