Diffusers documentation
ONNX Runtime
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