Transformers 4.37 中文文档(四十七)(3)

简介: Transformers 4.37 中文文档(四十七)

Transformers 4.37 中文文档(四十七)(2)https://developer.aliyun.com/article/1565186


mT5

原始文本:huggingface.co/docs/transformers/v4.37.2/en/model_doc/mt5

概述

mT5 模型在Linting  Xue, Noah Constant, Adam Roberts, Mihir Kale, Rami Al-Rfou, Aditya  Siddhant, Aditya Barua, Colin Raffel 撰写的“mT5: A massively multilingual  pre-trained text-to-text transformer”中提出。

论文摘要如下:

最近的“文本到文本转换  Transformer”(T5)利用了统一的文本到文本格式和规模,在各种英语自然语言处理任务中取得了最先进的结果。在本文中,我们介绍了  mT5,这是 T5 的多语言变体,它在基于新的 Common Crawl 数据集上进行了预训练,涵盖了 101 种语言。我们详细介绍了 mT5  的设计和修改训练,并展示了它在许多多语言基准测试中的最先进性能。我们还描述了一种简单的技术,以防止在零样本设置中“意外翻译”,在这种情况下,生成模型选择将其预测(部分)翻译成错误的语言。本文中使用的所有代码和模型检查点都是公开可用的。

注意:mT5 仅在mC4上进行了预训练,不包括任何监督训练。因此,该模型在用于下游任务之前必须进行微调,与原始 T5 模型不同。由于 mT5 是无监督预训练的,因此在单任务微调期间使用任务前缀没有真正的优势。如果进行多任务微调,应该使用前缀。

Google 发布了以下变体:

此模型由patrickvonplaten贡献。原始代码可以在这里找到。

资源

  • 翻译任务指南
  • 摘要任务指南

MT5 配置

class transformers.MT5Config

<来源>

( vocab_size = 250112 d_model = 512 d_kv = 64 d_ff = 1024 num_layers = 8 num_decoder_layers = None num_heads = 6 relative_attention_num_buckets = 32 relative_attention_max_distance = 128 dropout_rate = 0.1 layer_norm_epsilon = 1e-06 initializer_factor = 1.0 feed_forward_proj = 'gated-gelu' is_encoder_decoder = True use_cache = True tokenizer_class = 'T5Tokenizer' tie_word_embeddings = False pad_token_id = 0 eos_token_id = 1 decoder_start_token_id = 0 classifier_dropout = 0.0 **kwargs )

参数

  • vocab_size (int, 可选, 默认为 250112) — T5 模型的词汇大小。定义了在调用 T5Model 或 TFT5Model 时可以表示的不同标记数量。
  • d_model (int, 可选, 默认为 512) — 编码器层和池化层的大小。
  • d_kv (int, 可选, 默认为 64) — 每个注意力头中键、查询、值投影的大小。在传统上下文中,通常期望d_kv等于d_model // num_heads。但在 mt5-small 的架构中,d_kv不等于d_model // num_heads。投影层的inner_dim将定义为num_heads * d_kv
  • d_ff (int, 可选, 默认为 1024) — 每个T5Block中的中间前馈层的大小。
  • num_layers (int, 可选, 默认为 8) — Transformer 编码器中的隐藏层数量。
  • num_decoder_layers (int, 可选) — Transformer 解码器中的隐藏层数量。如果未设置,将使用与num_layers相同的值。
  • num_heads (int, 可选, 默认为 6) — Transformer 编码器中每个注意力层的注意力头数量。
  • relative_attention_num_buckets (int, 可选, 默认为 32) — 每个注意力层使用的桶数。
  • relative_attention_max_distance (int, 可选, 默认为 128) — 用于桶分离的较长序列的最大距离。
  • dropout_rate (float, 可选, 默认为 0.1) — 所有丢弃层的比率。
  • classifier_dropout (float, 可选, 默认为 0.0) — 分类器的丢弃比率。
  • layer_norm_eps (float, 可选, 默认为 1e-6) — 层归一化层使用的 epsilon。
  • initializer_factor (float, 可选, 默认为 1) — 用于初始化所有权重矩阵的因子(应保持为 1,用于内部初始化测试)。
  • feed_forward_proj (string, 可选, 默认为 "gated-gelu") — 要使用的前馈层类型。应为 "relu""gated-gelu" 之一。
  • use_cache (bool, 可选, 默认为 True) — 模型是否应返回最后的键/值注意力(并非所有模型都使用)。

这是用于存储 MT5Model 或 TFMT5Model 配置的配置类。它用于根据指定的参数实例化一个 mT5 模型,定义模型架构。使用默认值实例化配置将产生类似于 mT5 google/mt5-small 架构的配置。

配置对象继承自 PretrainedConfig 并可用于控制模型输出。阅读来自 PretrainedConfig 的文档以获取更多信息。

MT5Tokenizer

class transformers.T5Tokenizer

< source >

( vocab_file eos_token = '</s>' unk_token = '<unk>' pad_token = '<pad>' extra_ids = 100 additional_special_tokens = None sp_model_kwargs: Optional = None legacy = None **kwargs )

参数

  • vocab_file (str) — 包含实例化分词器所需词汇的 SentencePiece 文件(通常具有 .spm 扩展名)。
  • eos_token (str, 可选, 默认为 "") — 序列结束标记。
    在使用特殊标记构建序列时,这不是用于序列结束的标记。使用的标记是 sep_token
  • unk_token (str, 可选, 默认为 "") — 未知标记。词汇表中没有的标记无法转换为 ID,而是设置为此标记。
  • pad_token (str, 可选, 默认为 "") — 用于填充的标记,例如在批处理不同长度的序列时使用。
  • extra_ids (int, 可选, 默认为 100) — 添加一些额外的 id 到词汇表中以用作哨兵。这些标记可通过调用 get_sentinel_tokens 方法检索,标记 id 可通过调用 get_sentinel_token_ids 方法检索 additional_special_tokens (List[str], 可选): 分词器使用的其他特殊标记。
  • sp_model_kwargs (dict, 可选) — 将传递给 SentencePieceProcessor.__init__() 方法的参数。SentencePiece 的 Python 封装 可以用于设置以下内容之一:
  • enable_sampling: 启用子词正则化。
  • nbest_size: unigram 的抽样参数。对于 BPE-Dropout 无效。
  • nbest_size = {0,1}: 不执行抽样。
  • nbest_size > 1: 从 nbest_size 结果中抽样。
  • nbest_size < 0: 假设 nbest_size 为无限,并使用前向过滤和后向抽样算法从所有假设(格)中抽样。
  • alpha:用于 unigram 采样的平滑参数,以及 BPE-dropout 的合并操作的丢弃概率。
  • legacy (bool, 可选) — 是否应该使用分词器的legacy行为。Legacy 是在合并#24622 和#25224 之前的版本,其中包括修复以正确处理出现在特殊标记之后的标记的问题。一个简单的例子:
  • legacy=True:

构建一个 T5 分词器。基于SentencePiece

此分词器继承自 PreTrainedTokenizer,其中包含大多数主要方法。用户应参考此超类以获取有关这些方法的更多信息。

build_inputs_with_special_tokens

<源代码>

( token_ids_0: List token_ids_1: Optional = None ) → export const metadata = 'undefined';List[int]

参数

  • token_ids_0 (List[int]) — 将添加特殊标记的 ID 列表。
  • token_ids_1 (List[int], 可选) — 序列对的可选第二个 ID 列表。

返回

List[int]

带有适当特殊标记的 input IDs 列表。

通过连接和添加特殊标记,从序列或序列对构建用于序列分类任务的模型输入。序列的格式如下:

  • 单个序列:X
  • 序列对:A  B
convert_tokens_to_string

<源代码>

( tokens )

将标记序列(字符串)转换为单个字符串。

create_token_type_ids_from_sequences

<源代码>

( token_ids_0: List token_ids_1: Optional = None ) → export const metadata = 'undefined';List[int]

参数

  • token_ids_0 (List[int]) — ID 列表。
  • token_ids_1 (List[int], 可选) — 序列对的可选第二个 ID 列表。

返回

List[int]

零列表。

从传递的两个序列创建一个用于序列对分类任务的掩码。T5 不使用标记类型 ID,因此返回一个零列表。

get_special_tokens_mask

<源代码>

( token_ids_0: List token_ids_1: Optional = None already_has_special_tokens: bool = False ) → export const metadata = 'undefined';List[int]

参数

  • token_ids_0 (List[int]) — ID 列表。
  • token_ids_1 (List[int], 可选) — 序列对的可选第二个 ID 列表。
  • already_has_special_tokens (bool, 可选, 默认为 False) — 标记列表是否已经格式化为模型的特殊标记。

返回

List[int]

一个整数列表,范围为[0, 1]:1 表示特殊标记,0 表示序列标记。

从没有添加特殊标记的标记列表中检索序列 ID。在使用分词器的prepare_for_model方法添加特殊标记时调用此方法。

tokenize

<源代码>

( text: TextInput add_special_tokens = False **kwargs )

将字符串转换为标记列表。如果self.legacy设置为False,则会添加前缀标记,除非第一个标记是特殊标记。

有关所有详细信息,请参阅 T5Tokenizer。

MT5TokenizerFast

class transformers.T5TokenizerFast

<源代码>

( vocab_file = None tokenizer_file = None eos_token = '</s>' unk_token = '<unk>' pad_token = '<pad>' extra_ids = 100 additional_special_tokens = None **kwargs )

参数

  • vocab_file (str) — 包含实例化分词器所需词汇表的SentencePiece文件(通常具有*.spm*扩展名)。
  • eos_token (str, 可选, 默认为 "") — 序列结束标记。
    在使用特殊标记构建序列时,这不是用于序列结束的标记。使用的标记是sep_token
  • unk_token (str, 可选, 默认为"") — 未知标记。词汇表中没有的标记无法转换为 ID,而是设置为此标记。
  • pad_token (str, 可选, 默认为"") — 用于填充的标记,例如在批处理不同长度的序列时使用。
  • extra_ids (int, 可选, 默认为 100) — 添加一些额外的 id 到词汇表中,用作标记。这些标记可以通过调用 get_sentinel_tokens 方法检索,通过调用 get_sentinel_token_ids 方法获取标记 id
  • additional_special_tokens (List[str], 可选) — 分词器使用的额外特殊标记。

构建一个“快速”T5 分词器(由 HuggingFace 的tokenizers库支持)。基于Unigram

此分词器继承自 PreTrainedTokenizerFast,其中包含大多数主要方法。用户应参考此超类以获取有关这些方法的更多信息。

build_inputs_with_special_tokens

<来源>

( token_ids_0: List token_ids_1: Optional = None ) → export const metadata = 'undefined';List[int]

参数

  • token_ids_0 (List[int]) — 将特殊标记添加到的 id 列表。
  • token_ids_1 (List[int], 可选) — 第二个序列对的可选 id 列表。

返回

List[int]

具有适当特殊标记的输入 ID 列表。

通过连接和添加特殊标记从一个序列或一个序列对构建用于序列分类任务的模型输入。一个序列的格式如下:

  • 单个序列:X
  • 序列对:A  B
create_token_type_ids_from_sequences

<来源>

( token_ids_0: List token_ids_1: Optional = None ) → export const metadata = 'undefined';List[int]

参数

  • token_ids_0 (List[int]) — id 列表。
  • token_ids_1 (List[int], 可选) — 第二个序列对的可选 id 列表。

返回

List[int]

零的列表。

从传递的两个序列创建一个用于序列对分类任务的掩码。T5 不使用标记类型 id,因此返回一个零的列表。

查看 T5TokenizerFast 获取所有细节。

Pytorch 隐藏了 Pytorch 内容

MT5Model

class transformers.MT5Model

<来源>

( config: MT5Config )

参数

  • config (MT5Config) — 模型配置类,包含模型的所有参数。使用配置文件初始化不会加载与模型相关的权重,只加载配置。查看 from_pretrained()方法以加载模型权重。

裸 MT5 模型 Transformer 输出原始隐藏状态,没有特定的头部。

MT5 模型由 Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee,  Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu 在探索统一文本到文本 Transformer 的迁移学习极限中提出。它是一个在文本到文本去噪生成环境中预训练的编码器解码器 Transformer。

此模型继承自 PreTrainedModel。查看超类文档以获取库为所有模型实现的通用方法(如下载或保存、调整输入嵌入、修剪头等)。

该模型也是 PyTorch torch.nn.Module的子类。将其用作常规 PyTorch 模块,并参考 PyTorch 文档以获取与一般用法和行为相关的所有事项。

示例:

>>> from transformers import MT5Model, AutoTokenizer
>>> model = MT5Model.from_pretrained("google/mt5-small")
>>> tokenizer = AutoTokenizer.from_pretrained("google/mt5-small")
>>> article = "UN Offizier sagt, dass weiter verhandelt werden muss in Syrien."
>>> summary = "Weiter Verhandlung in Syrien."
>>> inputs = tokenizer(article, return_tensors="pt")
>>> labels = tokenizer(text_target=summary, return_tensors="pt")
>>> outputs = model(input_ids=inputs["input_ids"], decoder_input_ids=labels["input_ids"])
>>> hidden_states = outputs.last_hidden_state
deparallelize

<来源>

( )

将模型从模型并行状态移动到 CPU。

示例:

# On a 4 GPU machine with mt5-xl:
model = MT5ForConditionalGeneration.from_pretrained("Mt5-xl")
device_map = {
    0: [0, 1, 2],
    1: [3, 4, 5, 6, 7, 8, 9],
    2: [10, 11, 12, 13, 14, 15, 16],
    3: [17, 18, 19, 20, 21, 22, 23],
}
model.parallelize(device_map)  # Splits the model across several devices
model.deparallelize()  # Put the model back on cpu and cleans memory by calling torch.cuda.empty_cache()
forward

<来源>

( input_ids: Optional = None attention_mask: Optional = None decoder_input_ids: Optional = None decoder_attention_mask: Optional = None head_mask: Optional = None decoder_head_mask: Optional = None cross_attn_head_mask: Optional = None encoder_outputs: Optional = None past_key_values: Optional = None inputs_embeds: Optional = None decoder_inputs_embeds: Optional = None use_cache: Optional = None output_attentions: Optional = None output_hidden_states: Optional = None return_dict: Optional = None ) → export const metadata = 'undefined';transformers.modeling_outputs.Seq2SeqModelOutput or tuple(torch.FloatTensor)

参数

  • input_ids(形状为(batch_size, sequence_length)torch.LongTensor)— 输入序列标记在词汇表中的索引。MT5 是一个带有相对位置嵌入的模型,因此您应该能够在右侧和左侧填充输入。
    可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call()。
    什么是输入 ID?
    要了解有关如何为预训练准备input_ids的更多信息,请查看 MT5 训练。
  • attention_mask(形状为(batch_size, sequence_length)torch.FloatTensor可选)— 避免在填充标记索引上执行注意力的膜。膜值选择在[0, 1]范围内:
  • 1 表示标记未被遮蔽,
  • 0 表示标记被遮蔽。
  • 什么是注意力膜?
  • decoder_input_ids(形状为(batch_size, target_sequence_length)torch.LongTensor可选)— 解码器输入序列标记在词汇表中的索引。
    可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call()。
    什么是解码器输入 ID?
    MT5 使用pad_token_id作为decoder_input_ids生成的起始标记。如果使用past_key_values,则可以选择仅输入最后的decoder_input_ids(参见past_key_values)。
    要了解有关如何为预训练准备decoder_input_ids的更多信息,请查看 MT5 训练。
  • decoder_attention_mask(形状为(batch_size, target_sequence_length)torch.BoolTensor可选)— 默认行为:生成一个忽略decoder_input_ids中填充标记的张量。因果膜也将默认使用。
  • head_mask(形状为(num_heads,)(num_layers, num_heads)torch.FloatTensor可选)— 用于在编码器中使自注意力模块的选定头部失效的膜。膜值选择在[0, 1]范围内。
  • 1 表示头部未被遮蔽,
  • 0 表示头部被遮蔽。
  • decoder_head_mask(形状为(num_heads,)(num_layers, num_heads)torch.FloatTensor可选)— 用于在解码器中使自注意力模块的选定头部失效的膜。膜值选择在[0, 1]范围内:
  • 1 表示头部未被遮蔽,
  • 0 表示头部被遮蔽。
  • cross_attn_head_mask(形状为(num_heads,)(num_layers, num_heads)torch.Tensor可选)— 用于在解码器中使交叉注意力模块的选定头部失效的膜。膜值选择在[0, 1]范围内:
  • 1 表示头部未被遮蔽,
  • 0 表示头部被遮蔽。
  • encoder_outputstuple(tuple(torch.FloatTensor)可选)— 元组由(last_hidden_state可选hidden_states可选attentions)组成,last_hidden_state的形状为(batch_size, sequence_length, hidden_size),是编码器最后一层输出的隐藏状态序列。用于解码器的交叉注意力。
  • past_key_values(长度为config.n_layerstuple(tuple(torch.FloatTensor)),每个元组有 4 个形状为(batch_size, num_heads, sequence_length - 1, embed_size_per_head)的张量)— 包含注意力块的预计算键和值隐藏状态。可用于加速解码。
    如果使用past_key_values,用户可以选择仅输入最后的decoder_input_ids(即那些没有将它们的过去键值状态提供给此模型的)形状为(batch_size, 1),而不是形状为(batch_size, sequence_length)的所有decoder_input_ids
  • inputs_embeds(形状为(batch_size, sequence_length, hidden_size)torch.FloatTensor可选)— 可选地,您可以选择直接传递嵌入表示,而不是传递input_ids。如果您想要更多控制如何将input_ids索引转换为相关向量,而不是使用模型的内部嵌入查找矩阵,这将非常有用。
  • decoder_inputs_embeds(形状为(batch_size, target_sequence_length, hidden_size)torch.FloatTensor可选)— 可选地,您可以选择直接传递嵌入表示,而不是传递decoder_input_ids。如果使用past_key_values,可选地只需输入最后的decoder_inputs_embeds(参见past_key_values)。如果您想要更多控制如何将decoder_input_ids索引转换为相关向量,而不是使用模型的内部嵌入查找矩阵,这将非常有用。
    如果decoder_input_idsdecoder_inputs_embeds都未设置,则decoder_inputs_embedsinputs_embeds的值。
  • use_cachebool可选)— 如果设置为True,则返回past_key_values键值状态,并可用于加速解码(参见past_key_values)。
  • output_attentionsbool可选)— 是否返回所有注意力层的注意力张量。有关更多详细信息,请参见返回张量下的attentions
  • output_hidden_statesbool可选)— 是否返回所有层的隐藏状态。有关更多详细信息,请参见返回张量下的hidden_states
  • return_dictbool可选)— 是否返回一个 ModelOutput 而不是一个普通元组。

返回

transformers.modeling_outputs.Seq2SeqModelOutput 或tuple(torch.FloatTensor)

一个 transformers.modeling_outputs.Seq2SeqModelOutput 或一个torch.FloatTensor元组(如果传递了return_dict=Falseconfig.return_dict=False时)包含各种元素,这取决于配置(MT5Config)和输入。

  • last_hidden_state(形状为(batch_size, sequence_length, hidden_size)torch.FloatTensor)— 模型解码器最后一层的隐藏状态序列。
    如果仅使用past_key_values,则输出形状为(batch_size, 1, hidden_size)的序列的最后一个隐藏状态。
  • past_key_valuestuple(tuple(torch.FloatTensor))可选,当传递use_cache=Trueconfig.use_cache=True时返回)— 长度为config.n_layerstuple(torch.FloatTensor)元组,每个元组有 2 个形状为(batch_size, num_heads, sequence_length, embed_size_per_head)的张量和 2 个额外的形状为(batch_size, num_heads, encoder_sequence_length, embed_size_per_head)的张量。
    包含预先计算的隐藏状态(自注意力块和交叉注意力块中的键和值),可用于加速顺序解码(请参见past_key_values输入)。
  • decoder_hidden_statestuple(torch.FloatTensor)可选,当传递output_hidden_states=True或当config.output_hidden_states=True时返回)—形状为(batch_size, sequence_length, hidden_size)torch.FloatTensor元组(如果模型有嵌入层的输出一个,+每个层的输出一个)。
    每层解码器的隐藏状态加上可选的初始嵌入输出。
  • decoder_attentionstuple(torch.FloatTensor)可选,当传递output_attentions=True或当config.output_attentions=True时返回)—形状为(batch_size, num_heads, sequence_length, sequence_length)torch.FloatTensor元组(每层一个)。
    解码器的注意力权重,在注意力 softmax 之后,用于计算自注意力头中的加权平均值。
  • cross_attentionstuple(torch.FloatTensor)可选,当传递output_attentions=True或当config.output_attentions=True时返回)—形状为(batch_size, num_heads, sequence_length, sequence_length)torch.FloatTensor元组(每层一个)。
    解码器的交叉注意力层的注意力权重,在注意力 softmax 之后,用于计算交叉注意力头中的加权平均值。
  • encoder_last_hidden_state(形状为(batch_size, sequence_length, hidden_size)torch.FloatTensor可选)—模型编码器最后一层的隐藏状态序列。
  • encoder_hidden_statestuple(torch.FloatTensor)可选,当传递output_hidden_states=True或当config.output_hidden_states=True时返回)—形状为(batch_size, sequence_length, hidden_size)torch.FloatTensor元组(如果模型有嵌入层的输出一个,+每个层的输出一个)。
    每层编码器的隐藏状态加上可选的初始嵌入输出。
  • encoder_attentionstuple(torch.FloatTensor)可选,当传递output_attentions=True或当config.output_attentions=True时返回)—形状为(batch_size, num_heads, sequence_length, sequence_length)torch.FloatTensor元组(每层一个)。
    编码器的注意力权重,在注意力 softmax 之后,用于计算自注意力头中的加权平均值。

MT5Model 的前向方法,覆盖了__call__特殊方法。

虽然前向传递的配方需要在此函数内定义,但应该在此之后调用Module实例,而不是在此之后调用,因为前者负责运行前处理和后处理步骤,而后者则默默地忽略它们。

示例:

>>> from transformers import AutoTokenizer, MT5Model
>>> tokenizer = AutoTokenizer.from_pretrained("mt5-small")
>>> model = MT5Model.from_pretrained("mt5-small")
>>> input_ids = tokenizer(
...     "Studies have been shown that owning a dog is good for you", return_tensors="pt"
... ).input_ids  # Batch size 1
>>> decoder_input_ids = tokenizer("Studies show that", return_tensors="pt").input_ids  # Batch size 1
>>> # preprocess: Prepend decoder_input_ids with start token which is pad token for MT5Model.
>>> # This is not needed for torch's MT5ForConditionalGeneration as it does this internally using labels arg.
>>> decoder_input_ids = model._shift_right(decoder_input_ids)
>>> # forward pass
>>> outputs = model(input_ids=input_ids, decoder_input_ids=decoder_input_ids)
>>> last_hidden_states = outputs.last_hidden_state
parallelize

< source >

( device_map = None )

参数

  • device_mapDict[int, list],可选,默认为 None)—将注意力模块映射到设备的字典。请注意,嵌入模块和 LMHead 始终自动映射到第一个设备(出于奇特的原因)。这意味着第一个设备应该比其他设备有更少的注意力模块映射到它。作为参考,mt5 模型具有以下数量的注意力模块:
  • mt5-small: 6
  • mt5-base: 12
  • mt5-large: 24
  • mt5-xl: 24
  • mt5-xxl: 24

这是一个实验性功能,随时可能更改。

使用设备映射将模型的注意力模块分布到多个设备上。如果没有给出设备映射,它将均匀地将块分布到所有设备上。

示例:

# Here is an example of a device map on a machine with 4 GPUs using mt5-xl, which has a total of 24 attention modules:
model = MT5ForConditionalGeneration.from_pretrained("mt5-xl")
device_map = {
    0: [0, 1, 2],
    1: [3, 4, 5, 6, 7, 8, 9],
    2: [10, 11, 12, 13, 14, 15, 16],
    3: [17, 18, 19, 20, 21, 22, 23],
}
model.parallelize(device_map)


Transformers 4.37 中文文档(四十七)(4)https://developer.aliyun.com/article/1565188

相关文章
|
4月前
|
存储 PyTorch 算法框架/工具
Transformers 4.37 中文文档(四十四)(3)
Transformers 4.37 中文文档(四十四)
35 4
|
4月前
|
机器学习/深度学习 PyTorch TensorFlow
Transformers 4.37 中文文档(四十七)(5)
Transformers 4.37 中文文档(四十七)
59 12
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Transformers 4.37 中文文档(四十七)(4)
Transformers 4.37 中文文档(四十七)
85 10
|
4月前
|
存储 自然语言处理 PyTorch
Transformers 4.37 中文文档(四十六)(1)
Transformers 4.37 中文文档(四十六)
21 2
|
4月前
|
缓存 自然语言处理 PyTorch
Transformers 4.37 中文文档(四十六)(5)
Transformers 4.37 中文文档(四十六)
40 7
|
4月前
|
存储 编解码 PyTorch
Transformers 4.37 中文文档(四十七)(1)
Transformers 4.37 中文文档(四十七)
31 6
|
4月前
|
自然语言处理 PyTorch 算法框架/工具
Transformers 4.37 中文文档(四十七)(2)
Transformers 4.37 中文文档(四十七)
32 2
|
4月前
|
PyTorch TensorFlow 算法框架/工具
Transformers 4.37 中文文档(四十六)(3)
Transformers 4.37 中文文档(四十六)
17 2
|
4月前
|
自然语言处理 PyTorch TensorFlow
Transformers 4.37 中文文档(四十六)(2)
Transformers 4.37 中文文档(四十六)
33 1
|
4月前
|
存储 PyTorch 算法框架/工具
Transformers 4.37 中文文档(四十六)(4)
Transformers 4.37 中文文档(四十六)
24 1