pytorch 安装 Bert安装 BERT Pytorch版本手动安装bert-base-uncased模型 总结

PyTorch环境配置及安装

点这,安装图文.

大概过程

1.首先使用 conda 指令创建一个屋子:conda create -n pytorch python=3.6
2.进入屋内:conda activate pytorch
3.安装pytorch
4.cuda选择10.1

上面链接到第六步加速的时候看下面的链接

看这,点击
从补充说明开始看
按这个进行安装,安装失败,pytorch下到一半就下不动了。到镜像地址去下载镜像,点这,
复制放到到Anaconda 安装的目录下的 pkgs 文件夹中。选择替换就好,原有的是pip安装时没下完的。pip安装不支持断点下载,一旦网络中断就会失败,所以最好提前下载好镜像,再使用命令安装,命令和pip安装时的命令一样,

bert-pytorch安装记录

pip install pytorch-pretrained-bert

pip安装不了的点这

手动安装bert-base-uncased模型

在我的代码中一共需要导入
BertTokenizer.from_pretrained(‘bert-base-uncased’)
BertModel.from_pretrained(‘bert-base-uncased’)
这是原代码写的,使用的名称导入,网速不好的很容易失败。
点这,Bert的源码解析

首先是BertTokenizer,点进去可以看看源码。
从源码的170行开始就是在写程序如何读取的本地模型or文件,这个地方是txt文件。
翻到这篇里的最上面,可以看到如下代码,第一个就是txt文件的地址,保存到本地。

``
PRETRAINED_VOCAB_ARCHIVE_MAP = {

'bert-base-uncased': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt",
'bert-large-uncased': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-large-uncased-vocab.txt",
'bert-base-cased': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-vocab.txt",
'bert-large-cased': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-large-cased-vocab.txt",
'bert-base-multilingual-uncased': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-multilingual-uncased-vocab.txt",
'bert-base-multilingual-cased': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-multilingual-cased-vocab.txt",
'bert-base-chinese': "https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-chinese-vocab.txt",

}
``
源代码47行有 VOCAB_NAME = ‘vocab.txt’,结合173行,vocab_file = os.path.join(vocab_file, VOCAB_NAME)
vocab_file是传入的路径
所以txt文件需要起名为 vocab.txt

同理,BertModel.from_pretrained(‘bert-base-uncased’),在源代码的40行,可以看到模型的下载地址,下载完解压。
这个里面的文件不需要改名。

至于这3个文件放在哪,可以自己设置。记住这三个文件的位置,我是把他们放在一起了。D:\code\EMNLP-2019-master\data\bert-base-uncased
pytorch 安装 Bert安装 BERT Pytorch版本手动安装bert-base-uncased模型 总结_第1张图片

最后回到自己的代码中修改参数
BertTokenizer.from_pretrained(‘bert-base-uncased’)
BertModel.from_pretrained(‘bert-base-uncased’)

改为
BertTokenizer.from_pretrained(‘D:\code\EMNLP-2019-master\data\bert-base-uncased’)
BertModel.from_pretrained(‘D:\code\EMNLP-2019-master\data\bert-base-uncased’)

你可能感兴趣的:(自然语言处理,pytorch)