Instructions to use baidu/ERNIE-Image with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use baidu/ERNIE-Image with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("baidu/ERNIE-Image", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
- DiffusionBee
metadata
license: apache-2.0
baidu/ERNIE-Image Model Cards
Model Details
Model Description
ERNIE-Image is a text-to-image generation model developed by the ERNIE team at Baidu.
In terms of image quality, ERNIE-Image is on par with current state-of-the-art models. It demonstrates significant advantages in handling complex instructions, particularly in tasks that require accurate text rendering and knowledge-intensive generation.
Key Features
- Precise text rendering: Especially strong in dense or complex text scenarios
- Excellent instruction following: Accurately interprets and executes complex prompts
- High-quality portraits and stylized images: Strong performance in both realism and artistic styles
Model Architecture
ERNIE-Image consists of the following components:
- An 8B-parameter Diffusion Transformer (DiT)
- A 3B text encoder from Ministral
- A VAE based on flux2.dev
- A prompt enhancer fine-tuned using Ministral 3B
Deployment
Thanks to its relatively compact model size, ERNIE-Image can be deployed on consumer-grade GPUs (e.g., 24GB VRAM), making high-quality image generation more accessible and practical.
Evaluation
Benchmark
Showcase
Uses
Installation & Download
Install the latest version of diffusers:
pip install git+https://github.com/huggingface/diffusers
Download the model:
pip install -U huggingface_hub
HF_XET_HIGH_PERFORMANCE=1 hf download baidu/ERNIE-Image
Recommended Parameters
- Resolution:
- 1024x1024
- 848x1264
- 1264x848
- 768x1376
- 896x1200
- 1376x768
- 1200x896
- Guidance scale: 4.0
- Inference steps: 50
Usage Example
import os
os.environ["CUBLAS_WORKSPACE_CONFIG"] = ":4096:8"
import random
import numpy as np
import torch
from diffusers import ErnieImagePipeline
seed = 42
print(f"seed: {seed}")
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
torch.backends.cudnn.deterministic = True
torch.use_deterministic_algorithms(True)
torch.backends.cudnn.benchmark = False
# 加载 pipeline
pipe = ErnieImagePipeline.from_pretrained(
"baidu/ERNIE-Image",
torch_dtype=torch.bfloat16,
)
pipe = pipe.to("cuda")
pipe.transformer.eval()
pipe.vae.eval()
pipe.text_encoder.eval()
pipe.pe.eval()
# 如果是消费级显卡,例如 Nvidia 3090
# pipe.enable_model_cpu_offload()
# 设置随机种子
generator = torch.Generator(device="cuda").manual_seed(seed)
# 生成图片
output = pipe(
prompt=prompt,
height=1024,
width=1024,
num_inference_steps=50,
guidance_scale=5.0,
generator=generator,
num_images_per_prompt=1,
use_pe=True
)
revised_prompt = output.revised_prompts
images = output.images
image.save(f"./hf_output_0.png")
print(revised_prompt)