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

[ERNIE-Image] é um modelo de geração de imagens poderoso e altamente eficiente, com 8B de parâmetros. Atualmente, há apenas dois modelos a serem lançados:

ModelHugging Face
ERNIE-Imagehttps://huggingface.co/baidu/ERNIE-Image
ERNIE-Image-Turbohttps://huggingface.co/baidu/ERNIE-Image-Turbo

ERNIE-Image

ERNIE-Image foi projetado com uma arquitetura relativamente compacta e uma sólida capacidade de seguir instruções, enfatizando a eficiência de parâmetros. Baseado em um backbone DiT de 8B, ele oferece desempenho comparável, em alguns cenários, ao de modelos maiores (20B+), mantendo uma eficiência de parâmetros razoável. Ele apresenta um nível de desempenho relativamente estável na compreensão e execução de instruções, na geração de texto (por exemplo, inglês / chinês / japonês) e na estabilidade geral.

ERNIE-Image-Turbo

ERNIE-Image-Turbo é uma variante destilada do ERNIE-Image, exigindo apenas 8 NFEs (Number of Function Evaluations) e oferecendo uma alternativa mais eficiente com desempenho relativamente comparável ao do modelo completo em certos casos.

ErnieImagePipeline

Use [ErnieImagePipeline] para gerar imagens a partir de prompts de texto. O pipeline suporta Prompt Enhancer (PE) por padrão, que aprimora o prompt bruto do usuário para melhorar a qualidade da saída, embora possa reduzir a precisão no seguimento de instruções.

Fornecemos um modelo PE pré-treinado com 3B parâmetros; no entanto, o uso de modelos de linguagem maiores (por exemplo, Gemini ou ChatGPT) para aprimoramento de prompts pode resultar em melhores resultados. O modelo de prompt de sistema está disponível em: https://huggingface.co/baidu/ERNIE-Image/blob/main/pe/chat_template.jinja.

Se você preferir não usar PE, defina 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