BERT模型做word2vec
一、模型下载
BERT模型,GitHub源码,下载地址
https://github.com/google-research/bert
bert模型
PS:Multilingual 是多语言模型,最后一个是中文模型(只有字级别的) 其中 Uncased 是字母全部转换成小写,而Cased是保留了大小写
根据自已的需求下载相应的文件并解压
二、环境配置
已测试可运行环境:
- python 3.6
- tensorflow 1.14.0
- tensorflow-gpu 1.14.0
环境配置
极简配置Tensorflow,无需单独下载CUDA,cuDNN
- 使用Anaconda 创建一个python版本为3.6的新虚拟环境
- 点击右侧箭头,open terminal
- 终端输入
conda install -c aaronzs tensorflow-gpu==xxx
, 也可以不指定版本
等待下载完成 - 完成后输入
conda list
如果有cudatoolkit
和cudnn
说明成功 - 打开pycharm,新建项目,新建项目时环境选择刚刚配置的conda虚拟环境
- 项目新建完成后,使用terminal输入以下命令,安装bert-service支持包
pip install bert-serving-client
pip install bert-serving-server
注意tensorflow与CUDA、python版本相对应
至此,所需环境全部配置完成
PS:环境配置参考
TensorFlow-GPU极简———不用安装cuda、cuDNN!!!
BERT初体验
三、Bert模型简单应用
启动BertClient
terminal中输入
bert-serving-start -model_dir E:\Python-Project\uncased_L-12_H-768_A-12\uncased_L-12_H-768_A-12\ -num_worker=1
其中,model-dir 后面输入已解压的bert模型存放路径,最好用绝对路径,不容易出错
启动
只有当最后出现“start the sink、ready、listen”时才是启动成功了
只有启动了bert-serving服务,才能使用bert模型
bert模型简单demo
得到‘dog’的词向量,1*768维
from bert_serving.client import BertClient
import numpy as np
import tensorflow as tf
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
client = BertClient()
x = client.encode(['dog'])
print(np.shape(x))
print(x)
BUG记录
- bert模型可以启动,但是卡在了一半处,始终运行不到最后——没有正确的安装tensorflow、或者tensorflow-gpu,总之是环境问题
- 启动graph失败!——可能是tensorflow-gpu版本问题,一开始我使用1.15版报了这个错误,然后降级到1.14后不再报错
- 莫名其妙的python启动错误!——可能是以为电脑上python版本太多太乱,我重新建了一个项目,将代码copy过去,重新启动,正常!