centos7 tensorflow 1.13.1 . cuda 10 cudnn 7.3.1

tensorflow .馬上要出 2.0 版本,不過現(xiàn)在 安裝的最新的仍舊為1.13.1 【2019-03-9】
在 centos 7 我們安裝了 一塊 NVIDIA Tesla的 顯卡 丑掺,Tesla P100-PCIE-16GB

當(dāng)我們要使用TensorFlow GPU 訓(xùn)練 時(shí) 抚恒, 單單有顯卡還不可以,需要安裝NVIDIA的顯卡驅(qū)動 和cuda及cudnn饶唤,
嘗試使用 原始的rpm 安裝 cuda 發(fā)現(xiàn) 本來要安裝 9 垦巴,裝完了竟然是10.1明也,TensorFlow 1.13.1 是不支持 10.1,不過現(xiàn)在日志看到 是支持 cuda 10.的
發(fā)現(xiàn) cuda 的安裝 還比較繁瑣崭歧,cuda 安裝 完占硬盤 2-3G
卸載還不是很方便隅很,有的有一個卸載腳本 Perl,
/usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl
沒有的話驾荣,就直接
rm -rf /usr/local/cuda*
rm /etc/profile.d/cuda.sh
也可以

那如何安裝cuda 最簡單就是 使用 conda 外构,
anaconda 簡直不一般,conda不僅可以安裝python虛擬環(huán)境 播掷,還可以安裝R 审编,竟然連 cuda 和cudnn 也可以安裝 ,還要安裝 TensorFlow-gpu python包
就兩步
首先先創(chuàng)建 激活一個python的虛擬環(huán)境 進(jìn)入到環(huán)境中

conda install cudatoolkit
conda install cudnn
pip  install  tensorflow-gpu

不過要注意了 conda安裝的cuda 并不是全局的cuda 歧匈,他只在你的當(dāng)前激活的python環(huán)境下有效垒酬,conda 安裝的jupyter 和R 也是這樣的
參考 https://github.com/tensorflow/tensorflow/issues/26182
【ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory】
在安裝時(shí)報(bào)了一個小錯

ChunkedEncodingError(ProtocolError('Connection broken: OSError("(104, 'ECONNRESET')")', OSError("(104, 'ECONNRESET')")))
其實(shí)好像是網(wǎng)絡(luò)問題,重復(fù)嘗試再安裝就可以了

如何測試是否 TensorFlow可以使用gpu 呢

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

查看日志信息若包含gpu信息件炉,就是使用了gpu勘究。 
其他方法:跑計(jì)算量大的代碼,通過 nvidia-smi 命令查看gpu的內(nèi)存使用量斟冕。

另外可以這樣
import tensorflow as tf
 
with tf.device('/cpu:0'):
    a = tf.constant([1.0,2.0,3.0],shape=[3],name='a')
    b = tf.constant([1.0,2.0,3.0],shape=[3],name='b')
with tf.device('/gpu:1'):
    c = a+b
   
#注意:allow_soft_placement=True表明:計(jì)算設(shè)備可自行選擇口糕,如果沒有這個參數(shù),會報(bào)錯磕蛇。
#因?yàn)椴皇撬械牟僮鞫伎梢员环旁贕PU上景描,如果強(qiáng)行將無法放在GPU上的操作指定到GPU上,將會報(bào)錯秀撇。
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True,log_device_placement=True))
#sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(tf.global_variables_initializer())
print(sess.run(c))

結(jié)果:

[ 2.  4.  6.]

如果TensorFlow不支持 當(dāng)前 版本的cuda 會報(bào)錯 【首先你要安裝了TensorFlow-gpu包】

import tensorflow as tf
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory

如何查看 GPU的使用情況

nvidia-smi

另外一點(diǎn)就是 cuda 再卸載后重新安裝新版本 會報(bào)錯
【# NVIDIA NVML Driver/library version mismatch

https://stackoverflow.com/questions/43022843/nvidia-nvml-driver-library-version-mismatch

As @etal said, rebooting can solve this problem, but I think a procedure without rebooting will help.

For Chinese, check my blog -> [中文版](https://comzyh.com/blog/archives/967/)

The error message

> NVML: Driver/library version mismatch

tell us the Nvidia driver kernel module (kmod) have a wrong version, so we should unload this driver, and then load the correct version of kmod

## How to do that ?

First, we should know which drivers are loaded.

> lsmod | grep nvidia

you may get

nvidia_uvm 634880 8
nvidia_drm 53248 0
nvidia_modeset 790528 1 nvidia_drm
nvidia 12312576 86 nvidia_modeset,nvidia_uvm


our final goal is to unload `nvidia` mod, so we should unload the module depend on `nvidia`

> sudo rmmod nvidia_drm
> sudo rmmod nvidia_modeset
> sudo rmmod nvidia_uvm

then, unload `nvidia`

> sudo rmmod nvidia

## Troubleshooting

if you get an error like `rmmod: ERROR: Module nvidia is in use`, which indicates that the kernel module is in use, you should kill the process that using the kmod:

> sudo lsof /dev/nvidia*

and then kill those process, then continue to unload the kmods

## Test

confirm you successfully unload those kmods

> lsmod | grep nvidia

you should get nothing, then confirm you can load the correct driver

> nvidia-smi

you should get the correct output

https://tensorflow.google.cn/install/source

https://comzyh.com/blog/archives/967/

如果你打算安裝 cuda 9
https://blog.veir.me/2018/03/17/centos7-install-cuda9/

或者 cuda的docker環(huán)境
https://www.cnblogs.com/yxfangcs/p/8438462.html

cuda 的官方下載
https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=rpmnetwork

TensorFlow 到底和那些 版本的cuda 和cudnn 適配 超棺,主要看 libcudnn.so libcublas.so 的當(dāng)前安裝TensorFlow所支持的版本
libcublas.so.10.0 libcudnn.so.7是TensorFlow 1.13.1所要求的 ,所以就必須裝的版本不高于它

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末呵燕,一起剝皮案震驚了整個濱河市棠绘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌再扭,老刑警劉巖氧苍,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泛范,居然都是意外死亡让虐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門敦跌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來澄干,“玉大人逛揩,你說我怎么就攤上這事◆锓” “怎么了辩稽?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長从媚。 經(jīng)常有香客問我逞泄,道長,這世上最難降的妖魔是什么拜效? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任喷众,我火速辦了婚禮,結(jié)果婚禮上紧憾,老公的妹妹穿的比我還像新娘到千。我一直安慰自己,他們只是感情好赴穗,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布憔四。 她就那樣靜靜地躺著,像睡著了一般般眉。 火紅的嫁衣襯著肌膚如雪了赵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天甸赃,我揣著相機(jī)與錄音柿汛,去河邊找鬼。 笑死埠对,一個胖子當(dāng)著我的面吹牛络断,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鸠窗,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼妓羊,長吁一口氣:“原來是場噩夢啊……” “哼胯究!你這毒婦竟也來了稍计?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤裕循,失蹤者是張志新(化名)和其女友劉穎臣嚣,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剥哑,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡硅则,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了株婴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怎虫。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡暑认,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出大审,到底是詐尸還是另有隱情蘸际,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布徒扶,位于F島的核電站粮彤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏姜骡。R本人自食惡果不足惜导坟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望圈澈。 院中可真熱鬧惫周,春花似錦、人聲如沸康栈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谅将。三九已至漾狼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饥臂,已是汗流浹背逊躁。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留隅熙,地道東北人稽煤。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像囚戚,于是被迫代替她去往敵國和親酵熙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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