Transformers 4.37 中文文档(四十二)(4)https://developer.aliyun.com/article/1565020
MarkupLMTokenizerFast
class transformers.MarkupLMTokenizerFast
( vocab_file merges_file tags_dict tokenizer_file = None errors = 'replace' bos_token = '<s>' eos_token = '</s>' sep_token = '</s>' cls_token = '<s>' unk_token = '<unk>' pad_token = '<pad>' mask_token = '<mask>' add_prefix_space = False max_depth = 50 max_width = 1000 pad_width = 1001 pad_token_label = -100 only_label_first_subword = True trim_offsets = False **kwargs )
参数
vocab_file
(str
) — 词汇文件的路径。merges_file
(str
) — 合并文件的路径。errors
(str
, 可选, 默认为"replace"
) — 解码字节为 UTF-8 时要遵循的范例。有关更多信息,请参见 bytes.decode。bos_token
(str
, 可选, 默认为""
) — 在预训练期间使用的序列开始标记。可用作序列分类器标记。
在使用特殊标记构建序列时,这不是用于序列开头的标记。使用的标记是cls_token
。eos_token
(str
, 可选, 默认为"
"
) — 序列结束标记。
在使用特殊标记构建序列时,这不是用于序列结尾的标记。使用的标记是sep_token
。sep_token
(str
, optional, defaults to""
) — 用于在构建多个序列时使用的分隔符标记,例如用于序列分类的两个序列或用于问题回答的文本和问题。它还用作使用特殊标记构建的序列的最后一个标记。cls_token
(str
, optional, defaults to""
) — 在进行序列分类(整个序列的分类而不是每个标记的分类)时使用的分类器标记。在使用特殊标记构建序列时,它是序列的第一个标记。unk_token
(str
, optional, defaults to""
) — 未知标记。词汇表中不存在的标记无法转换为 ID,而是设置为此标记。pad_token
(str
, optional, defaults to""
) — 用于填充的标记,例如在批处理不同长度的序列时使用。mask_token
(str
, optional, defaults to""
) — 用于屏蔽值的标记。这是在使用屏蔽语言建模训练此模型时使用的标记。这是模型将尝试预测的标记。add_prefix_space
(bool
, optional, defaults toFalse
) — 是否在输入中添加初始空格。这允许将前导单词视为任何其他单词。(RoBERTa 分词器通过前面的空格检测单词的开头)。
构建一个 MarkupLM 分词器。基于字节级字节对编码(BPE)。
MarkupLMTokenizerFast 可用于将 HTML 字符串转换为标记级input_ids
、attention_mask
、token_type_ids
、xpath_tags_seq
和xpath_tags_seq
。此分词器继承自 PreTrainedTokenizer,其中包含大多数主要方法。
用户应参考此超类以获取有关这些方法的更多信息。
batch_encode_plus
( batch_text_or_text_pairs: Union is_pair: bool = None xpaths: Optional = None node_labels: Union = None add_special_tokens: bool = True padding: Union = False truncation: Union = None max_length: Optional = None stride: int = 0 pad_to_multiple_of: Optional = None return_tensors: Union = None return_token_type_ids: Optional = None return_attention_mask: Optional = None return_overflowing_tokens: bool = False return_special_tokens_mask: bool = False return_offsets_mapping: bool = False return_length: bool = False verbose: bool = True **kwargs )
add_special_tokens (bool
, optional, defaults to True
): 在编码序列时是否添加特殊标记。这将使用底层的PretrainedTokenizerBase.build_inputs_with_special_tokens
函数,该函数定义了自动添加到输入 ID 的标记。如果要自动添加bos
或eos
标记,则这很有用。填充(bool
,str
或 PaddingStrategy,optional,默认为False
):激活和控制填充。接受以下值:
True
or'longest'
: 填充到批处理中最长序列的长度(如果只提供一个序列,则不进行填充)。'max_length'
: 使用参数max_length
指定的最大长度进行填充,或者如果未提供该参数,则使用模型的最大可接受输入长度进行填充。False
or'do_not_pad'
(默认):不进行填充(即,可以输出具有不同长度序列的批次)。截断(bool
,str
或 TruncationStrategy,optional,默认为False
):激活和控制截断。接受以下值:True
or'longest_first'
: 截断到使用参数max_length
指定的最大长度,或者如果未提供该参数,则截断到模型的最大可接受输入长度。这将逐标记截断,如果提供了一对序列(或一批对序列),则从该对中最长序列中删除一个标记。'only_first'
:仅截断到由参数max_length
指定的最大长度,或者如果未提供该参数,则截断到模型的最大可接受输入长度。如果提供了一对序列(或一批对序列),则仅会截断第一个序列。'only_second'
: 仅截断到由参数max_length
指定的最大长度,或者如果未提供该参数,则截断到模型的最大可接受输入长度。如果提供了一对序列(或一批对序列),则仅会截断第二个序列。False
或'do_not_truncate'
(默认):无截断(即,可以输出具有大于模型最大可接受输入大小的序列长度的批次)。max_length(int
,可选):由截断/填充参数之一使用的最大长度。
如果未设置或设置为None
,则如果截断/填充参数中的一个需要最大长度,则将使用预定义的模型最大长度。如果模型没有特定的最大输入长度(如 XLNet),则将禁用截断/填充到最大长度。stride(int
,可选,默认为 0):如果与max_length
一起设置为一个数字,则当return_overflowing_tokens=True
时返回的溢出标记将包含截断序列末尾的一些标记,以提供截断和溢出序列之间的一些重叠。此参数的值定义了重叠标记的数量。is_split_into_words(bool
,可选,默认为False
):输入是否已经预先分词(例如,已经分成单词)。如果设置为True
,则分词器会假定输入已经分成单词(例如,通过在空格上分割),然后对其进行标记化。这对于 NER 或标记分类很有用。pad_to_multiple_of(int
,可选):如果设置,将填充序列到提供的值的倍数。需要激活padding
。这对于启用具有计算能力>= 7.5
(Volta)的 NVIDIA 硬件上的 Tensor Cores 特别有用。return_tensors(str
或 TensorType,可选):如果设置,将返回张量而不是 Python 整数列表。可接受的值为:
'tf'
:返回 TensorFlowtf.constant
对象。'pt'
:返回 PyTorchtorch.Tensor
对象。'np'
:返回 Numpynp.ndarray
对象。
add_special_tokens(bool
,可选,默认为True
):是否使用相对于其模型的特殊标记对序列进行编码。padding(bool
,str
或 PaddingStrategy,可选,默认为False
):激活并控制填充。接受以下值:
True
或'longest'
:填充到批次中最长的序列(如果只提供了单个序列,则不填充)。'max_length'
:填充到由参数max_length
指定的最大长度,或者如果未提供该参数,则填充到模型的最大可接受输入长度。False
或'do_not_pad'
(默认):无填充(即,可以输出具有不同长度序列的批次)。truncation(bool
,str
或 TruncationStrategy,可选,默认为False
):激活并控制截断。接受以下值:True
或'longest_first'
:仅截断到由参数max_length
指定的最大长度,或者如果未提供该参数,则截断到模型的最大可接受输入长度。如果提供了一对序列(或一批对序列),则将逐标记截断,从一对序列中删除最长序列的一个标记。'only_first'
: 如果提供了参数max_length
,则截断到指定的最大长度,或者截断到模型的最大可接受输入长度(如果未提供该参数)。如果提供了一对序列(或一批序列对),则只会截断第一个序列。'only_second'
: 如果提供了参数max_length
,则截断到指定的最大长度,或者截断到模型的最大可接受输入长度(如果未提供该参数)。如果提供了一对序列(或一批序列对),则只会截断第二个序列。False
或'do_not_truncate'
(默认): 不截断(即,可以输出长度大于模型最大可接受输入大小的批处理)。max_length(int
,可选): 通过截断/填充参数之一控制要使用的最大长度。如果未设置或设置为None
,则将使用预定义的模型最大长度(如果截断/填充参数需要最大长度)。如果模型没有特定的最大输入长度(如 XLNet),则将禁用截断/填充到最大长度。stride(int
,可选,默认为 0): 如果与max_length
一起设置为一个数字,则当return_overflowing_tokens=True
时返回的溢出标记将包含从截断序列末尾返回的一些标记,以提供截断和溢出序列之间的一些重叠。此参数的值定义了重叠标记的数量。pad_to_multiple_of(int
,可选): 如果设置,将填充序列到提供的值的倍数。这对于在具有计算能力>= 7.5
(Volta)的 NVIDIA 硬件上启用 Tensor Cores 特别有用。return_tensors(str
或 TensorType,可选): 如果设置,将返回张量而不是 Python 整数列表。可接受的值为:'tf'
: 返回 TensorFlowtf.constant
对象。'pt'
: 返回 PyTorchtorch.Tensor
对象。'np'
: 返回 Numpynp.ndarray
对象。
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 列表。
通过连接和添加特殊标记从序列或序列对构建用于序列分类任务的模型输入。RoBERTa 序列的格式如下:
- 单个序列:
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]
零列表。
从传递的两个序列创建一个用于序列对分类任务的掩码。RoBERTa 不使用 token 类型 ID,因此返回一个零列表。
encode_plus
( text: Union text_pair: Optional = None xpaths: Optional = None node_labels: Optional = None add_special_tokens: bool = True padding: Union = False truncation: Union = None max_length: Optional = None stride: int = 0 pad_to_multiple_of: Optional = None return_tensors: Union = None return_token_type_ids: Optional = None return_attention_mask: Optional = None return_overflowing_tokens: bool = False return_special_tokens_mask: bool = False return_offsets_mapping: bool = False return_length: bool = False verbose: bool = True **kwargs )
参数
text
(str
,List[str]
,List[List[str]]
)— 要编码的第一个序列。这可以是一个字符串,一个字符串列表或一个字符串列表的列表。text_pair
(List[str]
或List[int]
,可选)— 要编码的可选第二个序列。这可以是一个字符串列表(单个示例的单词)或一个字符串列表的列表(一批示例的单词)。add_special_tokens
(bool
, 可选, 默认为True
) — 在编码序列时是否添加特殊标记。这将使用底层的PretrainedTokenizerBase.build_inputs_with_special_tokens
函数,该函数定义了自动添加到输入 id 的标记。如果要自动添加bos
或eos
标记,则这很有用。padding
(bool
,str
或 PaddingStrategy, 可选, 默认为False
) — 激活和控制填充。接受以下值:
True
或'longest'
: 填充到批次中最长的序列(或者如果只提供了单个序列,则不填充)。'max_length'
: 填充到由参数max_length
指定的最大长度,或者填充到模型可接受的最大输入长度(如果未提供该参数)。False
或'do_not_pad'
(默认): 不填充(即,可以输出具有不同长度序列的批次)。
truncation
(bool
,str
或 TruncationStrategy, 可选, 默认为False
) — 激活和控制截断。接受以下值:
True
或'longest_first'
: 截断到由参数max_length
指定的最大长度,或者截断到模型可接受的最大输入长度(如果未提供该参数)。如果提供了一对序列(或一批序列),则将逐个标记截断,从该对中最长的序列中删除一个标记。'only_first'
: 截断到由参数max_length
指定的最大长度,或者截断到模型可接受的最大输入长度(如果未提供该参数)。如果提供了一对序列(或一批序列),则仅截断第一个序列。'only_second'
: 截断到由参数max_length
指定的最大长度,或者截断到模型可接受的最大输入长度(如果未提供该参数)。如果提供了一对序列(或一批序列),则仅截断第二个序列。False
或'do_not_truncate'
(默认): 不截断(即,可以输出具有大于模型最大可接受输入大小的序列长度的批次)。
max_length
(int
, 可选) — 由截断/填充参数之一使用的最大长度。
如果未设置或设置为None
,则如果截断/填充参数中的一个需要最大长度,则将使用预定义的模型最大长度。如果模型没有特定的最大输入长度(如 XLNet),则将禁用截断/填充到最大长度。stride
(int
, 可选, 默认为 0) — 如果与max_length
一起设置为一个数字,则当return_overflowing_tokens=True
时,返回的溢出标记将包含从截断序列末尾返回的一些标记,以提供截断和溢出序列之间的一些重叠。此参数的值定义重叠标记的数量。is_split_into_words
(bool
, 可选, 默认为False
) — 输入是否已经预分词化(例如,已分割为单词)。如果设置为True
,则分词器会假定输入已经分割为单词(例如,通过在空格上分割),然后对其进行分词。这对于 NER 或标记分类很有用。pad_to_multiple_of
(int
, 可选) — 如果设置,将填充序列到提供的值的倍数。需要激活padding
。这对于启用 NVIDIA 硬件上的 Tensor Cores 特别有用,计算能力>= 7.5
(Volta)。return_tensors
(str
或 TensorType, 可选) — 如果设置,将返回张量而不是 Python 整数列表。可接受的值为:
'tf'
: 返回 TensorFlowtf.constant
对象。'pt'
: 返回 PyTorchtorch.Tensor
对象。'np'
: 返回 Numpynp.ndarray
对象。
add_special_tokens
(bool
, 可选, 默认为True
) — 是否对序列进行编码,使用相对于其模型的特殊标记。padding
(bool
,str
或 PaddingStrategy, 可选, 默认为False
) — 激活和控制填充。接受以下值:
True
或'longest'
: 填充到批次中最长的序列(如果只提供一个序列,则不填充)。'max_length'
: 填充到使用参数max_length
指定的最大长度,或者如果未提供该参数,则填充到模型的最大可接受输入长度。False
或'do_not_pad'
(默认): 不填充(即,可以输出长度不同的序列批次)。
truncation
(bool
,str
或 TruncationStrategy, 可选, 默认为False
) — 激活和控制截断。接受以下值:
True
或'longest_first'
: 截断到使用参数max_length
指定的最大长度,或者如果未提供该参数,则截断到模型的最大可接受输入长度。如果提供了一对序列(或一批对序列),则将逐标记截断,从一对序列中最长的序列中移除一个标记。'only_first'
: 截断到使用参数max_length
指定的最大长度,或者如果未提供该参数,则截断到模型的最大可接受输入长度。如果提供了一对序列(或一批对序列),则只会截断第一个序列。'only_second'
: 截断到使用参数max_length
指定的最大长度,或者如果未提供该参数,则截断到模型的最大可接受输入长度。如果提供了一对序列(或一批对序列),则只会截断第二个序列。False
或'do_not_truncate'
(默认): 不截断(即,可以输出长度大于模型最大可接受输入大小的序列批次)。
max_length
(int
, 可选) — 控制截断/填充参数之一使用的最大长度。如果未设置或设置为None
,则将使用预定义的模型最大长度,如果截断/填充参数需要最大长度。如果模型没有特定的最大输入长度(如 XLNet)则截断/填充到最大长度将被禁用。stride
(int
, 可选, 默认为 0) — 如果设置为一个数字,并且max_length
一起设置,当return_overflowing_tokens=True
时返回的溢出标记将包含截断序列末尾的一些标记,以提供截断和溢出序列之间的一些重叠。此参数的值定义了重叠标记的数量。pad_to_multiple_of
(int
, 可选) — 如果设置,将填充序列到提供的值的倍数。这对于启用 NVIDIA 硬件上的 Tensor Cores 特别有用,计算能力>= 7.5
(Volta)。return_tensors
(str
或 TensorType, 可选) — 如果设置,将返回张量而不是 Python 整数列表。可接受的值为:
'tf'
: 返回 TensorFlowtf.constant
对象。'pt'
: 返回 PyTorchtorch.Tensor
对象。'np'
: 返回 Numpynp.ndarray
对象。
对一个序列或一对序列进行标记化和准备模型。… 警告:: 此方法已弃用,应改用 __call__
。
get_xpath_seq
( xpath )
给定一个特定节点的 xpath 表达式(如“/html/body/div/li[1]/div/span[2]”),返回一个考虑最大深度的标签 ID 列表和相应的下标。
MarkupLMProcessor
class transformers.MarkupLMProcessor
( *args **kwargs )
参数
feature_extractor
(MarkupLMFeatureExtractor
) — MarkupLMFeatureExtractor 的实例。特征提取器是必需的输入。tokenizer
(MarkupLMTokenizer
或MarkupLMTokenizerFast
) — MarkupLMTokenizer 或 MarkupLMTokenizerFast 的实例。分词器是必需的输入。parse_html
(bool
, optional, 默认为True
) — 是否使用MarkupLMFeatureExtractor
来解析 HTML 字符串为节点和对应的 xpath。
构建一个将 MarkupLM 特征提取器和 MarkupLM 分词器合并为单个处理器的 MarkupLM 处理器。
MarkupLMProcessor 提供了准备模型数据所需的所有功能。
首先使用 MarkupLMFeatureExtractor 从一个或多个 HTML 字符串中提取节点和对应的 xpath。接下来,将它们提供给 MarkupLMTokenizer 或 MarkupLMTokenizerFast,将它们转换为标记级别的 input_ids
、attention_mask
、token_type_ids
、xpath_tags_seq
和 xpath_subs_seq
。
__call__
( html_strings = None nodes = None xpaths = None node_labels = None questions = None add_special_tokens: bool = True padding: Union = False truncation: Union = None max_length: Optional = None stride: int = 0 pad_to_multiple_of: Optional = None return_token_type_ids: Optional = None return_attention_mask: Optional = None return_overflowing_tokens: bool = False return_special_tokens_mask: bool = False return_offsets_mapping: bool = False return_length: bool = False verbose: bool = True return_tensors: Union = None **kwargs )
该方法首先将 html_strings
参数转发到 call()。接下来,将 nodes
和 xpaths
与其他参数一起传递给 __call__()
并返回输出。
可选地,还可以提供一个 text
参数,作为第一个序列传递。
请参考上述两个方法的文档字符串以获取更多信息。
MarkupLMModel
class transformers.MarkupLMModel
( config add_pooling_layer = True )
参数
config
(MarkupLMConfig) — 具有模型所有参数的模型配置类。使用配置文件初始化不会加载与模型相关的权重,只会加载配置。查看 from_pretrained() 方法以加载模型权重。
裸的 MarkupLM 模型,输出原始隐藏状态而不带任何特定的头部。该模型是 PyTorch torch.nn.Module 的子类。将其用作常规的 PyTorch 模块,并参考 PyTorch 文档以获取有关一般用法和行为的所有相关信息。
forward
( input_ids: Optional = None xpath_tags_seq: Optional = None xpath_subs_seq: Optional = None attention_mask: Optional = None token_type_ids: Optional = None position_ids: Optional = None head_mask: Optional = None inputs_embeds: Optional = None output_attentions: Optional = None output_hidden_states: Optional = None return_dict: Optional = None ) → export const metadata = 'undefined';transformers.modeling_outputs.BaseModelOutputWithPoolingAndCrossAttentions or tuple(torch.FloatTensor)
参数
input_ids
(torch.LongTensor
of shape(batch_size, sequence_length)
) — 输入序列标记在词汇表中的索引。
可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()和 PreTrainedTokenizer.call
()。
什么是输入 ID?xpath_tags_seq
(torch.LongTensor
,形状为(batch_size, sequence_length, config.max_depth)
,可选)— 输入序列中每个标记的标记 ID,填充至 config.max_depth。xpath_subs_seq
(torch.LongTensor
,形状为(batch_size, sequence_length, config.max_depth)
,可选)— 输入序列中每个标记的下标 ID,填充至 config.max_depth。attention_mask
(torch.FloatTensor
,形状为(batch_size, sequence_length)
,可选)— 用于避免在填充标记索引上执行注意力的掩码。选择在[0, 1]
范围内的掩码值:对于未被 MASK 的标记为1
,对于 MASK 标记为0
。
什么是注意力掩码?token_type_ids
(torch.LongTensor
,形状为(batch_size, sequence_length)
,可选)— 段标记索引,指示输入的第一部分和第二部分。索引在[0, 1]
中选择:0
对应于sentence A标记,1
对应于sentence B标记
什么是标记类型 ID?position_ids
(torch.LongTensor
,形状为(batch_size, sequence_length)
,可选)— 每个输入序列标记在位置嵌入中的位置索引。选择范围在[0, config.max_position_embeddings - 1]
内。
什么是位置 ID?head_mask
(torch.FloatTensor
,形状为(num_heads,)
或(num_layers, num_heads)
,可选)— 用于使自注意力模块的选定头部失效的掩码。选择在[0, 1]
范围内的掩码值:1
表示头部未被掩码,0
表示头部被掩码。inputs_embeds
(torch.FloatTensor
,形状为(batch_size, sequence_length, hidden_size)
,可选)— 可选地,您可以选择直接传递嵌入表示,而不是传递input_ids
。如果您想要更多控制如何将input_ids索引转换为相关向量,而不是使用模型的内部嵌入查找矩阵,则这很有用。output_attentions
(bool
,可选)— 如果设置为True
,则返回所有注意力层的注意力张量。有关更多详细信息,请参阅返回张量下的attentions
。output_hidden_states
(bool
,可选)— 如果设置为True
,则返回所有层的隐藏状态。有关更多详细信息,请参阅返回张量下的hidden_states
。return_dict
(bool
,可选)— 如果设置为True
,模型将返回一个 ModelOutput 而不是一个普通元组。
返回
transformers.modeling_outputs.BaseModelOutputWithPoolingAndCrossAttentions 或tuple(torch.FloatTensor)
一个 transformers.modeling_outputs.BaseModelOutputWithPoolingAndCrossAttentions 或一个torch.FloatTensor
元组(如果传递了return_dict=False
或config.return_dict=False
时)包含各种元素,具体取决于配置(MarkupLMConfig)和输入。
last_hidden_state
(torch.FloatTensor
,形状为(batch_size, sequence_length, hidden_size)
)— 模型最后一层的隐藏状态输出的序列。pooler_output
(torch.FloatTensor
of shape(batch_size, hidden_size)
) — 经过用于辅助预训练任务的层进一步处理后,序列第一个标记(分类标记)的最后一层隐藏状态。例如,对于 BERT 系列模型,这返回经过线性层和 tanh 激活函数处理后的分类标记。线性层的权重是在预训练期间从下一个句子预测(分类)目标中训练的。hidden_states
(tuple(torch.FloatTensor)
, 可选的,当传递output_hidden_states=True
或config.output_hidden_states=True
时返回) —torch.FloatTensor
元组(如果模型有嵌入层,则为嵌入的输出 + 每层的输出),形状为(batch_size, sequence_length, hidden_size)
。
模型在每一层输出的隐藏状态以及可选的初始嵌入输出。attentions
(tuple(torch.FloatTensor)
, 可选的,当传递output_attentions=True
或config.output_attentions=True
时返回) — 每个层的torch.FloatTensor
元组,形状为(batch_size, num_heads, sequence_length, sequence_length)
。
注意力 softmax 之后的注意力权重,用于计算自注意力头中的加权平均值。cross_attentions
(tuple(torch.FloatTensor)
, 可选的,当传递output_attentions=True
和config.add_cross_attention=True
或config.output_attentions=True
时返回) — 每个层的torch.FloatTensor
元组,形状为(batch_size, num_heads, sequence_length, sequence_length)
。
解码器的交叉注意力层的注意力权重,在注意力 softmax 之后,用于计算交叉注意力头中的加权平均值。past_key_values
(tuple(tuple(torch.FloatTensor))
, 可选的,当传递use_cache=True
或config.use_cache=True
时返回) — 长度为config.n_layers
的tuple(torch.FloatTensor)
元组,每个元组有 2 个形状为(batch_size, num_heads, sequence_length, embed_size_per_head)
的张量,如果config.is_encoder_decoder=True
还有 2 个额外的形状为(batch_size, num_heads, encoder_sequence_length, embed_size_per_head)
的张量。
包含预先计算的隐藏状态(自注意力块中的键和值,以及如果config.is_encoder_decoder=True
在交叉注意力块中)可用(参见past_key_values
输入)以加速顺序解码。
MarkupLMModel 的前向方法覆盖了__call__
特殊方法。
虽然前向传递的步骤需要在此函数内定义,但应该在此之后调用Module
实例,而不是在此处调用,因为前者会处理运行前后处理步骤,而后者会默默地忽略它们。
示例:
>>> from transformers import AutoProcessor, MarkupLMModel >>> processor = AutoProcessor.from_pretrained("microsoft/markuplm-base") >>> model = MarkupLMModel.from_pretrained("microsoft/markuplm-base") >>> html_string = "<html> <head> <title>Page Title</title> </head> </html>" >>> encoding = processor(html_string, return_tensors="pt") >>> outputs = model(**encoding) >>> last_hidden_states = outputs.last_hidden_state >>> list(last_hidden_states.shape) [1, 4, 768]
Transformers 4.37 中文文档(四十二)(6)https://developer.aliyun.com/article/1565022