Diffusers documentation
ERNIE-Image
Ernie-Image
[t0]ERNIE-Image[/t0] هو نموذج قوي وفعّال للغاية لتوليد الصور يحتوي على 8 مليارات من المعاملات. حاليًا، يوجد نموذجان فقط سيتم إصدارهما:
| النموذج | Hugging Face |
|---|---|
| ERNIE-Image | https://huggingface.co/baidu/ERNIE-Image |
| ERNIE-Image-Turbo | https://huggingface.co/baidu/ERNIE-Image-Turbo |
ERNIE-Image
صُمم ERNIE-Image بهيكلية مضغوطة نسبياً وقدرة متينة على اتباع التعليمات، مع التركيز على كفاءة المعاملات. ويعتمد على هيكل أساسي DiT بحجم 8B، مما يوفر أداءً قابلاً للمقارنة في بعض السيناريوهات مع النماذج الأكبر (20B+)، مع الحفاظ على كفاءة معقولة للمعاملات. كما يقدم مستوى أداءً مستقراً نسبياً في فهم التعليمات وتنفيذها، وتوليد النص (مثل الإنجليزية / الصينية / اليابانية)، والاستقرار العام.
ERNIE-Image-Turbo
ERNIE-Image-Turbo هو نسخة مُصغّرة من ERNIE-Image، تتطلب فقط 8 عمليات تقييم للدالة (NFEs)، وتوفر بديلاً أكثر كفاءة مع أداء قابل للمقارنة نسبيًا مع النموذج الكامل في بعض الحالات.
ErnieImagePipeline
استخدم ErnieImagePipeline لتوليد الصور من أوامر نصية. يدعم خط الأنابيب محسّن الأوامر (PE) افتراضيًا، والذي يعمل على تحسين الأمر الخام للمستخدم لتحسين جودة المخرجات، على الرغم من أنه قد يقلل من دقة اتباع التعليمات.
نوفر نموذج PE مُدرَّب مسبقًا يحتوي على 3 مليارات من المعاملات؛ ومع ذلك، قد يؤدي استخدام نماذج لغوية أكبر (مثل Gemini أو ChatGPT) لتحسين الأوامر إلى تحقيق نتائج أفضل. قالب الأمر النظامي متاح في: https://huggingface.co/baidu/ERNIE-Image/blob/main/pe/chat_template.jinja.
إذا كنت تفضل عدم استخدام PE، فاضبط use_pe=False.
import torch
from diffusers import ErnieImagePipeline
from diffusers.utils import load_image
pipe = ErnieImagePipeline.from_pretrained("baidu/ERNIE-Image", dtype=torch.bfloat16)
pipe.to("cuda") # or "mps", "xpu", "cpu"
# If you are running low on GPU VRAM, you can enable offloading
pipe.enable_model_cpu_offload()
prompt = "一只黑白相间的中华田园犬"
images = pipe(
prompt=prompt,
height=1024,
width=1024,
num_inference_steps=50,
guidance_scale=4.0,
generator=torch.Generator("cuda").manual_seed(42),
use_pe=True,
).images
images[0].save("ernie-image-output.png")import torch
from diffusers import ErnieImagePipeline
from diffusers.utils import load_image
pipe = ErnieImagePipeline.from_pretrained("baidu/ERNIE-Image-Turbo", dtype=torch.bfloat16)
pipe.to("cuda") # or "mps", "xpu", "cpu"
# If you are running low on GPU VRAM, you can enable offloading
pipe.enable_model_cpu_offload()
prompt = "一只黑白相间的中华田园犬"
images = pipe(
prompt=prompt,
height=1024,
width=1024,
num_inference_steps=8,
guidance_scale=1.0,
generator=torch.Generator("cuda").manual_seed(42),
use_pe=True,
).images
images[0].save("ernie-image-turbo-output.png")