Diffusers 文档
配置
并获得增强的文档体验
开始使用
配置
来自 SchedulerMixin 的调度器和来自 ModelMixin 的模型继承自 ConfigMixin,后者将所有传递给各自 __init__
方法的参数存储在 JSON 配置文件中。
要使用私有或 授权访问 模型,请使用 huggingface-cli login
登录。
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
< source >( 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 (
str
或os.PathLike
, 可选) — 可以是:- 一个字符串,即托管在 Hub 上的预训练模型的模型 ID(例如
google/ddpm-celebahq-256
)。 - 一个目录的路径(例如
./my_model_directory
),其中包含使用 save_config() 保存的模型权重。
- 一个字符串,即托管在 Hub 上的预训练模型的模型 ID(例如
- 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 (
str
或 bool, 可选) — 用于远程文件的 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
< source >( config: typing.Union[diffusers.configuration_utils.FrozenDict, typing.Dict[str, typing.Any]] = None return_unused_kwargs = False **kwargs ) → ModelMixin 或 SchedulerMixin
从配置字典实例化 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
< source >( save_directory: typing.Union[str, os.PathLike] push_to_hub: bool = False **kwargs )
参数
- save_directory (
str
或os.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
< source >( json_file_path: typing.Union[str, os.PathLike] )
将配置实例的参数保存到 JSON 文件。
将配置实例序列化为 JSON 字符串。