Diffusers documentation
ERNIE-Image
快速入门
推理
使用扩散流水线
适配器与个性化
优化与扩展
模块化 Diffusers
训练与微调
资源
贡献
API
主要类
模块化
加载器
模型
管道
概述AutoPipeline
音频
图像
AnimaAnimateDiffAuraFlowBria 3.2Bria FiboBria Fibo 2.0Bria Fibo 编辑ChromaCogView3CogView4一致性模型ControlNetFlux.1 的 ControlNetHunyuan-DiT 的 ControlNetStable Diffusion 3 的 ControlNetStable Diffusion XL 的 ControlNetControlNet-SanaControlNetUnionDDIMDDPMDeepFloyd IFDiTDreamLiteEasyAnimateEchoERNIE-ImageFluxFlux2Flux3FluxControlInpaintGLM-ImageHiDream-I1Hunyuan-DiTHunyuanImage2.1Ideogram 4InstructPix2PixJoyImage EditJoyImage Edit PlusKandinsky 2.1Kandinsky 2.2Kandinsky 3Kandinsky 5.0 图像KolorsKrea 2潜在一致性模型潜在扩散LEDITS++LongCat-ImageLumina 2.0Lumina-T2XMarigoldMiniMax-H3-ImageNucleusMoE-ImageOmniGenOvis-ImageP-H3-ImagePAGPika H3 FlexPixArt-αPixArt-ΣPRXPRX PixelQwen-Image 2.1QwenImageSanaSana SprintSana VideoSANA-WMShap-EStable Cascade Stable unCLIP价值引导采样VisualClozeZ-Image
Stable Diffusion
蛋白质
文本
视频
调度器
内部类
Ernie-Image
[ERNIE-Image] 是一个拥有 8B 参数、功能强大且高效能极高的图像生成模型。目前仅有两个模型可供发布:
| 模型 | 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 骨干网络,它在某些场景下可提供与更大规模(20B+)模型相媲美的性能,同时保持合理的参数效率。它在指令理解与执行、文本生成(例如英语 / 中文 / 日语)以及整体稳定性方面,均能提供相对稳定的性能水平。
ERNIE-Image-Turbo
ERNIE-Image-Turbo 是 ERNIE-Image 的蒸馏变体,仅需 8 次 NFE(Number of Function Evaluations,函数求值次数),在某些情况下可提供与完整模型性能相对接近且效率更高的替代方案。
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")