skip to content
Urob's Black Hole

🧨 Diffusers 浅尝辄止

/ 2 min read

##🧨 Diffusers 是什么 🧨 Diffusers1 是一个用于推理或者训练 Diffusion Model2 的工具箱,它可以帮助我们更快速、高效地训练模型或者构建我们的解决方案。

🧨 Diffusers 工具箱主要包含三个组件:

  • DiffusionPipeline 开箱即用的端到端 diffusion system,可以直接执行我们的生成任务,比如文生图、图生图等。
  • model diffusion system 的重要组成部分,即预训练好的 Diffusion 模型。
  • schedulers diffusion system 的重要组成部分,本质上是控制模型训练时噪声的加入,以及推理时降噪图像的生成的算法。

利用 DiffusionPipeline,我们可以直接使用预定制好的 AIGC 系统,比如我们想要使用一个文生图系统,就可以直接从现成的 DiffusionPipeline 中加载:

# 安装依赖
pip install diffusers accelerate transformers
from diffusers import DiffusionPipeline
# 加载预训练模型,以及预定制的 system pipeline,这里使用的模型是 stable-diffusion-v1-5
pipeline = DiffusionPipeline.from_pretrained(
    "runwayml/stable-diffusion-v1-5", use_safetensors=True
)
# 使用 GPU
pipeline.to("cuda") # 如果你使用的是 Apple silicon (M1/M2) 系列芯片,可以使用 pipeline.to("mps")
# 生成图像
image = pipeline("An image of a cat in Picasso style").images[0]
image.save("image_of_squirrel_painting.png")

生成结果: image_of_squirrel_painting 不到 10 行代码,就可以轻松构建一个可用的文生图系统!

如何构建自己的 Diffusion System

未完待续

Footnotes

  1. 🧨 Diffusers 官方文档

  2. 关于 Diffusion Model 更详细的介绍,可以看看这篇文章 What are Diffusion Models?