Buckets:

mishig's picture
|
download
raw
8.26 kB

AutoModel

AutoModel 会自动从检查点的 config.json 文件中获取正确的模型类。

AutoModel[[diffusers.AutoModel]]

diffusers.AutoModel[[diffusers.AutoModel]]

diffusers.AutoModel(*args, **kwargs)

源代码

from_pretrained[[diffusers.AutoModel.from_pretrained]]

from_pretrained(pretrained_model_or_path: str | os.PathLike | None = None, **kwargs)

源代码

参数:

pretrained_model_name_or_path (str 或 os.PathLike,可选) : 可以是以下之一: - 一个字符串,即托管在 Hub 上的预训练模型的 model id(例如 google/ddpm-celebahq-256)。 - 一个 目录 的路径(例如 ./my_model_directory),其中包含使用 save_pretrained() 保存的模型权重。

cache_dir (str | os.PathLike,可选):如果未使用标准缓存,则已下载的预训练模型配置将缓存到的目录路径。

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

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 或本地的大型模型仓库中的子文件夹位置。

mirror (str, 可选) : 用于解决在中国下载模型时可能遇到的访问问题的镜像源。我们不保证该源的时效性或安全性,详情请参阅镜像站点。

device_map (str 或 dict[str, int | str | torch.device],可选):一个映射,用于指定每个子模块应放置的位置。无需为每个参数/缓冲区名称单独定义;只要某个模块名称包含在内,其所有子模块都会被发送到同一设备。默认为 None,表示模型将在 CPU 上加载。设置 device_map="auto" 可让 🤗 Accelerate 自动计算最优的 device_map。有关各选项的更多信息,请参阅 设计设备映射。

max_memory (Dict, 可选) : 用于指定最大内存的设备标识符字典。如果未设置,则默认为每个 GPU 的最大可用内存和可用的 CPU 内存。

offload_folder (str 或 os.PathLike,可选) : 如果 device_map 包含值 "disk",则指定用于卸载权重的路径。

offload_state_dict (bool, 可选) : 如果为 True,则临时将 CPU 状态字典卸载到硬盘,以避免在 CPU 状态字典的权重加上检查点中最大的分片无法容纳时耗尽 CPU 内存。当存在磁盘卸载时,默认值为 True。

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

variant (str, 可选) : 从指定的 variant 文件名(例如 "fp16" 或 "ema")加载权重。

use_safetensors (bool,可选,默认为 None):如果设置为 None,则在 safetensors 权重可用且已安装 safetensors 库的情况下,会下载 safetensors 权重。如果设置为 True,则强制从 safetensors 权重加载模型。如果设置为 False,则不加载 safetensors 权重。

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

trust_remote_cocde (bool,可选,默认为 False):是否信任远程代码

从预训练模型配置实例化一个预训练的 PyTorch 模型。

模型默认处于评估模式 - model.eval() - ,且 dropout 模块已被禁用。若要训练模型,请使用 model.train() 将其切换回训练模式。

> 若要使用私有或 受限模型,请先登录 使用 hf > auth login。您还可以启用特殊的 > "offline-mode",以便在防火墙环境中使用此方法。

示例:

from diffusers import AutoModel

unet = AutoModel.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")

如果出现以下错误消息,您需要针对下游任务微调权重:

Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

from_config[[diffusers.AutoModel.from_config]]

from_config(pretrained_model_name_or_path_or_dict: str | os.PathLike | dict | None = None, **kwargs)

源代码

参数:

pretrained_model_name_or_path_or_dict (str、os.PathLike 或 dict):可以是以下之一: - 一个字符串,即托管在 Hub 上的预训练模型配置的 model id(例如 google/ddpm-celebahq-256)。 - 一个指向包含模型配置文件的目录的路径(例如 ./my_model_directory)。 - 一个配置字典。

cache_dir (Union[str, os.PathLike],可选):如果未使用标准缓存,则已下载的预训练模型配置将缓存到的目录路径。

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

proxies (Dict[str, str],可选):一个字典,用于按协议或端点指定要使用的代理服务器。

local_files_only(bool,可选,默认为 False):是否仅加载本地模型配置文件。

token (str 或 bool,可选):用于远程文件的 HTTP 承载者授权令牌。

revision (str,可选,默认为 "main"):要使用的特定模型版本。

trust_remote_code (bool,可选,默认为 False):是否信任远程代码。

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

返回值:

一个从配置实例化、权重随机的模型对象。

从配置字典或预训练模型配置文件实例化一个模型,并使用随机权重(不加载任何预训练权重)。

示例:

from diffusers import AutoModel

model = AutoModel.from_config("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")

Xet Storage Details

Size:
8.26 kB
·
Xet hash:
653bfad67dea2e36a0f292eb2a15a2cd39294633376cb927e5d6bc06bb7e2838

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