1. 程式人生 > >centos6.4安裝bert-as-service

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.