GPU版本的Syntaxtnet環境搭建

打算記錄兩部分,一部分是關于編譯gpu版本的syntaxnet的內容,另一部分是關于中文句法依存模型訓練方面的內容。本文是GPU版本Syntaxnet環境搭建部分。

關鍵字

Syntaxnet; GPU; Ubuntu16.04; TITANX (Pascal); CUDA8.0

環境

  • 操作系統: Ubuntu 16.04
  • 顯卡:TITANX (PASCAL)
  • CUDA版本: 8.0
  • cuDNN版本:5.1

動機

由于CPU版本下的Syntaxnet訓練數據太過于緩慢,所以考慮利用GPU進行訓練(ps: 在syntaxnet中GPU還是有較明顯的加速效果)

目標

目前通用的句法依存工具,比如哈工大的語言云效果也不錯了,但是在使用中還是發現了一些問題。利用syntaxnet工具訓練中文句法依存模型,通過人工加入領域相關的標注預料,期望提高在特定領域下中文句法分析的效果。

操作要點

  1. 安裝TITAN X的驅動
  2. 安裝CUDA8.0
  3. cuDNN 5.1
  4. 安裝syntaxnet需要依賴
  5. 編譯gpu版的syntaxnet
  6. 測試安裝結果

以下針對上述的步驟展開描述

1. 安裝TITAN X(PASCAL)驅動

TITAN X驅動下載
  • 安裝驅動時,需要關閉ubuntu中的開源驅動 nouveau(可以百度如何在ubuntu中禁用nouveau), 關閉x server(不要問我為啥,因為安裝成功的這次是關閉的), 同時也不安裝OpenGL。對于這三個操作,除了禁用nouveau,其他兩個操作都是可以在安裝驅動時候的選擇的。網上,提供了一種更加簡便的方法,即在運行驅動文件時指定參數。
# 參考:http://blog.csdn.net/chaihuimin/article/details/71006654?locationNum=2&fps=1
sudo ./NVIDIA_xxxx.run -no-x-check -no-nouveau-check -no-opengl-files 

2. 安裝CUDA8.0

下載指定版本的cuda 8.0,然后按照圖中的Installation instructions進行安裝。建議選擇*.run版本的,.deb版本總感覺有些問題。如果已經安裝了TITAN X驅動,那么在安裝的時候不要再次安裝驅動。(下載地址:https://developer.nvidia.com/cuda-downloads

cuda8.0下載

cuda8.0默認安裝在/usr/local/cuda-8.0, 注意/usr/local/cuda時它的symbolic link, 注意在cuda安裝完成以后需要配置環境變量(其實,在cuda安裝完成以后,打印的消息也有提示需要配置環境變量)

# 執行如下命令
 vim  ~/.bashrc
# 在~/.bashrc文件中添加如下環境變量
export CUDA_HOME=/usr/local/cuda-8.0
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8

3. 安裝cuDNN

  • 此處我選擇的是cuDNN5.1 for CUDA 8.0的版本, 下載cuDNN的時候需要注冊NVIDIA的賬號,注冊完成以后既可以下載(https://developer.nvidia.com/rdp/cudnn-download),在下載時既可以下載.deb版本,也可以下載.tgz版本。此處的安裝方法,可以參考官方文檔。不過5.1的文檔寫的比較復雜,我當時參考了7.0的安裝方法,進行安裝以及測試,此處感覺坑少。驅動和cuDNN安裝都可以參考官方文檔,在cuDNN下載選項,可以選擇cuDNN-Installation-Guide
    cuDNN7.0linux .tgz安裝方法

    如果選擇了*.deb的方法安裝, 選擇安裝樣例,安裝完成以后可以進行測試,如下。
    cuDNN7.0linux .deb安裝方法.png

4. 安裝syntaxnet依賴

參考syntaxnet的github網站https://github.com/tensorflow/models/tree/master/syntaxnet

syntaxnet依賴安裝

5. 編譯gpu版的syntaxnet

安裝完syntaxnet運行可能需要的依賴以后,接著執行syntaxnet的編譯過程,參考https://github.com/tensorflow/models/issues/248中的utkrist的答案,如下圖

image.png

注意,在./configure的執行過程中,如果出現了找不到cuDNN相應的文件,那么使我們在輸入cuDNN的版本號時輸入有問題,比如輸入7和7.0是不一樣的。嚴格安裝utkrist的方法來即可。
ps: 我在安裝的過程中,沒有報錯,但是在進行測試的試試,有一些test無法通過,比如train_parser,有提示顯示數據數據太大的之類的原因,我忽略了。

6. 測試安裝結果

編譯完全通過以后,可以運行syntaxnet自帶的例子,不過我選了手上有的中文預料,進行測試。測試腳本大量參考了這個項目https://github.com/dsindex/syntaxnet(是一個利用syntaxnet訓練韓語句法依存模型的項目)。運行測試腳本后,輸出如下,表面已經使用上了TITAN X顯卡。

訓練句法依存模型-測試

此時,在查看nvidia-smi,發現所有顯存都已經被占滿, 但是只有一個GPU在工作。


image.png

在同一的數據集上,GPU版本syntaxnet相比于CPU版本syntaxnet, 計算效率只有80 %多的提升,在運行過程中發現,大多數時間GPU的使用效率都是非常非常低的,3%左右。這個問題,希望有小伙伴能夠指導一下。

參考文獻

https://github.com/dsindex/syntaxnet
https://github.com/tensorflow/models/tree/master/syntaxnet
https://github.com/tensorflow/models/issues/248
https://github.com/tensorflow/serving/issues/327
其他

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,283評論 6 530
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 97,947評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,094評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,485評論 1 308
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,268評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,817評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,906評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,039評論 0 285
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,551評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,502評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,662評論 1 366
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,188評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,907評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,304評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,563評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,255評論 3 389
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,637評論 2 370

推薦閱讀更多精彩內容