Diffusers documentation
ERNIE-Image
Ernie-Image
[ERNIE-Image] est un modèle de génération d’images puissant et très efficace, doté de 8 milliards de paramètres. Actuellement, seuls deux modèles sont prévus pour être publiés :
| Modèle | Hugging Face |
|---|---|
| ERNIE-Image | https://huggingface.co/baidu/ERNIE-Image |
| ERNIE-Image-Turbo | https://huggingface.co/baidu/ERNIE-Image-Turbo |
ERNIE-Image
ERNIE-Image est conçu avec une architecture relativement compacte et une solide capacité de suivi des instructions, en mettant l'accent sur l'efficacité des paramètres. Basé sur un backbone DiT de 8B, il offre des performances comparables, dans certains scénarios, à celles de modèles plus volumineux (20B+), tout en maintenant une efficacité paramétrique raisonnable. Il assure un niveau de performance relativement stable en matière de compréhension et d'exécution des instructions, de génération de texte (par exemple, anglais / chinois / japonais) et de stabilité globale.
ERNIE-Image-Turbo
ERNIE-Image-Turbo est une variante distillée d'ERNIE-Image, nécessitant seulement 8 NFEs (Number of Function Evaluations) et offrant une alternative plus efficace avec des performances relativement comparables à celles du modèle complet dans certains cas.
ErnieImagePipeline
Utilisez [ErnieImagePipeline] pour générer des images à partir de prompts texte. Le pipeline prend en charge le Prompt Enhancer (PE) par défaut, qui améliore le prompt brut de l’utilisateur afin d’augmenter la qualité de la sortie, bien que cela puisse réduire la précision du respect des instructions.
Nous fournissons un modèle PE préentraîné de 3 milliards de paramètres ; toutefois, l'utilisation de modèles de langage plus grands (par exemple Gemini ou ChatGPT) pour l'amélioration des prompts peut donner de meilleurs résultats. Le modèle de prompt système est disponible à l'adresse suivante : https://huggingface.co/baidu/ERNIE-Image/blob/main/pe/chat_template.jinja.
Si vous préférez ne pas utiliser PE, définissez 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")