介绍
diffusers 是一个用于最先进的预训练扩散模型的开源库,专门用于生成图像、音频甚至分子的3D结构。无论是寻求简单的推理解决方案还是训练自己的扩散模型,diffusers 都是一个模块化的工具箱,可以支持这两种需求。该库的设计理念注重易用性、简单性和可定制性。
核心组件
diffusers 提供了三个核心组件:
- 最先进的扩散管道:只需几行代码即可进行推理。
- 可互换的噪声调度器:用于不同的扩散速度和输出质量。
- 预训练模型:可以作为构建块使用,并与调度器结合,创建自己的端到端扩散系统。
安装
推荐使用虚拟环境从 PyPI 或 Conda 安装 diffusers。对于 PyTorch 和 Flax,可以参考它们的官方文档进行安装。
快速入门
使用 diffusers 生成输出非常简单。例如,要从文本生成图像,可以使用 from_pretrained
方法加载任何预训练的扩散模型:
from diffusers import DiffusionPipeline
import torch
pipeline = DiffusionPipeline.from_pretrained("stable-diffusion-v1-5", torch_dtype=torch.float16)
pipeline.to("cuda")
image = pipeline("An image of a squirrel in Picasso style").images[0]
文档导航
diffusers 的文档分为几个主要部分:
- 教程:基本入门课程,介绍库的最重要功能。
- 加载:如何加载和配置库的所有组件。
- 用于推理的管道:如何使用管道进行不同的推理任务。
- 优化:如何优化扩散模型以更快运行并消耗更少内存。
- 训练:如何训练用于不同任务的扩散模型。
贡献
diffusers 欢迎来自开源社区的贡献。可以查看贡献指南,寻找感兴趣的问题来解决。也可以加入 Discord 频道与社区交流。
热门任务和管道
diffusers 支持多种热门任务,包括无条件图像生成、文本到图像、文本引导的图像到图像、文本引导的图像修复、图像变体和超分辨率等。每种任务都有相应的管道和预训练模型可供使用。
流行的使用 diffusers 的库
有许多受欢迎的项目和库正在使用 diffusers,包括 Microsoft 的 TaskMatrix、InvokeAI、Apple 的 ml-stable-diffusion 等。
总的来说,diffusers 是一个功能强大且灵活的库,为使用和开发扩散模型提供了丰富的工具和资源。它正在被广泛应用于各种生成任务和研究项目中。