Diffusers documentation

ONNX Runtime

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ONNX Runtime

🤗 Optimum menyediakan pipeline Stable Diffusion yang kompatibel dengan ONNX Runtime. Anda perlu menginstal 🤗 Optimum dengan perintah berikut untuk dukungan ONNX Runtime:

pip install -q optimum["onnxruntime"]

Panduan ini akan menunjukkan cara menggunakan pipeline Stable Diffusion dan Stable Diffusion XL (SDXL) dengan ONNX Runtime.

Stable Diffusion

Untuk memuat dan menjalankan inferensi, gunakan ORTStableDiffusionPipeline. Jika Anda ingin memuat model PyTorch dan mengonversinya ke format ONNX secara langsung, atur export=True:

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")

Membuat beberapa prompt dalam satu batch tampaknya membutuhkan terlalu banyak memori. Sementara kami menyelidiki masalah ini, Anda mungkin perlu melakukan iterasi alih-alih menggunakan batch.

Untuk mengekspor pipeline dalam format ONNX secara offline dan menggunakannya nanti untuk inferensi, gunakan perintah optimum-cli export:

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

Lalu untuk melakukan inferensi (Anda tidak perlu menentukan export=True lagi):

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]

Anda dapat menemukan lebih banyak contoh dalam dokumentasi 🤗 Optimum, dan Stable Diffusion didukung untuk text-to-image, image-to-image, dan inpainting.

Stable Diffusion XL

Untuk memuat dan menjalankan inferensi dengan SDXL, gunakan ORTStableDiffusionXLPipeline:

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]

Untuk mengekspor pipeline dalam format ONNX dan menggunakannya nanti untuk inferensi, gunakan perintah optimum-cli export:

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

SDXL in the ONNX format is supported for text-to-image and image-to-image.

Update on GitHub