Diffusers documentation

ERNIE-Image

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
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]는 8B 파라미터를 가진 강력하고 매우 효율적인 이미지 생성 모델입니다. 현재 공개될 모델은 두 가지뿐입니다:

모델Hugging Face
ERNIE-Imagehttps://huggingface.co/baidu/ERNIE-Image
ERNIE-Image-Turbohttps://huggingface.co/baidu/ERNIE-Image-Turbo

ERNIE-Image

ERNIE-Image는 상대적으로 컴팩트한 아키텍처와 견고한 지시 따르기(instruction-following) 능력을 갖추고 있으며, 파라미터 효율성을 강조합니다. 8B DiT 백본을 기반으로 하여, 일부 시나리오에서 더 큰(20B+) 모델과 비교할 만한 성능을 제공하면서도 합리적인 파라미터 효율성을 유지합니다. 지시 이해 및 실행, 텍스트 생성(예: 영어/중국어/일본어), 전반적인 안정성에서 상대적으로 안정적인 수준의 성능을 제공합니다.

ERNIE-Image-Turbo

ERNIE-Image-Turbo는 ERNIE-Image의 증류된 변형으로, NFE(함수 평가 횟수)가 8회만 필요하며, 특정 경우 전체 모델과 상대적으로 유사한 성능을 제공하면서 더 효율적인 대안을 제시합니다.

ErnieImagePipeline

ErnieImagePipeline를 사용하여 텍스트 프롬프트에서 이미지를 생성합니다. 이 파이프라인은 기본적으로 Prompt Enhancer(PE)를 지원하며, 이는 사용자의 원시 프롬프트를 강화하여 출력 품질을 향상시킵니다. 다만, 지시 사항 준수 정확도는 감소할 수 있습니다.

3B 파라미터의 사전 학습된 PE 모델을 제공합니다. 그러나 프롬프트 강화에 더 큰 언어 모델(예: 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