单个文件
该 from_single_file() 方法允许您加载
- 存储在单个文件中的模型,如果您使用扩散生态系统中的模型(如 Automatic1111)并且通常依靠单个文件布局来存储和共享模型,这将非常有用
- 存储在原始分布布局中的模型,如果您使用其他服务微调的模型,并且希望将其直接加载到 Diffusers 模型对象和管道中,这将非常有用
阅读 模型文件和布局 指南,以了解有关 Diffusers 多文件夹布局与单个文件布局的更多信息,以及如何加载存储在这些不同布局中的模型。
支持的管道
- CogVideoXPipeline
- CogVideoXImageToVideoPipeline
- CogVideoXVideoToVideoPipeline
- StableDiffusionPipeline
- StableDiffusionImg2ImgPipeline
- StableDiffusionInpaintPipeline
- StableDiffusionControlNetPipeline
- StableDiffusionControlNetImg2ImgPipeline
- StableDiffusionControlNetInpaintPipeline
- StableDiffusionUpscalePipeline
- StableDiffusionXLPipeline
- StableDiffusionXLImg2ImgPipeline
- StableDiffusionXLInpaintPipeline
- StableDiffusionXLInstructPix2PixPipeline
- StableDiffusionXLControlNetPipeline
- StableDiffusionXLKDiffusionPipeline
- StableDiffusion3Pipeline
- LatentConsistencyModelPipeline
- LatentConsistencyModelImg2ImgPipeline
- StableDiffusionControlNetXSPipeline
- StableDiffusionXLControlNetXSPipeline
- LEditsPPPipelineStableDiffusion
- LEditsPPPipelineStableDiffusionXL
- PIAPipeline
支持的模型
- UNet2DConditionModel
StableCascadeUNet
- AutoencoderKL
- AutoencoderKLCogVideoX
- ControlNetModel
- SD3Transformer2DModel
- FluxTransformer2DModel
FromSingleFileMixin
将以 .ckpt
格式保存的模型权重加载到 DiffusionPipeline 中。
from_single_file
< source >( pretrained_model_link_or_path **kwargs )
参数
- pretrained_model_link_or_path (
str
或os.PathLike
, 可选) — 可以是以下两种情况之一:- Hub 上
.ckpt
文件的链接(例如"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt"
)。 - 包含所有管道权重的文件的路径。
- Hub 上
- torch_dtype (
str
或torch.dtype
, 可选) — 覆盖默认的torch.dtype
,并使用其他 dtype 加载模型。 - force_download (
bool
, 可选,默认值为False
) — 是否强制(重新)下载模型权重和配置文件,即使缓存版本存在也会覆盖。 - cache_dir (
Union[str, os.PathLike]
, 可选) — 如果未使用标准缓存,则为下载的预训练模型配置缓存所在的目录的路径。 - proxies (
Dict[str, str]
, 可选) — 按协议或端点使用的代理服务器字典,例如{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}
。代理用于每个请求。 - local_files_only (
bool
, 可选,默认值为False
) — 是否仅加载本地模型权重和配置文件。如果设置为True
,则模型不会从 Hub 下载。 - token (
str
或 bool, 可选) — 用作远程文件 HTTP 载体授权的令牌。如果为True
,则使用从diffusers-cli login
生成的令牌(存储在~/.huggingface
中)。 - revision (
str
, 可选,默认值为"main"
) — 要使用的特定模型版本。它可以是分支名称、标签名称、提交 ID 或 Git 允许的任何标识符。 - original_config_file (
str
, 可选) — 用于训练模型的原始配置文件的路径。如果未提供,则会从检查点文件推断出配置文件。 - config (
str
, 可选) — 可以是以下两种情况之一:- 字符串,即托管在 Hub 上的预训练管道的仓库 ID(例如
CompVis/ldm-text2im-large-256
)。 - 包含 Diffusers 格式的管道组件配置的目录的路径(例如
./my_pipeline_directory/
)。
- 字符串,即托管在 Hub 上的预训练管道的仓库 ID(例如
FromOriginalModelMixin
将以 .ckpt
或 .safetensors
格式保存的预训练权重加载到模型中。
from_single_file
< 源代码 > ( pretrained_model_link_or_path_or_dict: Optional = None **kwargs )
参数
- pretrained_model_link_or_path_or_dict (
str
, 可选) — 可以是以下之一:- Hub 上
.safetensors
或.ckpt
文件的链接 (例如"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors"
)。 - 包含组件模型权重的本地文件的路径。
- 包含组件模型权重的状态字典。
- Hub 上
- config (
str
, 可选) —- 一个字符串,表示托管在 Hub 上的预训练管道的仓库 ID (例如
CompVis/ldm-text2im-large-256
)。 - 一个目录的路径 (例如
./my_pipeline_directory/
),包含以 Diffusers 格式存储的管道组件配置。
- 一个字符串,表示托管在 Hub 上的预训练管道的仓库 ID (例如
- subfolder (
str
, 可选,默认为""
) — Hub 或本地上更大模型库中模型文件的子文件夹位置。 - original_config (
str
, 可选) — 包含模型原始格式配置的字典或 yaml 文件路径。如果提供了字典,它将用于初始化模型配置。 - torch_dtype (
str
或torch.dtype
, 可选) — 覆盖默认的torch.dtype
并使用其他数据类型加载模型。如果传递"auto"
,则数据类型会根据模型的权重自动推断。 - force_download (
bool
, 可选,默认为False
) — 是否强制 (重新) 下载模型权重和配置文件,覆盖现有的缓存版本。 - 仅加载本地文件 (
bool
, 可选, 默认值为False
) — 是否仅加载本地模型权重和配置文件,而不从 Hub 下载。如果设置为 True,则模型不会从 Hub 下载。 - 令牌 (
str
或 bool, 可选) — 用作远程文件 HTTP 身份验证承载者的令牌。如果为True
,则使用从diffusers-cli login
生成的令牌(存储在~/.huggingface
中)。 - 修订版 (
str
, 可选, 默认值为"main"
) — 要使用的特定模型版本。它可以是分支名称、标签名称、提交 ID 或 Git 允许的任何标识符。 - kwargs (剩余的关键字参数字典, 可选) — 可用于覆盖加载和可保存的变量(例如特定管道类的管道组件)。覆盖的组件将直接传递给管道的
__init__
方法。有关更多信息,请参见下面的示例。
从保存在原始 .ckpt
或 .safetensors
格式中的预训练权重中实例化模型。默认情况下,模型处于评估模式 (model.eval()
)。