配置
来自 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
< 源代码 >( pretrained_model_name_or_path: Union return_unused_kwargs = False return_commit_hash = False **kwargs ) → dict
参数
- pretrained_model_name_or_path (
str
或os.PathLike
, 可选) — 可以是以下之一:- 一个字符串,模型 ID(例如
google/ddpm-celebahq-256
),表示托管在 Hub 上的预训练模型。 - 一个路径,指向一个目录(例如
./my_model_directory
),其中包含使用 save_config() 保存的模型权重。
- 一个字符串,模型 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 身份验证的令牌。 如果为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 ) → ModelMixin 或 SchedulerMixin
参数
- config (
Dict[str, Any]
) — 用于实例化 Python 类的配置字典。 确保仅加载兼容类的配置文件。 - kwargs (剩余关键字参数字典,可选) — 可以用来更新配置对象(加载后),并初始化 Python 类。
**kwargs
会直接传递给底层调度器/模型的__init__
方法,最终会覆盖config
中同名参数。
返回值
从配置字典实例化的模型或调度器对象。
从配置字典实例化一个 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 (
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
< 源代码 >( json_file_path: Union )
将配置实例的参数保存到 JSON 文件。
将配置实例序列化为 JSON 字符串。