一名卑微的研究生记录开始接触bert:昨天终于在修好了的服务器上给我们课题组的小伙伴开启了访问权限,今天开始搭建bert的基本环境了,为我接下来的研究方向(知识图谱)拉开序幕。
本机:win10 + putty (访问服务器)
实验室服务器:linux GTX1080,以及驱动和cuda的配置信息如下图
一、安装anaconda
1、下载安装包:wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh
wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh
注意:我最开始是安装的2020最新版本,但是安装界面一直卡在unpacking payload ... ...,看了网上其他人的解决方案就是安装旧版本,果然可行。
2、安装:sudo bash Anaconda3-2019.07-Linux-x86_64.sh
sudo bash Anaconda3-2019.07-Linux-x86_64.sh
【详情参考:https://blog.youkuaiyun.com/qq_15192373/article/details/81091098】
下图为anaconda默认(base)的python3..7环境(因为我下载的是3.7版本的anaconda):
退出命令:source deactivate 环境名称
进入命令:source activate 环境名称
退出anaconda环境,进入linux自带的版本为python2.7,如下图:
利用anaconda管理环境,两个python不会冲突,每次只要在你需要的环境下操作就行。
二、搭建python + tensorflow-gpu
搭建环境为:python3.5 + tensorflow-gpu1.10
因为bert官网要求python>=3.5 && tensorflow-gpu>=1.10
1、创建一个环境名为python35,python版本为3.5
2、安装tensorflow-gpu
(1)查看可安装的版本:
conda search tensorflow-gpu
(2)选择安装的版本:conda install tensorflow-gpu=1.10
conda install tensorflow-gpu=1.10
(3)安装完成后如下图。接着可以输入 conda list 查看已经安装的内容
(4)测试tensorflow是否成功安装
输入:
python
import tensorflow as tf
tf.__version__
最后可以看到成功输出版本信息则成功了。
三、搭建bert服务
1、安装bert服务端和客户端
在基于上述的环境中安装,即:
pip install bert-serving-server
pip install bert-serving-client
2、下载预训练的模型(我下载的是中文bert模型)
https://github.com/google-research/bert/
下载后解压
到此,bert需要的环境已经搭建好,接下来就是测试是否可用。
四、bert简单测试
1、启动bert服务器
bert-serving-start -model_dir /home/lcm/chinese_L-12_H-768_A-12 -num_worker=2
bert-serving-start -model_dir /home/lcm/chinese_L-12_H-768_A-12 -num_worker=2
蓝色字体是根据自己情况变化的,第一处是我刚解压的预训练模型的绝对路径,第二处是指定进程数,不能超过GPU数量。
执行后出现下图的 all set, ready to serve request ! 表明成功开启bert服务器,之后运行代码跑模型的时候,这个窗口要保持开启。
2、运行代码
另开终端窗口,进入python35环境,运行几行代码测试,如下
source activate python35
python
import tensorflow as tf
from bert_serving.client import BertClient
bc = BertClient()
vec = bc.encode(['最近 一直在忙,都没出去旅游'])
print(vec)
运行结果可以得到句向量:
连续两天配环境,到此算是有了一个雏形。加油,卑微的我们一定可以的!