Bert模型学习之环境配置(一)

Bert模型学习之环境配置(一)

毕业论文写到结尾,着手增加数据量,结果翻车,模型变的不靠谱(实际模型它太不健壮了)。
一开始选择用word2vec结合tfidf加权模型求句向量,但是数据量稍微增大就会报错;改用word2vec求平均句向量,正确率掉到了0.47。心态崩了。目前,论文的指导老师推荐了bert模型,也是现在比较流行的,网上说效果比较好。现在正在安装环境,踩坑多多,希望记录一下,快快的更新吧。

说明:我的毕业论文是中文分类任务,这篇博客目标是用bert模型计算句向量。

思路1

首先想到在自己的电脑运行github开源的bert代码,但是程序调试过程遇到了2个问题,自己水平难以解决,问题如下:
(1)这个开源代码用的是python2的方法,自己电脑安装的是3.8的版本,运行起来问题很多,目前的水平解决不了,放弃。
(2)貌似运行起来很占电脑资源,最好能配置gpu运行,当然也能换cpu运行,还是放弃了。

思路1过程中参考到的博客和资源,如下:
(1)Google BERT的完整源码下载地址:https://github.com/google-research/bert
(2)bert生成句向量三种方法:https://www.jianshu.com/p/fbde57f91f0f

思路2

在自己电脑跑源码感觉不太靠谱,看到有很多博主对安装客户端、服务器端这个方法进行了详细介绍。我也找了一篇靠谱一点的博客学习了一下这个方法,希望能够成功。

1. 首先,在cmd中下载bert-as-server 框架。

pip install bert-serving-server   #server
pip install bert-serving-client   #client

2. 下载好预训练好的bert模型。
google下载地址:https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip。
3. 在cmd中启动BERT服务。

bert-serving-start -model_dir D:\PyCharm-workspace\bert-master\chinese_bert_chinese_wwm_L-12_H-768_A-12 -max_batch_size 10 -max_seq_len 20 -num_worker 1
# 注意,这个地址是自己刚刚下载文件解压的地址,后面的参数可以自己设定

  • 然后没有启动成功,
    报错:TypeError: cannot unpack non-iterable NoneType object
    原因:TensorFlow默认下载的版本是2.0.0 ,现bert的不支持,需要更改TensorFlow 版本至1.*。至于这个版本是多少呢,目前来看TensorFlow 1.14还算比较靠谱的。参考博客:TypeError解决方法
    解决:指定TensorFlow 版本呗,输入语句:
pip install tensorflow==1.14

  • 报错:ERROR: No matching distribution found for tensorflow
    原因:python版本过高(3.5以上版本均有可能出现这个问题)导致TensorFlow不能正确安装。此时需要安装低版本的python。参考博客:ERROR解决方法
    解决:想要运行模型,还是需要一个低版本的python,无法回避。但是不要慌张,有两种办法,分别是卸载电脑原有的python(又是一番折腾),还有一种是创建虚拟环境并安装低版本的python。电脑就可以自如的切换两种版本的python(推荐)。

  • 如果解决这个问题,令python两个版本都可以在电脑运行,启动bert模型,就可以转换句向量啦。下一步目标在电脑安装两个3.x版本的python。转下文解决该问题:Bert模型学习之环境配置(二)python3.x多版本安装配置

思路2过程中参考到的博客和资源,如下:
(1)BERT预训练模型简单应用(中文句子向量相关性分析):bert安装教程参考1
(2)如何在keras构造的分类模型中将bert预训练出的句子向量:bert安装教程参考2

你可能感兴趣的:(Python,之文本分类,bert,学习,tensorflow)