赞
踩
#
@(作者:朝天椒)[WeChat:skyloving123||财天椒]
import tensorflow as tf
from transformers import BertTokenizer, TFBertModel, BertModel
# 加载BertTokenizer和BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
bert_model = TFBertModel.from_pretrained('bert-base-chinese')
# 定义输入文本
text = '这是一个测试句子'
# 对输入文本进行分词和填充
encoded_input = tokenizer(text, padding=True, uncation=True, return_tensors='tf')
# 获取Bert模型的embedding结果
output = bert_model(encoded_input, output_hidden_states=True, output_attentions=True)
# 输出结果
print(output)
# print(output.get_shape())
- last_hidden_state:shape是(batch_size, sequence_length, hidden_size),hidden_size=768,它是模型最后一层输出的隐藏状态,序列标注通常用。
- pooler_output:shape是(batch_size, hidden_size),这是序列的第一个token (cls) 的最后一层的隐藏状态,它是由线性层和Tanh激活函数进一步处理的,这个输出不是对输入的语义内容的一个很好的总结,对于整个输入序列的隐藏状态序列的平均化或池化可以更好的表示一句话。通常用来做下游分类任务使用
- hidden_states:这是输出的一个可选项,是一个元组,它的第一个元素是embedding,其余元素是12层transformer各层的输出,每个元素的形状是(batch_size, sequence_length, hidden_size),共计13个元素,最后一个元素是last_hidden_state。
- attentions: 它也是一个元组,含有12个元素,包含每的层注意力权重,用于计算self-attention heads的加权平均值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。