mirror of
https://github.com/modelscope/DiffSynth-Studio.git
synced 2026-03-19 14:58:12 +00:00
2.8 KiB
2.8 KiB
快速开始
在这篇文档中,我们通过一段代码为你介绍如何快速上手使用 DiffSynth-Studio 进行创作。
安装
使用以下命令从 GitHub 克隆并安装 DiffSynth-Studio。更多信息请参考安装。
git clone https://github.com/modelscope/DiffSynth-Studio.git
cd DiffSynth-Studio
pip install -e .
一键运行!
通过运行以下代码,我们将会下载模型、加载模型、生成图像。
from diffsynth import ModelManager, SDXLImagePipeline
model_manager = ModelManager(device="cuda", model_id_list=["StableDiffusionXL_v1"])
pipe = SDXLImagePipeline.from_model_manager(model_manager)
image = pipe(
prompt="Diffuse light particles in the universe",
height=576, width=1024, seed=0
)
image.save("image.jpg")
从这个例子中,我们可以看到,DiffSynth 中有两个关键模块:ModelManager 和 Pipeline,接下来我们详细介绍。
下载和加载模型
ModelManager 负责下载和加载模型,通过以下代码可以直接一步完成。
from diffsynth import ModelManager, SDXLImagePipeline
model_manager = ModelManager(device="cuda", model_id_list=["StableDiffusionXL_v1"])
当然,我们也支持分步完成,以下代码和上述代码的行为是等价的。
from diffsynth import download_models, ModelManager
download_models(["StableDiffusionXL_v1"])
model_manager = ModelManager(device="cuda")
model_manager.load_models(["models/stable_diffusion_xl/sd_xl_base_1.0.safetensors"])
下载模型时,我们支持从 ModelScope 和 HuggingFace 下载模型,也支持下载非预置的模型,关于模型下载的更多信息请参考模型下载。
加载模型时,你可以把所有想要加载的模型路径放入其中。对于 .safetensors 等格式的模型权重文件,ModelManager 在加载后会自动判断模型类型;对于文件夹格式的模型,ModelManager 会尝试解析其中的 config.json 文件并尝试调用 transformers 等第三方库中的对应模块。关于 DiffSynth-Studio 支持的模型,请参考支持的模型。
构建 Pipeline
DiffSynth-Studio 提供了多个推理 Pipeline,这些 Pipeline 可以直接通过 ModelManager 获取所需的模型并初始化。例如,Kolors(可图)模型的文生图 Pipeline 可以这样构建:
pipe = SDXLImagePipeline.from_model_manager(model_manager)
更多用于图像生成和视频生成的 Pipeline 详见推理流水线。