Diffusers documentation
ONNX Runtime
ONNX Runtime
🤗 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:
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:
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")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 komutunu kullanın:
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):
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 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:
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 komutunu kullanın:
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.
Update on GitHub