Diffusers documentation

ERNIE-Image

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Ernie-Image

LoRA

[t0]ERNIE-Image[/t0] هو نموذج قوي وفعّال للغاية لتوليد الصور يحتوي على 8 مليارات من المعاملات. حاليًا، يوجد نموذجان فقط سيتم إصدارهما:

النموذجHugging Face
ERNIE-Imagehttps://huggingface.co/baidu/ERNIE-Image
ERNIE-Image-Turbohttps://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")
Update on GitHub