Diffusers 文档

配置

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

配置

来自 SchedulerMixin 的调度器和来自 ModelMixin 的模型继承自 ConfigMixin,后者将所有传递给各自 __init__ 方法的参数存储在 JSON 配置文件中。

要使用私有或 授权访问 模型,请使用 huggingface-cli login 登录。

ConfigMixin

class diffusers.ConfigMixin

< >

( )

所有配置类的基类。所有配置参数都存储在 self.config 下。还提供了 from_config()save_config() 方法,用于加载、下载和保存继承自 ConfigMixin 的类。

类属性

  • config_name (str) — 调用 save_config() 时应在其中存储配置的文件名(应由父类覆盖)。
  • ignore_for_config (List[str]) — 不应保存在配置中的属性列表(应由子类覆盖)。
  • has_compatibles (bool) — 该类是否具有兼容类(应由子类覆盖)。
  • _deprecated_kwargs (List[str]) — 已弃用的关键字参数。请注意,如果至少有一个参数已弃用,则 init 函数应仅具有 kwargs 参数(应由子类覆盖)。

load_config

< >

( pretrained_model_name_or_path: typing.Union[str, os.PathLike] return_unused_kwargs = False return_commit_hash = False **kwargs ) dict

参数

  • pretrained_model_name_or_path (stros.PathLike, 可选) — 可以是:

    • 一个字符串,即托管在 Hub 上的预训练模型的模型 ID(例如 google/ddpm-celebahq-256)。
    • 一个目录的路径(例如 ./my_model_directory),其中包含使用 save_config() 保存的模型权重。
  • cache_dir (Union[str, os.PathLike], 可选) — 下载的预训练模型配置缓存的目录路径(如果未使用标准缓存)。
  • force_download (bool, 可选, 默认为 False) — 是否强制(重新)下载模型权重和配置文件,覆盖缓存版本(如果存在)。
  • proxies (Dict[str, str], 可选) — 按协议或端点使用的代理服务器字典,例如 {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}。代理用于每个请求。
  • output_loading_info(bool, 可选, 默认为 False) — 是否也返回一个包含缺失键、意外键和错误消息的字典。
  • local_files_only (bool, 可选, 默认为 False) — 是否仅加载本地模型权重和配置文件。如果设置为 True,则不会从 Hub 下载模型。
  • token (strbool, 可选) — 用于远程文件的 HTTP Bearer 授权的令牌。如果为 True,则使用从 diffusers-cli login 生成的令牌(存储在 ~/.huggingface 中)。
  • revision (str, 可选, 默认为 "main") — 要使用的特定模型版本。它可以是分支名称、标签名称、提交 ID 或 Git 允许的任何标识符。
  • subfolder (str, 可选, 默认为 "") — Hub 或本地的较大模型存储库中模型文件的子文件夹位置。
  • return_unused_kwargs (bool, 可选, 默认为 `False) — 是否返回配置中未使用的关键字参数。
  • return_commit_hash (bool, 可选, 默认为 False) -- 是否返回加载配置的 commit_hash`。

返回值

dict

JSON 配置文件中存储的所有参数的字典。

加载模型或调度器配置。

from_config

< >

( config: typing.Union[diffusers.configuration_utils.FrozenDict, typing.Dict[str, typing.Any]] = None return_unused_kwargs = False **kwargs ) ModelMixinSchedulerMixin

参数

  • config (Dict[str, Any]) — 从中实例化 Python 类的配置字典。确保仅加载兼容类的配置文件。
  • return_unused_kwargs (bool, 可选, 默认为 False) — 是否应返回 Python 类未使用的 kwargs。
  • kwargs (剩余的关键字参数字典, 可选) — 可用于更新配置对象(加载后)并初始化 Python 类。 **kwargs 直接传递给底层调度器/模型的 __init__ 方法,并最终覆盖 config 中同名的参数。

返回值

ModelMixinSchedulerMixin

从配置字典实例化的模型或调度器对象。

从配置字典实例化 Python 类。

示例

>>> from diffusers import DDPMScheduler, DDIMScheduler, PNDMScheduler

>>> # Download scheduler from huggingface.co and cache.
>>> scheduler = DDPMScheduler.from_pretrained("google/ddpm-cifar10-32")

>>> # Instantiate DDIM scheduler class with same config as DDPM
>>> scheduler = DDIMScheduler.from_config(scheduler.config)

>>> # Instantiate PNDM scheduler class with same config as DDPM
>>> scheduler = PNDMScheduler.from_config(scheduler.config)

save_config

< >

( save_directory: typing.Union[str, os.PathLike] push_to_hub: bool = False **kwargs )

参数

  • save_directory (stros.PathLike) — 保存配置 JSON 文件的目录(如果不存在将创建)。
  • push_to_hub (bool, 可选, 默认为 False) — 是否在保存模型后将其推送到 Hugging Face Hub。您可以使用 repo_id 指定要推送到的存储库(默认为您命名空间中 save_directory 的名称)。
  • kwargs (Dict[str, Any], 可选) — 传递给 push_to_hub() 方法的其他关键字参数。

将配置对象保存到 save_directory 中指定的目录,以便可以使用 from_config() 类方法重新加载它。

to_json_file

< >

( json_file_path: typing.Union[str, os.PathLike] )

参数

  • json_file_path (stros.PathLike) — 用于保存配置实例参数的 JSON 文件的路径。

将配置实例的参数保存到 JSON 文件。

to_json_string

< >

( ) str

返回值

str

包含 JSON 格式的配置实例的所有属性的字符串。

将配置实例序列化为 JSON 字符串。

< > 在 GitHub 上更新