没有合适的资源?快使用搜索试试~ 我知道了~
Transformers库使用指南-Bert模型加载与操作详解
需积分: 2 0 下载量 43 浏览量
2024-09-16
13:40:16
上传
评论
收藏 227KB PDF 举报
温馨提示
内容概要:本文档主要介绍了如何在Python环境下使用Hugging Face Transformers库加载并应用BERT模型。具体包括了加载模型、获取指定隐藏层的表示以及如何从BERT获取最后的或所有层网络输出等关键操作流程。 适用人群:具备一定的NLP基础知识,希望通过Transformers工具使用预训练的BERT模型的应用开发者。 使用场景及目标:①学习如何高效利用现有的Transformers框架加载和运行复杂的自然语言处理模型如BERT; ②理解模型输出的各种向量(如hidden_states、attentions)的意义,以及它们在不同应用场景下发挥的作用。
资源推荐
资源详情
资源评论
transformers 操作篇
来自: AiGC面试宝典
宁静致远 2024年01月28日 13:20
1. 如何 利用 transformers 加载 Bert 模型?
可以看到,包括import在内的不到十行代码,我们就实现了读取一个预训练过的BERT模型,来
encode我们指定的一个文本,对文本的每一个token生成768维的向量。如果是二分类任务,我们
• transformers 操作篇
• 1. 如何 利用 transformers 加载 Bert 模型?
• 2. 如何 利用 transformers 输出 Bert 指定 hidden_state?
• 3. BERT 获取最后一层或每一层网络的向量输出
• 致谢
import torch
from transformers import BertModel, BertTokenizer
# 这里我们调用bert-base模型,同时模型的词典经过小写处理
model_name = 'bert-base-uncased'
# 读取模型对应的tokenizer
tokenizer = BertTokenizer.from_pretrained(model_name)
# 载入模型
model = BertModel.from_pretrained(model_name)
# 输入文本
input_text = "Here is some text to encode"
# 通过tokenizer把文本变成 token_id
input_ids = tokenizer.encode(input_text, add_special_tokens=True)
# input_ids: [101, 2182, 2003, 2070, 3793, 2000, 4372, 16044, 102]
input_ids = torch.tensor([input_ids])
# 获得BERT模型最后一个隐层结果
with torch.no_grad():
last_hidden_states = model(input_ids)[0] # Models outputs are now tuples
""" tensor([[[-0.0549, 0.1053, -0.1065, ..., -0.3550, 0.0686, 0.6506],
[-0.5759, -0.3650, -0.1383, ..., -0.6782, 0.2092, -0.1639],
[-0.1641, -0.5597, 0.0150, ..., -0.1603, -0.1346, 0.6216],
...,
[ 0.2448, 0.1254, 0.1587, ..., -0.2749, -0.1163, 0.8809],
[ 0.0481, 0.4950, -0.2827, ..., -0.6097, -0.1212, 0.2527],
[ 0.9046, 0.2137, -0.5897, ..., 0.3040, -0.6172, -0.1950]]])
shape: (1, 9, 768)
"""
扫码加
查看更多
资源评论
zhangbijun1230
- 粉丝: 6929
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功