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 يوفر خط أنابيب Stable Diffusion متوافق مع ONNX Runtime. ستحتاج إلى تثبيت 🤗 Optimum باستخدام الأمر التالي لدعم ONNX Runtime:

pip install -q optimum["onnxruntime"]

ستُظهر لك هذه الدليل كيفية استخدام خطوط أنابيب Stable Diffusion و Stable Diffusion XL (SDXL) مع ONNX Runtime.

Stable Diffusion

لتحميل النموذج وتشغيل الاستدلال، استخدم ORTStableDiffusionPipeline. إذا كنت ترغب في تحميل نموذج PyTorch وتحويله إلى صيغة ONNX على الفور، فاضبط 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")

يبدو أن توليد عدة موجهات دفعة واحدة يستهلك ذاكرة كبيرة. وبينما نبحث في الأمر، قد تحتاج إلى التكرار بدلاً من معالجة الدفعة.

لتصدير خط الأنابيب بصيغة ONNX دون اتصال واستخدامه لاحقًا للاستدلال، استخدم أمر optimum-cli export:

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

ثم لإجراء الاستدلال (لا يتعين عليك تحديد export=True مرة أخرى):

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]

يمكنك العثور على مزيد من الأمثلة في التوثيق الخاص بـ 🤗 Optimum، كما أن Stable Diffusion مدعوم لتوليد الصور من النص، وتحويل الصورة إلى صورة، وإعادة رسم المناطق (inpainting).

Stable Diffusion XL

لتحميل وتشغيل الاستدلال مع SDXL، استخدم 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]

لتصدير خط الأنابيب بصيغة ONNX واستخدامه لاحقًا للاستدلال، استخدم الأمر optimum-cli export:

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

يُؤمَّن دعم SDXL بتنسيق ONNX لتوليد الصور من النص وتحويل الصور إلى صور.

Update on GitHub