centos6.4安裝bert-as-service
BERT是由Google開發的用於預訓練語言表示的NLP模型。它利用網上公開提供的大量純文字資料,並以無人監督的方式進行培訓。預訓練BERT模型對於每種語言來說都是相當昂貴但一次性的過程。幸運的是,Google釋出了幾個預先訓練好的模型,您可以從這裡下載(專案git地址:https://github.com/hanxiao/bert-as-service)。
就像官網介紹的一樣,bert使用起來非常簡單,只需要兩行程式碼。但是安裝過程需要升級python、升級gcc(會重新編譯linux核心),導致絕大部分初學者望而卻步。今天,我們就詳細介紹如何在centos6.4上徒手安裝bert-server。
一、安裝bert-server
官網介紹,bert服務至少需要python3.5和tensorflow1.11。所以,我們首要任務升級python。檢視版本資訊:
# cat /etc/redhat-release
CentOS release 6.4 (Final)
$ python -V
Python 2.6.6
1、升級python:
https://blog.csdn.net/liuxiao723846/article/details/84946353
2、python3上安裝pip:
https://blog.csdn.net/liuxiao723846/article/details/84947609
3、pip安裝bert:
接下來,我們按照官網中通過pip安裝bert:
# python -m pip install bert-serving-server
執行後半段會報如下錯誤:
提示需要升級pip。
4、升級pip:
升級後,再次安裝bert-server
二、啟動bert-server
安裝成功後,根據官網說明我們可以啟動使用bert-server。
首先,下載bert模型:
cd /data wget https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip unzip chinese_L-12_H-768_A-12.zip
接下來,通過如下命令啟動bert-server,但是發現沒有bert-serving-start 這個命令,於是搜一下...
啟動
發現會報沒有tensorflow錯誤,於是開始安裝tf。
1、安裝tf:
根據官網說明, Tensorflow >= 1.10,所以:
python -m pip install tensorflow==1.10
easy,一次性搞定。。。滿懷欣喜開始啟動bert-server。
噩耗剛剛開始,這個錯誤是gcc版本不對導致。解決方法如下:
https://blog.csdn.net/liuxiao723846/article/details/84955136
解決完/usr/lib64/libstdc++.so.6問題後,繼續啟動bert-server,又出現瞭如下錯誤:
根據上面經驗,GLIBC_2.16問題還是核心版本不支援,解決方法:
https://blog.csdn.net/liuxiao723846/article/details/84959784
至此,沒有其他坑了。
2、啟動:
三、bert-client安裝:
pip install bert-serving-client
官網說可以在python2上執行,但實際上可能也需要python3的環境。
最後,客戶端和服務端要配套才能連上,指定服務端版本:
$ python -m pip install bert-serving-server==1.5.0
Collecting bert-serving-server==1.5.0
Downloading https://files.pythonhosted.org/packages/32/e7/ada782b2a8758cb70feed133ec7be64100d8997a43f320951dcc830a049e/bert_serving_server-1.5.0-py3-none-any.whl (43kB)
100% |████████████████████████████████| 51kB 35kB/s
Requirement already satisfied (use --upgrade to upgrade): pyzmq>=17.1.0 in /usr/local/python352/lib/python3.5/site-packages (from bert-serving-server==1.5.0)
Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/local/python352/lib/python3.5/site-packages (from bert-serving-server==1.5.0)
Requirement already satisfied (use --upgrade to upgrade): termcolor>=1.1 in /usr/local/python352/lib/python3.5/site-packages (from bert-serving-server==1.5.0)
Requirement already satisfied (use --upgrade to upgrade): GPUtil>=1.3.0 in /usr/local/python352/lib/python3.5/site-packages (from bert-serving-server==1.5.0)
Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/python352/lib/python3.5/site-packages (from bert-serving-server==1.5.0)
Installing collected packages: bert-serving-server
Found existing installation: bert-serving-server 1.5.1
Uninstalling bert-serving-server-1.5.1:
Successfully uninstalled bert-serving-server-1.5.1
Successfully installed bert-serving-server-1.5.0
You are using pip version 8.1.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.