python安装bert模型_BERT模型的简单使用(Python)

不涉及原理,只是快速开始使用

更详细的请参考官方文档

https://bert-as-service.readthedocs.io/en/latest/index.html

下载预训练模型

(下载可能需要一些时间,等待的时候可以先去下一步把python库安了)

可以直接去github下载

https://github.com/google-research/bert

解压后的文件有5个(我使用的是BERT-Base, Uncased这个预训练模型)

安装python库

pip install bert-serving-server

pip install bert-serving-client

启动服务

在命令行输入

bert-serving-start -model_dir D:\Documents\Code\PythonCode\bert\model\ -num_worker=1

这条指令启动了位于-model_dir地址的bert模型,提供一个工作通道

注意:地址填绝对地址,相对地址可能会出问题(有的人出错,有的人不出错)

启动成功会显示

一定是显示all set , ready to serve request!才算启动成功

和jupyter notebook一样,在使用Bert的过程中这个命令行窗口要保持开启

使用

from bert_serving.client import BertClient

print("::0")

bc = BertClient()

ans = bc.encode([‘First do it’, ‘then do it right’, ‘then do it better’])

print(len(ans[0]))

print("::1")

encode是将句子转换为固定长度向量返回,小型的模型的向量长度为768,大型的为1024

关于坑

tensorflow版本

一开始安装的是最新的2.2版本,启动服务的时候报错

TypeError: cannot unpack non-iterable NoneType object

卸载当前的tensorflow,重新安装tensorflow

或者直接覆盖

pip install tensorflow==1.13.0rc1

内存问题(num_worker)

官方给的教程写的基本指令是num_worker=4

我电脑太渣,瞬间CPU和内存飙满,但是也不给个报错MemoryError,废了好大的劲才发现是内存问题

这种有可能是卡在中间,也不报错,所以一定要记住all set , ready to serve request!才算启动成功

一开始还是要从num_worker=1开始

一般启动过程中会有几秒资源占用很高,过去之后会降下来

原文链接:https://blog.csdn.net/ChanceYing/article/details/106563421

你可能感兴趣的:(python安装bert模型)