##🧨 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")
生成结果: 不到 10 行代码,就可以轻松构建一个可用的文生图系统!
如何构建自己的 Diffusion System
未完待续
Footnotes
-
关于 Diffusion Model 更详细的介绍,可以看看这篇文章 What are Diffusion Models? ↩