Buckets:

mishig's picture
|
download
raw
12.3 kB

单个文件

from_single_file() 方法允许你加载:

  • 以单个文件存储的模型,如果您正在处理来自扩散生态系统的模型(例如 Automatic1111),并且通常依赖单文件布局来存储和共享模型,那么这种方式会很有用。
  • 以原始分发布局存储的模型,适用于使用其他服务微调的模型,并可直接加载到 Diffusers 模型对象和流水线中

阅读模型文件和布局指南,以了解 Diffusers 多文件夹布局与单文件布局之间的区别,以及如何加载存储在这些不同布局中的模型。

支持的管道

支持的模型

FromSingleFileMixin[[diffusers.loaders.FromSingleFileMixin]]

diffusers.loaders.FromSingleFileMixin[[diffusers.loaders.FromSingleFileMixin]]

diffusers.loaders.FromSingleFileMixin()

源代码

将保存在 .ckpt 格式中的模型权重加载到 DiffusionPipeline 中。

from_single_file[[diffusers.loaders.FromSingleFileMixin.from_single_file]]

from_single_file(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")。 - 指向包含所有流水线权重的文件的路径。

dtype (str 或 torch.dtype,可选):覆盖默认的 torch.dtype,并使用其他 dtype 加载模型。

force_download (bool,可选,默认为 False):是否强制(重新)下载模型权重和配置文件,如果存在缓存版本则覆盖它们。

cache_dir (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 上的预训练流水线的 repo id(例如 CompVis/ldm-text2im-large-256)。 - 一个指向 目录 的路径(例如 ./my_pipeline_directory/),其中包含以 Diffusers 格式存储的流水线组件配置。

disable_mmap ('bool', 可选,默认为 'False'):是否在加载 Safetensors 模型时禁用 mmap。当模型位于网络挂载或硬盘上时,此选项可能带来更好的性能。

kwargs (其余关键字参数字典,可选):可用于覆盖加载和可保存的变量(特定 pipeline 类的 pipeline 组件)。被覆盖的组件会直接传递给 pipeline 的 __init__ 方法。更多信息请参见下方示例。

从以 .ckpt 或 .safetensors 格式保存的预训练流水线权重中实例化一个 DiffusionPipeline。默认情况下,流水线会设置为评估模式(model.eval())。

示例:

>>> from diffusers import StableDiffusionPipeline

>>> # Download pipeline from huggingface.co and cache.
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/Models/AbyssOrangeMix/AbyssOrangeMix.safetensors"
... )

>>> # Download pipeline from local file
>>> # file is downloaded under ./v1-5-pruned-emaonly.ckpt
>>> pipeline = StableDiffusionPipeline.from_single_file("./v1-5-pruned-emaonly.ckpt")

>>> # Enable float16 and move to GPU
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt",
...     torch_dtype=torch.float16,
... )
>>> pipeline.to("cuda")

FromOriginalModelMixin[[diffusers.loaders.FromOriginalModelMixin]]

diffusers.loaders.FromOriginalModelMixin[[diffusers.loaders.FromOriginalModelMixin]]

diffusers.loaders.FromOriginalModelMixin()

源代码

将保存在 .ckpt 或 .safetensors 格式中的预训练权重加载到模型中。

from_single_file[[diffusers.loaders.FromOriginalModelMixin.from_single_file]]

from_single_file(pretrained_model_link_or_path_or_dict: str | None = None, **kwargs)

源代码

参数:

pretrained_model_link_or_path_or_dict (str, 可选) : 可以是以下之一: - 指向 Hub 上 .safetensors 或 .ckpt 文件的链接(例如 "https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors")。 - 指向包含组件模型权重的本地 文件 的路径。 - 包含组件模型权重的 state dict。

config (str, 可选) : - 一个字符串,即托管在 Hub 上的预训练流水线的 repo id(例如 CompVis/ldm-text2im-large-256)。 - 一个指向 目录 的路径(例如 ./my_pipeline_directory/),其中包含以 Diffusers 格式存储的流水线组件配置。

subfolder (str,可选,默认为 ""):模型文件在 Hub 或本地的大型模型仓库中的子文件夹位置。

original_config (str, 可选) : 包含模型原始格式配置的字典或指向 yaml 文件的路径。如果提供了字典,它将用于初始化模型配置。

dtype (torch.dtype,可选):覆盖默认的 torch.dtype,并使用其他 dtype 加载模型。

force_download (bool,可选,默认为 False):是否强制(重新)下载模型权重和配置文件,如果存在缓存版本则覆盖它们。

cache_dir (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 允许的任何标识符。

low_cpu_mem_usage (bool,可选,如果 torch 版本 >= 1.9.0 且 : is_accelerate_available() 则默认为 True,否则为 False):通过仅加载预训练权重而不初始化权重来加速模型加载。在加载模型时,这也尝试使 CPU 内存使用量(包括峰值内存)不超过模型大小的 1 倍。仅支持 PyTorch >= 1.9.0。如果您使用的是旧版本的 PyTorch,将此参数设置为 True 将引发错误。

disable_mmap ('bool', 可选,默认为 'False'):是否在加载 Safetensors 模型时禁用 mmap。当模型位于网络挂载点或硬盘上时,此选项可能表现更佳,因为这些存储设备可能无法很好地处理 mmap 的频繁寻址操作。

kwargs (其余关键字参数字典,可选):可用于覆盖加载和可保存的变量(例如特定 pipeline 类的 pipeline 组件)。被覆盖的组件会直接传递给 pipeline 的 __init__ 方法。更多信息请参见下方示例。

从以原始 .ckpt 或 .safetensors 格式保存的预训练权重实例化模型。默认情况下,模型会设置为评估模式(model.eval())。

>>> from diffusers import StableCascadeUNet

>>> ckpt_path = "https://huggingface.co/stabilityai/stable-cascade/blob/main/stage_b_lite.safetensors"
>>> model = StableCascadeUNet.from_single_file(ckpt_path)

Xet Storage Details

Size:
12.3 kB
·
Xet hash:
a1f2427ef294f17e5ff45d928efc13443a64d9658826a4df70addaff48f24dbe

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.