利用NVIDIA顯卡的深度學(xué)習(xí)環(huán)境配置(2019-09-19)

關(guān)于配置 ——nvidia gtx 960m + win7 + tensorflow + keras:

1.首先安裝顯卡驅(qū)動(dòng)火焰,不同cuda版本對(duì)不同驅(qū)動(dòng)版本有不同要求,可以安裝最新版的;

2.根據(jù)tensorflow版本來安裝cuda版本忧设,目前tensorflow 1.x 至少要求cuda 8及以上的版本廊谓;

3.cuda 9及以上版本基本要求cuDNN 7及以上的版本;

4.安裝完cuda以后(可參考https://www.cnblogs.com/shiganquan/p/9496038.html)瘸右,需要進(jìn)行路徑的配置以及功能測(cè)試:
a.在CMD窗口輸入nvcc -V;
b.在將cuda默認(rèn)安裝在C盤后岩齿,在program data盤(一般為隱藏文件)里會(huì)有cuda samples文件太颤,利用VS重新編譯里面的.sln項(xiàng)目,看是否存在錯(cuò)誤盹沈;在該步驟中要選擇release模式龄章;
c.在cmd窗口運(yùn)行通過release編譯后得到的deviceQuery和bandwithtest文件。

5.在下載安裝完顯卡驅(qū)動(dòng)以及CUDA之后乞封,安裝tensorflow時(shí)最好在虛擬環(huán)境中進(jìn)行做裙,實(shí)踐可行的有——

參考 配置tensorflow和keras時(shí)教程及問題總結(jié)

a.創(chuàng)建虛擬環(huán)境——conda create -n your_env_name python=X.X(2.7、3.6等)肃晚,可以分別創(chuàng)建cpu版和gpu版tensorflow的兩個(gè)環(huán)境锚贱;
b.在cpu版環(huán)境中,選擇python3.5版本(conda create -n tensorflow python=3.5)的关串;安裝完成后輸入activate tensorflow進(jìn)入環(huán)境拧廊,安裝tensorflow==1.13.1的版本(pip install tensorflow==1.13.1)杂穷,測(cè)試如下代碼看是否可用:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

c.進(jìn)一步安裝keras(pip install keras==2.2.4),至此完成cpu環(huán)境下的配置卦绣;
d.gpu環(huán)境下的配置選用的版本搭配為:python3.6+CUDA9.0+CUDNN7.0耐量;
e.在激活的tensorflow-GPU環(huán)境下,pip install tensorflow-gpu==1.7.0滤港,最后驗(yàn)證此時(shí)的tensorflow的代碼是否是在使用GPU:

import tensorflow as tf
a = tf.test.is_built_with_cuda()   #判斷CUDA是否可用
b = tf.test.is_gpu_available(cuda_only=False,min_cuda_compute_capability=None)     #判斷GPU是否可用
print(a)
print(b)

6.Tensorflow(CPU)與Tensorflow(GPU)不能共存廊蜒,先裝GPU再裝CPU,也會(huì)被覆蓋溅漾。最好就是刪除CPU版本山叮,只留下GPU版本;

7.使用tf過程可能會(huì)有警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA添履。(參考https://blog.csdn.net/feng98ren/article/details/84874326)

原因:
除了通常的算術(shù)和邏輯屁倔,現(xiàn)代CPU提供了許多低級(jí)指令,稱為擴(kuò)展暮胧,例如锐借, SSE2,SSE4往衷,AVX等钞翔。高級(jí)矢量擴(kuò)展(AVX)是英特爾在2008年3月提出的英特爾和AMD微處理器的x86指令集體系結(jié)構(gòu)的擴(kuò)展,英特爾首先通過Sandy Bridge處理器在2011年第一季度推出席舍,隨后由AMD推出Bulldozer處理器在2011年第三季度布轿。AVX提供了新功能,新指令和新編碼方案来颤。特別是汰扭,AVX引入了融合乘法累加(FMA)操作,加速了線性代數(shù)計(jì)算福铅,即點(diǎn)積萝毛,矩陣乘法,卷積等本讥。幾乎所有機(jī)器學(xué)習(xí)訓(xùn)練都涉及大量這些操作珊泳,因此將會(huì)支持AVX和FMA的CPU(最高達(dá)300%)更快鲁冯。

在此強(qiáng)調(diào)一下:這只限于CPU拷沸。如果你有一個(gè)GPU,你不應(yīng)該關(guān)心AVX的支持薯演,因?yàn)榇蠖鄶?shù)昂貴的操作將被分派到一個(gè)GPU設(shè)備上(除非明確地設(shè)置)撞芍。在這種情況下,您可以簡(jiǎn)單地忽略此警告跨扮。

解決方法:
(1) 如果安裝的是GPU版本
如果你有一個(gè)GPU序无,你不應(yīng)該關(guān)心AVX的支持验毡,因?yàn)榇蠖鄶?shù)昂貴的操作將被分派到一個(gè)GPU設(shè)備上(除非明確地設(shè)置)。在這種情況下帝嗡,您可以簡(jiǎn)單地忽略此警告:

    import os
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

(2) 如果安裝的是CPU版本(pip install tensorflow)
a.在代碼中加入如下代碼晶通,忽略警告:

    import os
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

b.編譯TensorFlow源碼:
如果您沒有GPU并且希望盡可能多地利用CPU,那么如果您的CPU支持AVX哟玷,AVX2和FMA狮辽,則應(yīng)該從針對(duì)CPU優(yōu)化的源構(gòu)建tensorflow。在這個(gè)問題中已經(jīng)討論過這個(gè)問題巢寡,也是這個(gè)GitHub問題喉脖。 Tensorflow使用稱為bazel的ad-hoc構(gòu)建系統(tǒng),構(gòu)建它并不是那么簡(jiǎn)單抑月,但肯定是可行的树叽。在此之后,不僅警告消失谦絮,tensorflow性能也應(yīng)該改善题诵。

8.使用nvidia-smi命令查看gpu使用情況,首先映射到cd/d C:\Program Files\NVIDIA Corporation\NVSMI层皱,再輸入nvidia-smi仇轻。

TIPS——一些實(shí)用命令:

1.conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

2.conda info -e #查看當(dāng)前存在哪些虛擬環(huán)境

3.deactivate #關(guān)閉虛擬環(huán)境 ;conda remove -n yourenvname #移除某個(gè)虛擬環(huán)境

  1. conda install keras將默認(rèn)安裝cpu版本的tensorflow

  2. 若anaconda創(chuàng)建python環(huán)境時(shí)出現(xiàn)CondaHTTPError問題奶甘,可以添加一些國(guó)內(nèi)源:

針對(duì)WIN7——

清華源(TUNA)

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ # 設(shè)置搜索時(shí)顯示通道地址
conda config --set show_channel_urls yes

中科大源(USTC)

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

針對(duì)WIN10——

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes

以上的過程篷店,實(shí)際更改的是的文件是 Windows:C:\Users\用戶名.condarc。

關(guān)于配置——nvidia gtx 960m + win7 + mxnet:

pip install mxnet-cu90 臭家。疲陕。。未完待續(xù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末钉赁,一起剝皮案震驚了整個(gè)濱河市蹄殃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌你踩,老刑警劉巖诅岩,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異带膜,居然都是意外死亡吩谦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門膝藕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來式廷,“玉大人,你說我怎么就攤上這事芭挽』希” “怎么了蝗肪?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蠕趁。 經(jīng)常有香客問我薛闪,道長(zhǎng),這世上最難降的妖魔是什么俺陋? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任逛绵,我火速辦了婚禮,結(jié)果婚禮上倔韭,老公的妹妹穿的比我還像新娘术浪。我一直安慰自己,他們只是感情好寿酌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布胰苏。 她就那樣靜靜地躺著,像睡著了一般醇疼。 火紅的嫁衣襯著肌膚如雪硕并。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天秧荆,我揣著相機(jī)與錄音倔毙,去河邊找鬼。 笑死乙濒,一個(gè)胖子當(dāng)著我的面吹牛陕赃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播颁股,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼么库,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了甘有?” 一聲冷哼從身側(cè)響起诉儒,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎亏掀,沒想到半個(gè)月后忱反,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滤愕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年温算,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片该互。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡米者,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宇智,到底是詐尸還是另有隱情蔓搞,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布随橘,位于F島的核電站喂分,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏机蔗。R本人自食惡果不足惜蒲祈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望萝嘁。 院中可真熱鬧梆掸,春花似錦、人聲如沸牙言。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)咱枉。三九已至卑硫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蚕断,已是汗流浹背欢伏。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亿乳,地道東北人硝拧。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像葛假,于是被迫代替她去往敵國(guó)和親河爹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

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