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 спроектирован с относительно компактной архитектурой и надежной способностью следовать инструкциям, с акцентом на эффективность параметров. На основе 8B DiT backbone он обеспечивает производительность, сопоставимую в некоторых сценариях с более крупными (20B+) моделями, сохраняя при этом разумную эффективность параметров. Он предлагает относительно стабильный уровень производительности в понимании и выполнении инструкций, генерации текста (например, на английском / китайском / японском языках) и общей стабильности.
ERNIE-Image-Turbo
ERNIE-Image-Turbo — это дистиллированная версия ERNIE-Image, требующая всего 8 NFE (Number of Function Evaluations) и предлагающая более эффективную альтернативу с относительно сопоставимым качеством по сравнению с полной моделью в некоторых случаях.
ErnieImagePipeline
Используйте [ErnieImagePipeline] для генерации изображений по текстовым запросам. По умолчанию пайплайн поддерживает Prompt Enhancer (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")