原文:
huggingface.co/docs/transformers
处理器
原文:
huggingface.co/docs/transformers/v4.37.2/en/main_classes/processors
在 Transformers 库中,处理器可以有两种不同的含义:
- 为多模态模型预处理输入的对象,如 Wav2Vec2(语音和文本)或 CLIP(文本和视觉)
- 在库的旧版本中用于预处理 GLUE 或 SQUAD 数据的已弃用对象。
多模态处理器
任何多模态模型都需要一个对象来编码或解码将多个模态(文本、视觉和音频)组合在一起的数据。这由称为处理器的对象处理,这些对象将多个处理对象(如文本模态的分词器、视觉的图像处理器和音频的特征提取器)组合在一起。
这些处理器继承自实现保存和加载功能的以下基类:
class transformers.ProcessorMixin
<来源>
代码语言:javascript复制( *args **kwargs )
这是一个混合类,用于为所有处理器类提供保存/加载功能。
from_args_and_dict
<来源>
代码语言:javascript复制( args processor_dict: Dict **kwargs ) → export const metadata = 'undefined';~processing_utils.ProcessingMixin
参数
-
processor_dict
(Dict[str, Any]
) — 将用于实例化处理器对象的字典。可以通过利用~processing_utils.ProcessingMixin.to_dict
方法从预训练检查点中检索这样的字典。 -
kwargs
(Dict[str, Any]
) — 用于初始化处理器对象的其他参数。
返回
~processing_utils.ProcessingMixin
从这些参数实例化的处理器对象。
从 Python 参数字典中实例化~processing_utils.ProcessingMixin
类型。
from_pretrained
<来源>
代码语言:javascript复制( pretrained_model_name_or_path: Union cache_dir: Union = None force_download: bool = False local_files_only: bool = False token: Union = None revision: str = 'main' **kwargs )
参数
-
pretrained_model_name_or_path
(str
或os.PathLike
) — 这可以是:- 一个字符串,预训练特征提取器的模型标识,托管在 huggingface.co 上的模型仓库内。有效的模型标识可以位于根级别,如
bert-base-uncased
,或者在用户或组织名称下命名空间化,如dbmdz/bert-base-german-cased
。 - 一个目录的路径,其中包含使用 save_pretrained()方法保存的特征提取器文件,例如,
./my_model_directory/
。 - 保存的特征提取器 JSON 文件的路径或 URL,例如,
./my_model_directory/preprocessor_config.json
。**kwargs — 传递给 from_pretrained()和~tokenization_utils_base.PreTrainedTokenizer.from_pretrained
的其他关键字参数。
- 一个字符串,预训练特征提取器的模型标识,托管在 huggingface.co 上的模型仓库内。有效的模型标识可以位于根级别,如
实例化与预训练模型相关联的处理器。
这个类方法只是调用特征提取器 from_pretrained()、图像处理器 ImageProcessingMixin 和分词器~tokenization_utils_base.PreTrainedTokenizer.from_pretrained
方法。请参考上述方法的文档字符串以获取更多信息。
get_processor_dict
<来源>
代码语言:javascript复制( pretrained_model_name_or_path: Union **kwargs ) → export const metadata = 'undefined';Tuple[Dict, Dict]
参数
-
pretrained_model_name_or_path
(str
或os.PathLike
) — 我们想要参数字典的预训练检查点的标识符。 -
subfolder
(str
,可选,默认为""
) — 如果相关文件位于 huggingface.co 上模型存储库的子文件夹中,可以在此处指定文件夹名称。
返回
Tuple[Dict, Dict]
将用于实例化处理器对象的字典。
从 pretrained_model_name_or_path
,解析为参数字典,用于使用 from_args_and_dict
实例化类型为 ~processing_utils.ProcessingMixin
的处理器。
push_to_hub
<来源>
代码语言:javascript复制( repo_id: str use_temp_dir: Optional = None commit_message: Optional = None private: Optional = None token: Union = None max_shard_size: Union = '5GB' create_pr: bool = False safe_serialization: bool = True revision: str = None commit_description: str = None tags: Optional = None **deprecated_kwargs )
参数
-
repo_id
(str
) — 要将处理器推送到的存储库的名称。在推送到给定组织时,应包含您的组织名称。 -
use_temp_dir
(bool
,可选) — 是否使用临时目录来存储在推送到 Hub 之前保存的文件。如果没有名为repo_id
的目录,则默认为True
,否则为False
。 -
commit_message
(str
,可选) — 推送时要提交的消息。默认为"Upload processor"
。 -
private
(bool
,可选) — 是否应该创建的存储库是私有的。 -
token
(bool
或str
,可选) — 用作远程文件的 HTTP bearer 授权的令牌。如果为True
,将使用运行huggingface-cli login
时生成的令牌(存储在~/.huggingface
)。如果未指定repo_url
,则默认为True
。 -
max_shard_size
(int
或str
,可选,默认为"5GB"
) — 仅适用于模型。在分片之前的检查点的最大大小。然后,检查点分片的大小将小于此大小。如果表示为字符串,需要是数字后跟一个单位(如"5MB"
)。我们将其默认为"5GB"
,以便用户可以在免费的 Google Colab 实例上轻松加载模型,而不会出现任何 CPU OOM 问题。 -
create_pr
(bool
,可选,默认为False
) — 是否创建一个包含上传文件的 PR 或直接提交。 -
safe_serialization
(bool
,可选,默认为True
) — 是否将模型权重转换为 safetensors 格式以进行更安全的序列化。 -
revision
(str
,可选) — 要将上传的文件推送到的分支。 -
commit_description
(str
,可选) — 将创建的提交的描述 -
tags
(List[str]
,可选) — 要推送到 Hub 上的标签列表。
将处理器文件上传到