Transformers 4.37 中文文档(十八)(5)

简介: Transformers 4.37 中文文档(十八)

Transformers 4.37 中文文档(十八)(4)https://developer.aliyun.com/article/1564910


push_to_hub

< source >

( 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 tokenizer"
  • private (bool, 可选) — 是否创建的存储库应为私有。
  • token (boolstr, 可选) — 用作远程文件的 HTTP bearer 授权的令牌。如果为 True,将使用运行 huggingface-cli login 时生成的令牌(存储在 ~/.huggingface)。如果未指定 repo_url,则默认为 True
  • max_shard_size (intstr, 可选, 默认为 "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 上的标签列表。

将分词器文件上传到 🤗 Model Hub。

示例:

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
# Push the tokenizer to your namespace with the name "my-finetuned-bert".
tokenizer.push_to_hub("my-finetuned-bert")
# Push the tokenizer to an organization with the name "my-finetuned-bert".
tokenizer.push_to_hub("huggingface/my-finetuned-bert")
convert_ids_to_tokens

<来源>

( ids: Union skip_special_tokens: bool = False ) → export const metadata = 'undefined';str or List[str]

参数

  • idsintList[int])-要转换为标记的标记 id(或标记 id)。
  • skip_special_tokensbool可选,默认为False)-是否在解码中删除特殊标记。

返回

strList[str]

解码后的标记。

将单个索引或索引序列转换为标记或标记序列,使用词汇表和添加的标记。

convert_tokens_to_ids

<来源>

( tokens: Union ) → export const metadata = 'undefined';int or List[int]

参数

  • tokensstrList[str])-要转换为标记 id 的一个或多个标记。

返回

intList[int]

标记 id 或标记 id 列表。

将标记字符串(或标记序列)转换为单个整数 id(或 id 序列),使用词汇表。

get_added_vocab

<来源>

( ) → export const metadata = 'undefined';Dict[str, int]

返回

Dict[str, int]

添加的标记。

将词汇表中添加的标记作为标记到索引的字典返回。

num_special_tokens_to_add

<来源>

( pair: bool = False ) → export const metadata = 'undefined';int

参数

  • pairbool可选,默认为False)-在序列对或单个序列的情况下是否应计算添加的标记数。

返回

int

添加到序列的特殊标记数。

在使用特殊标记对序列进行编码时返回添加的标记数。

这会对虚拟输入进行编码并检查添加的标记数,因此效率不高。不要将其放在训练循环内。

set_truncation_and_padding

<来源>

( padding_strategy: PaddingStrategy truncation_strategy: TruncationStrategy max_length: int stride: int pad_to_multiple_of: Optional )

参数

  • padding_strategy(PaddingStrategy)-将应用于输入的填充类型
  • truncation_strategy(TruncationStrategy)-将应用于输入的截断类型
  • max_lengthint)-序列的最大大小。
  • strideint)-处理溢出时要使用的步幅。
  • pad_to_multiple_ofint可选)-如果设置,将序列填充到提供的值的倍数。这对于启用具有计算能力>= 7.5(Volta)的 NVIDIA 硬件上的张量核心特别有用。

定义快速标记器的截断和填充策略(由 HuggingFace 标记器库提供),并在恢复标记器设置后恢复标记器设置。

提供的标记器在受管理部分之前没有填充/截断策略。如果您的标记器在之前设置了填充/截断策略,则在退出受管理部分时将重置为无填充/截断。

train_new_from_iterator

<来源>

( text_iterator vocab_size length = None new_special_tokens = None special_tokens_map = None **kwargs ) → export const metadata = 'undefined';PreTrainedTokenizerFast

参数

  • text_iteratorList[str]的生成器)-训练语料库。应该是文本批次的生成器,例如,如果您将所有内容存储在内存中,则应该是文本列表的列表。
  • vocab_sizeint)-您要为标记器设置的词汇表大小。
  • lengthint可选)-迭代器中序列的总数。这用于提供有意义的进度跟踪
  • new_special_tokensstrAddedToken的列表,可选)-要添加到正在训练的标记器的新特殊标记列表。
  • special_tokens_map (Dict[str, str], 可选) — 如果您想要重命名此分词器使用的一些特殊标记,请在此参数中传递一个旧特殊标记名称到新特殊标记名称的映射。
  • kwargs (Dict[str, Any], 可选) — 从 🤗 Tokenizers 库传递给训练器的额外关键字参数。

返回

PreTrainedTokenizerFast

一个与原始分词器相同类型的新分词器,训练于 text_iterator

使用与当前相同的默认值(特殊标记或标记化流水线方面)在新语料库上训练一个分词器。

BatchEncoding

class transformers.BatchEncoding

<来源>

( data: Optional = None encoding: Union = None tensor_type: Union = None prepend_batch_axis: bool = False n_sequences: Optional = None )

参数

  • data (dict, 可选) — 由 __call__/encode_plus/batch_encode_plus 方法返回的列表/数组/张量的字典(‘input_ids’,'attention_mask’等)。
  • encoding (tokenizers.EncodingSequence[tokenizers.Encoding], 可选) — 如果分词器是一个快速分词器,输出额外信息如从单词/字符空间到标记空间的映射,则 tokenizers.Encoding 实例或实例列表(用于批次)保存此信息。
  • tensor_type (Union[None, str, TensorType], 可选) — 您可以在此处提供一个 tensor_type,以在初始化时将整数列表转换为 PyTorch/TensorFlow/Numpy 张量。
  • prepend_batch_axis (bool, 可选, 默认为 False) — 在转换为张量时是否添加批次轴(参见上面的 tensor_type)。
  • n_sequences (Optional[int], 可选) — 您可以在此处提供一个 tensor_type,以在初始化时将整数列表转换为 PyTorch/TensorFlow/Numpy 张量。

保存了 call(), encode_plus() 和 batch_encode_plus() 方法的输出(tokens, attention_masks 等)。

此类派生自 Python 字典,可用作字典。此外,此类公开了实用方法,用于将单词/字符空间映射到标记空间。

char_to_token

<来源>

( batch_or_char_index: int char_index: Optional = None sequence_index: int = 0 ) → export const metadata = 'undefined';int

参数

  • batch_or_char_index (int) — 批次中序列的索引。如果批次仅包含一个序列,则这可以是序列中单词的索引
  • char_index (int, 可选) — 如果在 batch_or_token_index 中提供了批次索引,则这可以是序列中单词的索引。
  • sequence_index (int, 可选, 默认为 0) — 如果批次中编码了一对序列,则可以用于指定提供的字符索引属于一对序列中的哪个序列(0 或 1)。

返回

int

标记的索引。

获取编码输出中包含原始字符串中字符的序列的标记索引。

可以调用为:

  • self.char_to_token(char_index) 如果批次大小为 1
  • self.char_to_token(batch_index, char_index) 如果批次大小大于或等于 1

当输入序列以预分词序列(即用户定义的单词)提供时,此方法特别适用。在这种情况下,它允许轻松将编码的标记与提供的分词单词关联起来。

char_to_word

<来源>

( batch_or_char_index: int char_index: Optional = None sequence_index: int = 0 ) → export const metadata = 'undefined';int or List[int]

参数

  • batch_or_char_index (int) — 批次中序列的索引。如果批次仅包含一个序列,则这可以是原始字符串中字符的索引。
  • char_indexint可选)— 如果在batch_or_token_index中提供了批次索引,则可以是原始字符串中字符的索引。
  • sequence_indexint可选,默认为 0)— 如果批次中编码了一对序列,则可以用来指定提供的字符索引属于该对序列中的哪个序列(0 或 1)。

返回

intList[int]

关联编码标记的索引或索引。

获取批次中序列的原始字符串中与标记的字符对应的单词。

可以调用为:

  • 如果批次大小为 1,则为self.char_to_word(char_index)
  • 如果批次大小大于 1,则为self.char_to_word(batch_index, char_index)

当输入序列以预分词序列(即用户定义的单词)提供时,此方法特别适用。在这种情况下,它允许轻松将编码的标记与提供的分词单词关联起来。

convert_to_tensors

<来源>

( tensor_type: Union = None prepend_batch_axis: bool = False )

参数

  • tensor_typestr或 TensorType,可选)— 要使用的张量类型。如果是str,应该是枚举 TensorType 值之一。如果为None,则不进行修改。
  • prepend_batch_axisint可选,默认为False)— 在转换过程中是否添加批次维度。

将内部内容转换为张量。

sequence_ids

<来源>

( batch_index: int = 0 ) → export const metadata = 'undefined';List[Optional[int]]

参数

  • batch_indexint可选,默认为 0)— 要访问的批次中的索引。

返回

List[Optional[int]]

一个指示每个标记对应的序列 id 的列表。由分词器添加的特殊标记映射到None,其他标记映射到其对应序列的索引。

返回将标记映射到其原始句子的 id 的列表:

  • 对于添加在序列周围或之间的特殊标记,为None
  • 0表示对应于第一个序列中的单词的标记,
  • 当一对序列被联合编码时,对于第二个序列中的单词对应的标记,为1
to

<来源>

( device: Union ) → export const metadata = 'undefined';BatchEncoding

参数

  • devicestrtorch.device)— 要放置张量的设备。

返回

BatchEncoding

修改后的相同实例。

通过调用v.to(device)将所有值发送到设备(仅适用于 PyTorch)。

token_to_chars

<来源>

( batch_or_token_index: int token_index: Optional = None ) → export const metadata = 'undefined';CharSpan

参数

  • batch_or_token_indexint)— 批次中序列的索引。如果批次只包含一个序列,则可以是序列中标记的索引。
  • token_indexint可选)— 如果在batch_or_token_index中提供了批次索引,则可以是序列中标记或标记的索引。

返回

CharSpan

原始字符串中字符的范围,如果标记(例如~~,~~)不对应于原始字符串中的任何字符,则为 None。

获取批次中序列中编码标记对应的字符跨度。

字符跨度以 CharSpan 形式返回,具有:

  • start— 与标记关联的原始字符串中第一个字符的索引。
  • end— 跟随与标记关联的原始字符串中最后一个字符的索引。

可以调用为:

  • 如果批次大小为 1,则为self.token_to_chars(token_index)
  • 如果批次大小大于或等于 1,则为self.token_to_chars(batch_index, token_index)
token_to_sequence

<来源>

( batch_or_token_index: int token_index: Optional = None ) → export const metadata = 'undefined';int

参数

  • batch_or_token_indexint)—批次中序列的索引。如果批次只包含一个序列,这可以是序列中标记的索引。
  • token_indexint可选)—如果在batch_or_token_index中提供了批次索引,则这可以是序列中标记的索引。

返回

int

输入序列中的单词索引。

获取给定标记表示的序列的索引。在一般用例中,此方法对于单个序列或一对序列的第一个序列返回0,对于一对序列的第二个序列返回1

可以调用为:

  • 如果批次大小为 1,则为self.token_to_sequence(token_index)
  • 如果批次大小大于 1,则为self.token_to_sequence(batch_index, token_index)

当输入序列以预标记序列(即,单词由用户定义)提供时,此方法特别适用。在这种情况下,它允许轻松将编码标记与提供的标记化单词关联起来。

token_to_word

<来源>

( batch_or_token_index: int token_index: Optional = None ) → export const metadata = 'undefined';int

参数

  • batch_or_token_indexint)—批次中序列的索引。如果批次只包含一个序列,这可以是序列中标记的索引。
  • token_indexint可选)—如果在batch_or_token_index中提供了批次索引,则这可以是序列中标记的索引。

返回

int

输入序列中的单词索引。

获取与批次序列中编码标记对应的单词的索引。

可以调用为:

  • 如果批次大小为 1,则为self.token_to_word(token_index)
  • 如果批次大小大于 1,则为self.token_to_word(batch_index, token_index)

当输入序列以预标记序列(即,单词由用户定义)提供时,此方法特别适用。在这种情况下,它允许轻松将编码标记与提供的标记化单词关联起来。

tokens

<来源>

( batch_index: int = 0 ) → export const metadata = 'undefined';List[str]

参数

  • batch_indexint可选,默认为 0)—要访问的批次索引。

返回

List[str]

该索引处的标记列表。

返回给定批次索引处的标记列表(在单词/子词拆分后和转换为整数索引之前的输入字符串的子部分)(仅适用于快速标记器的输出)。

word_ids

<来源>

( batch_index: int = 0 ) → export const metadata = 'undefined';List[Optional[int]]

参数

  • batch_indexint可选,默认为 0)—要访问的批次索引。

返回

List[Optional[int]]

一个列表,指示每个标记对应的单词。标记器添加的特殊标记映射到None,其他标记映射到其对应单词的索引(如果它们是该单词的一部分,则几个标记将映射到相同的单词索引)。

返回一个将标记映射到初始句子中实际单词的列表,用于快速标记器。

word_to_chars

<来源>

( batch_or_word_index: int word_index: Optional = None sequence_index: int = 0 ) → export const metadata = 'undefined';CharSpan or List[CharSpan]

参数

  • batch_or_word_indexint)—批次中序列的索引。如果批次只包含一个序列,这可以是序列中单词的索引
  • word_indexint可选)—如果在batch_or_token_index中提供了批次索引,则这可以是序列中单词的索引。
  • sequence_indexint可选,默认为 0)—如果批次中编码了一对序列,则可以用于指定提供的单词索引属于该对中的哪个序列(0 或 1)。

返回

CharSpanList[CharSpan]

与字符串中相关字符或字符的范围。CharSpan 是 NamedTuple,具有:

  • start: 原始字符串中与标记关联的第一个字符的索引
  • end: 原始字符串中与标记关联的最后一个字符后面的字符的索引

获取批处理序列中给定单词对应的原始字符串中的字符范围。

字符范围以 CharSpan NamedTuple 形式返回:

  • start: 原始字符串中的第一个字符的索引
  • end: 原始字符串中最后一个字符后面的字符的索引

可以调用为:

  • 如果批处理大小为 1,则为self.word_to_chars(word_index)
  • 如果批处理大小大于或等于 1,则为self.word_to_chars(batch_index, word_index)
word_to_tokens

<来源>

( batch_or_word_index: int word_index: Optional = None sequence_index: int = 0 ) → export const metadata = 'undefined';(TokenSpan, optional)

参数

  • batch_or_word_indexint)— 批处理中序列的索引。如果批处理仅包括一个序列,则可以是序列中单词的索引。
  • word_indexint可选)— 如果在batch_or_token_index中提供了批处理索引,则可以是序列中单词的索引。
  • sequence_indexint可选,默认为 0)— 如果批处理中编码了一对序列,则可以用于指定提供的单词索引属于一对序列中的哪个序列(0 或 1)。

返回

(TokenSpan,可选)

编码序列中的标记范围。如果没有标记与该单词对应,则返回None。这可能会发生,特别是当标记是用于格式化标记化的特殊标记时。例如,当我们在标记化的开头添加一个类标记时。

获取与批处理序列中的单词对应的编码标记范围。

标记范围以 TokenSpan 形式返回:

  • start — 第一个标记的索引。
  • end — 最后一个标记后面的标记的索引。

可以调用为:

  • 如果批处理大小为 1,则为self.word_to_tokens(word_index, sequence_index: int = 0)
  • 如果批处理大小大于或等于 1,则为self.word_to_tokens(batch_index, word_index, sequence_index: int = 0)

当输入序列以预分词序列(即用户定义的单词)提供时,此方法特别适用。在这种情况下,它允许轻松将编码标记与提供的分词单词关联起来。

words

<来源>

( batch_index: int = 0 ) → export const metadata = 'undefined';List[Optional[int]]

参数

  • batch_indexint可选,默认为 0)— 要访问的批处理中的索引。

返回

List[Optional[int]]

指示每个标记对应的单词的列表。标记器添加的特殊标记映射到None,其他标记映射到其对应单词的索引(如果它们是该单词的一部分,则几个标记将映射到相同的单词索引)。

返回一个列表,将标记映射到初始句子中的实际单词,以便快速标记化器使用。

相关文章
|
6月前
|
存储 PyTorch 算法框架/工具
Transformers 4.37 中文文档(十九)(4)
Transformers 4.37 中文文档(十九)
296 2
|
6月前
|
存储 PyTorch 网络安全
Transformers 4.37 中文文档(十九)(5)
Transformers 4.37 中文文档(十九)
116 2
|
6月前
|
算法 API 调度
Transformers 4.37 中文文档(十九)(6)
Transformers 4.37 中文文档(十九)
89 2
|
6月前
|
存储 机器学习/深度学习 异构计算
Transformers 4.37 中文文档(十九)(8)
Transformers 4.37 中文文档(十九)
238 2
|
6月前
|
PyTorch 算法框架/工具 异构计算
Transformers 4.37 中文文档(二十二)(4)
Transformers 4.37 中文文档(二十二)
36 3
|
6月前
|
文字识别 PyTorch TensorFlow
Transformers 4.37 中文文档(十七)(5)
Transformers 4.37 中文文档(十七)
64 1
|
6月前
|
自然语言处理 PyTorch TensorFlow
Transformers 4.37 中文文档(十七)(4)
Transformers 4.37 中文文档(十七)
50 1
|
6月前
|
存储 PyTorch TensorFlow
Transformers 4.37 中文文档(十七)(1)
Transformers 4.37 中文文档(十七)
64 1
|
6月前
|
PyTorch TensorFlow 算法框架/工具
Transformers 4.37 中文文档(十七)(2)
Transformers 4.37 中文文档(十七)
43 1
|
6月前
|
并行计算 PyTorch TensorFlow
Transformers 4.37 中文文档(十七)(3)
Transformers 4.37 中文文档(十七)
39 1