bert pytorch源码_BERT-Pytorch demo初探

概述

本文基于 pytorch-pretrained-BERT(huggingface)版本的复现,探究如下几个问题:

pytorch-pretrained-BERT的基本框架和使用

如何利用BERT将句子转为词向量

如何使用BERT训练模型(针对SQuAD数据集的问答模型,篇幅问题,可能下篇再写)

因为已经有很多文章对BERT的结构和效果做了详尽的介绍,所以对于模型的效果和结构就不在这里赘述了。

基本框架和使用

环境

首先,利用pip安装包:

1 pip install pytorch-pretrained-bert

这种安装方法可能会导致一个编码问题,具体细节可以参考这里。作者已经把这个错误改了过来,但是没有发布新的版本(当前版本为0.1.2),因此需要我们先从github上下载源码,然后安装:

1 pip install [--editable] .

结构

Google提供了6种预训练的模型,具体细节如下:

bert-base-uncased: 12-layer, 768-hidden, 12-heads, 110M parameters

bert-large-uncased: 24-layer, 1024-hidden, 16-heads, 340M parameters

bert-base-cased: 12-layer, 768-hidden, 12-heads , 110M parameters

bert-base-multilingual: 102 languages, 12-layer, 768-hidden, 12-heads, 110M parameters

bert-base-chinese: Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M parameters

作者对于每个预训练的模型都提供了6个model类和3个tokenizer类供我们使用。具体的模型简介和参数可以参照这里README中pytorch model和Tokenizer部分。

1 tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')

2 model = BertModel.from_pretrained('bert-base-uncased')

初始化

上面就是对model和tokenizer进行初始化的代码,“BertTokenizer”和“BertModel”可以替换为自己需要的模型和分词器,后面函数的参数对应6中预训练的模型。由于是预训练的模型,所以肯定是要下模型和词表的,作者把资源放到了亚马逊的云上,链接写在了一个环境变量里,如果第一次使用,要提前下载,下载后的文件存放在cache文件夹:~/.pytorch_pretrained_bert/下。

1 PRETRAINED_MODEL_ARCHIVE_MAP = {

2 'bert-base-uncased':

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值