预训练模型怎么套用?

加载字典和分词工具 实例化分词工具

my_tokenizer = BertTokenizer.from_pretrained(‘…/model/bert-base-chinese’)

加载预训练模型 实例化预训练模型

my_model_pretrained = BertModel.from_pretrained(‘…/model/bert-base-chinese’).to(device)

class MyModel(torch.nn.Module):
def init(self):
super().init()

    # 定义全连接层,将输入特征维度768转换为输出维度2
    self.fc = torch.nn.Linear(768, 2)

def forward(self, input_ids, attention_mask, token_type_ids):
    # 使用预训练模型进行特征提取,设置不训练参数,只提取特征
    # 输入形状: [batch_size, sequence_length],输出形状: [batch_size, hidden_size]
    with torch.no_grad():
        out = my_model_pretrained(input_ids=input_ids,
                                  attention_mask=attention_mask,
                                  token_type_ids=token_type_ids)

    # 使用全连接层进行下游任务的训练,将特征映射到所需的输出维度
    # 这里取出last_hidden_state的第一个token(通常是[CLS] token)的向量
    # 输入形状: [batch_size, hidden_size],输出形状: [batch_size, 2]
    out = self.fc(out.last_hidden_state[:, 0])

    # 对输出进行softmax归一化,得到分类概率值
    out = out.softmax(dim=1)

    return out
  • 11
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ai玩家hly

年少且带锋芒,擅行侠仗义之事

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值