服務(wù)器搭建tensorflow-gpu C API運(yùn)行環(huán)境

TensorFlow 提供了一個(gè)以?c_api.h?定義的 C 語言 API市咽,此 API 偏重于簡潔性和一致性,并提供較python版本更高的執(zhí)行性能抵蚊。在生產(chǎn)環(huán)境的服務(wù)器上一般推薦使用該庫的GPU版本施绎,已提供最高的性能和穩(wěn)定性溯革。下面介紹該環(huán)境的安裝部署方式。

0.系統(tǒng)要求

由于編譯基于tensorflow C API的程序需要gcc4.8以上谷醉,所以對Linux系統(tǒng)版本有要求致稀。本文基于CentOS系統(tǒng)部署。需要CentOS 7, 在CentOS6上gcc版本默認(rèn)為4.4.7俱尼,無法滿足要求抖单。另外Linux kernel 需要3.10或以上,CentOS7系統(tǒng)的默認(rèn)內(nèi)核滿足要求遇八。

1. 安裝Nvidia顯卡驅(qū)動(dòng)

1. 1 下載顯卡驅(qū)動(dòng)

https://www.nvidia.cn/Download/index.aspx?lang=cn

下載 NVIDIA-Linux-x86_64-396.37.run文件

1.2 禁用nouveau驅(qū)動(dòng)

# 檢查是否有nouveau在運(yùn)行

lsmod | grep nouveau

# 開機(jī)將nouveau.modeset加入黑名單

#? centOS7

vim /lib/modprobe.d/dist-blacklist.conf

#? centOS 6

vim /etc/modprobe.d/blacklist.conf

#blacklist nvidiafb

blacklist nouveau?

? options nouveau modeset=0

1.3 重建系統(tǒng)鏡像

# 備份

sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak?

# 創(chuàng)建新系統(tǒng)鏡像

sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)

1.4 重啟并查看nouveau驅(qū)動(dòng)是否已被禁用

reboot

lsmod | grep nouveau

1.5 安裝Nvidia驅(qū)動(dòng)并重啟

sudo sh NVIDIA-Linux-x86_64-396.37.run

# 安裝過程提示是否安裝32bit兼容包矛绘,選No,其他都默認(rèn)選項(xiàng)

reboot

# 檢查驅(qū)動(dòng)是否安裝正確

? ? nvidia-smi

2. 安裝cuda toolkit (包含顯卡驅(qū)動(dòng))

2.1 下載cudatoolkit 9.0

地址:https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal

2.2 按官方教程安裝cuda??

官方教程:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#runfile

sudo sh cuda_9.0.176_384.81_linux.run

sudo? vim /etc/profile

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

source /etc/profile

2.3? 驗(yàn)證安裝

nvcc -V

cd ~/NVIDIA_CUDA-9.0_Samples

# 如果系統(tǒng)沒有g(shù)++需要提前安裝(yum install gcc-c++)

make

cd ~/NVIDIA_CUDA-9.0_Samples/bin//x86_64/linux/release

./deviceQuery

3. 安裝cudnn

3.1 下載cudnn 7.1.4 Library for Linux

下載地址:https://developer.nvidia.com/rdp/cudnn-download

3.2 按官方教程安裝cudnn

參見:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installlinux-tar

tar -xzvf cudnn-9.0-linux-x64-v7.1.tgz

sudo cp cuda/include/cudnn.h /usr/local/cuda/include

? sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

? sudo chmod a+r /usr/local/cuda/include/cudnn.h? /usr/local/cuda/lib64/libcudnn*

3.3 驗(yàn)證安裝

#下載cudnn示例代碼

wget https://ks3-cn-beijing.ksyun.com/ksplayer/AI_DNN/cudnn_samples_v7.zip

unzip cudnn_samples_v7.zip

cd cudnn_samples_v7/mnistCUDNN

make clean && make

./mnistCUDNN

4. 安裝OpenCV

#下載 OpenCV 3.1

wget http://ai-hvideo.ks3-cn-beijing.ksyun.com/sources/opencv-3.1.0.zip

unzip opencv-3.1.0.zip? &&? cd opencv-3.1.0

mkdir build? &&? cd build

yum install cmake

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=OFF -D WITH_IPP=ON ..

make -j7

sudo make install

sudo ldconfig

cd? ../3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64

sudo cp libippicv.a? /usr/local/lib/

sudo ldconfig

5. 安裝tensorflow C庫

按官方教程:https://www.tensorflow.org/install/install_c


PS:服務(wù)器間scp數(shù)據(jù)方法

1)生成秘鑰文件( 參見:https://blog.csdn.net/wang7dao/article/details/7724917

從A向B拷貝數(shù)據(jù)刃永,在A(165)上生成秘鑰货矮,將公鑰添加到B(168)的~/.ssh/authorized_keys中,登錄A 用scp文件到B

2)拷貝數(shù)據(jù):

login A server?

scp cuda_9.0.176_384.81_linux.run 10.xxx.xxx.xxx:/home/chenjin

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末斯够,一起剝皮案震驚了整個(gè)濱河市囚玫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌读规,老刑警劉巖抓督,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異掖桦,居然都是意外死亡本昏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門枪汪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涌穆,“玉大人,你說我怎么就攤上這事雀久∷尴。” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵赖捌,是天一觀的道長祝沸。 經(jīng)常有香客問我,道長越庇,這世上最難降的妖魔是什么罩锐? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮卤唉,結(jié)果婚禮上涩惑,老公的妹妹穿的比我還像新娘。我一直安慰自己桑驱,他們只是感情好竭恬,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布跛蛋。 她就那樣靜靜地躺著,像睡著了一般痊硕。 火紅的嫁衣襯著肌膚如雪赊级。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天岔绸,我揣著相機(jī)與錄音理逊,去河邊找鬼。 笑死盒揉,一個(gè)胖子當(dāng)著我的面吹牛挡鞍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播预烙,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼墨微,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了扁掸?” 一聲冷哼從身側(cè)響起翘县,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谴分,沒想到半個(gè)月后锈麸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡牺蹄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年忘伞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沙兰。...
    茶點(diǎn)故事閱讀 40,427評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡氓奈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鼎天,到底是詐尸還是另有隱情舀奶,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布斋射,位于F島的核電站育勺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏罗岖。R本人自食惡果不足惜涧至,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望桑包。 院中可真熱鬧南蓬,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垒手。三九已至蒜焊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間科贬,已是汗流浹背泳梆。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留榜掌,地道東北人优妙。 一個(gè)月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像憎账,于是被迫代替她去往敵國和親套硼。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 1. 小年的鞭炮聲如期而至胞皱,聲聲拍擊著她的心臟邪意。“啪啪”反砌、“啪啪啪”雾鬼、“噼里啪啦”。 她一人開車噓噓穿過空蕩蕩的馬...
    豫易閱讀 147評論 3 0
  • 眼訓(xùn)善 同善
    rachez閱讀 406評論 0 0
  • 深圳博物館挺不錯(cuò)的宴树,每年都會(huì)有不同專題的展覽策菜,這次一進(jìn)門口是北大的120年慶的主題,一樓是畫家潘玉良的畫展酒贬,二樓是...
    柳彤閱讀 146評論 0 3
  • 今天是母親的生日又憨,一直都沒有為母親專門紀(jì)念過。本打算今年母親過生日要買一輛車子锭吨,拉著她去外面的飯店吃飯竟块,再買一個(gè)不...
    大餅變小了閱讀 291評論 5 4