Diffusers 文档

哈瓦那高迪

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

入门

Habana Gaudi

🤗 Diffusers 通过 🤗 Optimum 与 Habana Gaudi 兼容。请遵循 安装 指南以安装 SynapseAI 和 Gaudi 驱动程序,然后安装 Optimum Habana

python -m pip install --upgrade-strategy eager optimum[habana]

要在 Gaudi 上使用 Stable Diffusion 1 和 2 生成图像,您需要实例化两个实例

  • GaudiStableDiffusionPipeline,一个用于文生图生成的管道。
  • GaudiDDIMScheduler,一个针对 Gaudi 优化的调度器。

初始化管道时,您必须指定 use_habana=True 以将其部署到 HPU 上,为了获得最快的生成速度,您应该使用 use_hpu_graphs=True 启用 **HPU 图**。

最后,指定一个 GaudiConfig,该配置可以从 Hub 上的 Habana 组织下载。

from optimum.habana import GaudiConfig
from optimum.habana.diffusers import GaudiDDIMScheduler, GaudiStableDiffusionPipeline

model_name = "stabilityai/stable-diffusion-2-base"
scheduler = GaudiDDIMScheduler.from_pretrained(model_name, subfolder="scheduler")
pipeline = GaudiStableDiffusionPipeline.from_pretrained(
    model_name,
    scheduler=scheduler,
    use_habana=True,
    use_hpu_graphs=True,
    gaudi_config="Habana/stable-diffusion-2",
)

现在,您可以调用管道,通过一个或多个提示以批处理方式生成图像。

outputs = pipeline(
    prompt=[
        "High quality photo of an astronaut riding a horse in space",
        "Face of a yellow cat, high resolution, sitting on a park bench",
    ],
    num_images_per_prompt=10,
    batch_size=4,
)

有关更多信息,请查看 🤗 Optimum Habana 的 文档 以及官方 GitHub 存储库中提供的 示例

基准测试

我们使用 Habana/stable-diffusionHabana/stable-diffusion-2 Gaudi 配置(混合精度 bf16/fp32)对 Habana 的第一代 Gaudi 和 Gaudi2 进行了基准测试,以展示它们的性能。

对于 Stable Diffusion v1.5,在 512x512 图像上

延迟(批次大小 = 1) 吞吐量
第一代 Gaudi 3.80s 0.308 图像/秒(批次大小 = 8)
Gaudi2 1.33s 1.081 图像/秒(批次大小 = 8)

对于 Stable Diffusion v2.1,在 768x768 图像上

延迟(批次大小 = 1) 吞吐量
第一代 Gaudi 10.2s 0.108 图像/秒(批次大小 = 4)
Gaudi2 3.17s 0.379 图像/秒(批次大小 = 8)
< > 更新 在 GitHub 上