二、Diffusers 的 pipeline
如果对库和扩散模型不熟悉,可能很难知道要使用哪个管道来完成任务。例如,如果使用**runwayml/stable-diffusion-v1-5检查点进行文本到图像,也可以通过使用以下命令加载检查点来将其用于图像到图像和修复:分别是StableDiffusionImg2ImgPipeline和StableDiffusionInpaintPipeline**类。
AutoPipeline
在引擎盖下,AutoPipelineForText2Image:
- 自动从文件
"stable-diffusion"**[model_index.json](https://huggingface.co/runwayml/stable-diffusion-v1-5/blob/main/model_index.json)**
中检测类 - 根据类名加载对应的文本转图像的**StableDiffusionPipeline**
"stable-diffusion"
同样,对于图像到图像,AutoPipelineForImage2Image"stable-diffusion"
会从文件中检测到检查点model_index.json
,并会在幕后加载相应的**StableDiffusionImg2ImgPipeline 。**您还可以传递特定于管道类的任何其他参数,例如strength
,它确定添加到输入图像的噪声或变化量:
from diffusers import AutoPipelineForImage2Image
import torch
import requests
from PIL import Image
from io import BytesIO
pipeline = AutoPipelineForImage2Image.from_pretrained(
"runwayml/stable-diffusion-v1-5",
torch_dtype=torch