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: Union return_unused_kwargs = False return_commit_hash = False **kwargs ) dict

参数

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

    • 一个字符串,模型 ID(例如 google/ddpm-celebahq-256),表示托管在 Hub 上的预训练模型。
    • 一个路径,指向一个目录(例如 ./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 身份验证的令牌。 如果为 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: Union = None return_unused_kwargs = False **kwargs ) ModelMixinSchedulerMixin

参数

  • config (Dict[str, Any]) — 用于实例化 Python 类的配置字典。 确保仅加载兼容类的配置文件。
  • 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: Union 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: Union )

参数

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

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

to_json_string

< >

( ) str

返回值

str

包含组成配置实例的所有属性的字符串,以 JSON 格式表示。

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

< > 在 GitHub 上更新