You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v0.42.1).
AutoModel
AutoModel 会自动从检查点的 config.json 文件中获取正确的模型类。
AutoModel
from_pretrained
< source >( 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() 保存的模型权重。
- 一个字符串,即托管在 Hub 上的预训练模型的 model id(例如
- 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 bearer 授权令牌。如果为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登录。您还可以启用特殊的 > “离线模式”,以便在防火墙环境中使用此方法。
示例:
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
< source >( 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)。 - 配置字典。
- 一个字符串,即托管在 Hub 上的预训练模型配置的 model id(例如
- cache_dir (
Union[str, os.PathLike], 可选) — 如果未使用标准缓存,则用于缓存已下载的预训练模型配置的目录路径。 - force_download (
bool,可选,默认为False) — 是否强制(重新)下载模型配置,如果存在缓存版本则覆盖该版本。 - proxies (
Dict[str, str],可选) — 按协议或端点使用的代理服务器字典。 - local_files_only(
bool, 可选,默认为False) — 是否仅加载本地的模型配置文件。 - token (
str或 bool,可选) — 用于远程文件的 HTTP bearer 授权令牌。 - revision (
str,可选,默认为"main") — 要使用的特定模型版本。 - trust_remote_code(
bool,可选,默认为False)— 是否信任远程代码。 - subfolder (
str,可选,默认为"") — 模型文件在 Hub 或本地更大的模型仓库中的子文件夹位置。
使用配置字典或预训练模型配置文件实例化一个模型,权重为随机初始化(不加载任何预训练权重)。