windows 10 64bit下安裝Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

寫在前面的話

2016年11月29日艰额,Google Brain 工程師團隊宣布在 TensorFlow 0.12 中加入初步的 Windows 支持慷嗜。但是目前只支持64位,而且Python版本為3.5版本榔至,需要CUDA 8.0 诱鞠。
之前Tensorflow對windows的支持并不好互例,導致如果需要使用它跷究,需要轉移到Linux平臺,或者使用Cygwin什么的敲霍,總之挺麻煩,現(xiàn)在好了丁存。麻煩事google幫我們解決了肩杈。感謝google

Tensorflow和Keras都是支持Python接口的解寝,所以本文中說的都是搭建一個Python的深度學習環(huán)境扩然。還有一點,我也是新手聋伦,寫得不好請勿噴夫偶!忽視本文就好。

如果你不清楚Keras和Tensorflow是什么關系觉增?請看下圖:

Keras與Tensorflow和theano關系圖.png

Keras是對Tensorflow或者Theano的再次封裝兵拢,也就是以Tensorflow或Theano為后端,默認的后端是tensorflow逾礁,如果你想使用theano為后端说铃,可以更改為theano。
Keras為什么要對tensorflow和theano進行再次封裝,當然是為了使用更簡單腻扇!為了讓我們不用關注那么多的底層細節(jié)债热,把所有精力都放在實際問題上面。

Tesorflow與theano是可以使用Nvidia GPU進行加速的幼苛,如果你的GPU不支持CUDA窒篱,那么也不用擔心,那就使用CPU舶沿,只是速度慢點(其實是慢很多墙杯!(_))。如果你的GPU支持CUDA暑椰,不用猶豫了霍转,果斷使用CUDA進行加速吧,速度快個10~20倍一汽,那是常事避消。

好了說了這么多,下面進入正題召夹。

一岩喷、文件準備

  • windows 10 64bit旗艦版(版本1607,OS內(nèi)部版本 14393.576)

  • cuda_8.0.44_win10.exe: CUDA安裝文件监憎。去NVIDIA官網(wǎng)下載纱意。

    CUDA是由顯卡廠商NVIDIA推出的通用并行計算架構,該架構使GPU能夠解決復雜的計算問題鲸阔。

  • Visual Studio 2015 Community: 請使用Community版本(社區(qū)版)偷霉,因為它是免費的!免費的褐筛!當然类少,你注冊個微軟賬號使用起來就更好了。

  • Rapid Environment Editor(環(huán)境變量編輯器)

    先把它安裝了吧渔扎,編輯環(huán)境變量方便點硫狞。

  • Anaconda3-4.2.0-Windows-x86_64.exe

Anaconda是一個Python科學計算環(huán)境,提供了很多常用的Python庫晃痴,例如:
numpy残吩,scipy, matplotlib等等。自帶的包管理器conda也很強大倘核,可以方便地安裝各種Python庫泣侮。
下載地址:https://www.continuum.io/downloads/

  • DXSDK_Jun10.exe

微軟的DirectX SDK工具包,不安裝它的話紧唱,后面編譯CUDA_Samples是沒法成功的旁瘫。下載地址:https://pan.baidu.com/share/link?shareid=197164616&uk=369246564&fid=2918892502

  • cudnn-8.0-windows10-x64-v5.1.zip

CUDA的神經(jīng)網(wǎng)絡加速庫祖凫,可以在前面GPU加速基礎上大概再提升1.5倍的速度。 下載地址:https://developer.nvidia.com/cudnn

1. 安裝Rapid Environment Editor

這個東西是編輯環(huán)境變量的酬凳,挺好用的惠况,先把它安裝了吧。后面給自己省事宁仔。安裝完成后稠屠,默認界面是英文的,到設置里面改為中文吧翎苫。啟動的時候权埠,設置位管理員啟動吧,不然沒法更改系統(tǒng)環(huán)境變量煎谍。

2. 安裝DXSDK_Jun10.exe

直接按照提示下一步就好了攘蔽。我在windows 10上安裝的時候,最后的時候會報錯呐粘,不過沒有關系满俗,關掉那個框。搜索下"d3dx9.h"作岖、"d3dx10.h"唆垃、"d3dx11.h"頭文件是不是存在,如果路徑如下這個樣子痘儡,就成功了辕万。路徑:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9.h

DirectX SDK S1023錯誤.png

二、安裝CUDA

深度學習庫如果使用CUDA進行GPU加速沉删,可以大大縮短計算時間渐尿。如果不需要GPU加速,直接跳到第三部分矾瑰。

2.1 檢查GPU是否支持CUDA

先確定下自己的顯卡型號(不要告訴我你不知道怎么查看自己的顯卡型號)砖茸。安裝CUDA前先檢查下,自己的顯卡是否支持CUDA脯倚,可以從下面的網(wǎng)址查看自己的顯卡是否在支持之列。如果你的顯卡比較新嵌屎,到這里檢查是否支持CUDA:https://developer.nvidia.com/cuda-gpus
如果你的顯卡很老推正,請到如下鏈接檢查是否支持CUDA:https://developer.nvidia.com/cuda-legacy-gpus
注意筆記本和desktop的區(qū)別。

如果自己電腦顯卡不支持的話就跳過第二部分宝惰,直接到第三部分植榕。我的顯卡是GTX650,是支持CUDA的尼夺,所以繼續(xù)尊残。

2.2 安裝Visual Studio 2015 community

Visual Studio 2015 community的安裝包到哪里找炒瘸,我就不說了。安裝VS2015前寝衫,請先斷網(wǎng)顷扩,不然安裝過程會下載一堆東西,過程極慢慰毅。安裝時只選擇Visual C++部分隘截,其他都可以不裝,這樣安裝起來更快汹胃。安裝要一會兒婶芭,請耐心等待。

2.3 CUDA安裝

1. CUDA 8.0下載

從CUDA的官網(wǎng)下載安裝文件着饥,https://developer.nvidia.com/cuda-downloads犀农,我安裝時最新版本是 CUDA 8.0. 注意選擇系統(tǒng)是windows 10,選擇exe(local)那個Installer Type宰掉。如下圖:

CUDA8.0下載.jpg

如果需要下載CUDA的歷史版本呵哨,請到這里:https://developer.nvidia.com/cuda-toolkit-archive

2. 測試CUDA安裝結果

打開命令提示符,輸入:nvcc -V
可以看到如下信息:

nvcc.jpg

但是贵扰,這樣并不代表安裝成功了仇穗。等把CUDA_Samples示例編譯通過不報錯了,才能算是成功戚绕。

3. 編譯CUDA示例程序

(1)在 c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0 目錄下纹坐,有CUDA的示例程序。由于我安裝的是VS2015舞丛,所以我打開Samples_vs2015.sln那個解決方案文件耘子,將解決方案配置更改為Release和x64.
使用Release模型,由于所有程序安裝包用的都是64位版本球切,所以改為x64比較好谷誓。

(2)右鍵單擊,編譯整個解決方案吨凑。如果不出意外捍歪,將會編譯成功。如果提示是缺少:
"d3dx9.h"鸵钝、"d3dx10.h"糙臼、"d3dx11.h"頭文件 ,說明前面安裝DirectX SDK沒有安裝好恩商,重新安裝下DXSDK_Jun10.exe变逃,再次編譯。

(3)關閉VS2015怠堪,在
c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release
目錄下找到deviceQuery.exe這個文件揽乱。打開一個cmd窗口名眉,定位到 c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release目錄,輸入:deviceQuery.exe 凰棉,然后回車损拢。會得到如下結果:

檢查CUDA是否安裝成功.jpg

如果你的結果與上面類似,恭喜你渊啰!CUDA 8.0安裝成功了探橱!
如果報錯了,請檢查下前面的步驟是否嚴格執(zhí)行了绘证。重新再來隧膏,直到成功。

三嚷那、安裝Tensorflow與Keras

3.1 安裝Anaconda

1. 下載Anaconda

Anaconda包含很多科學計算的包胞枕,例如numpy、scipy等等魏宽,可以為你省去不少麻煩腐泻,它的官網(wǎng)在這里:https://www.continuum.io/downloads ,下載最新的Anaconda 4.2版本队询,Python版本選擇3.5 64bit的那個版本派桩。

下載Anaconda.jpg

萬一你執(zhí)意使用Python 2.7,我只能告訴你蚌斩,最新的tensorflow-0.12在windows平臺可能對python-2.7支持得不夠好铆惑,中間會出問題的。

2. 安裝Anaconda

  • 如果你之前有安裝Anaconda 2系列的送膳,在環(huán)境變量里面把相關的環(huán)境變量給刪除了员魏。
C:\Anaconda2
C:\Anaconda2\Scripts
C:\Anaconda2\Library\bin
  • 安裝挺簡單,我一般安裝在C盤根目錄下:c:\Anaconda3
    建議大家也安裝到根目錄下叠聋。
    安裝時撕阎,在Install for那個界面,建議選擇【All Users(requires admin privileges)】那個選項碌补。

在如下那個界面中虏束,把兩個選項都勾上(默認是勾上的)

安裝Anaconda-2個選項.png

3.2 更改pip的默認源

Python開發(fā)安裝包時,使用pip進行包安裝非常方便厦章。但pip默認的源服務器在國外镇匀,下載非常慢,而且經(jīng)常出現(xiàn)下載后安裝出錯問題闷袒。因此坑律,有必要更換為國內(nèi)的pypi源岩梳。

對于windows來說囊骤,直接在當前用戶目錄下新建一個pip.ini文件晃择,例如:c:\Users\Luoge\pip.ini
pip.ini的文件內(nèi)容如下:

[global]  
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]  
trusted-host=mirrors.aliyun.com

上面是將源更換為了阿里云的源(阿里爸爸牛逼!~)也物,輸入完成后宫屠,記得保存。

3.3 安裝Tensorflow

下面兩種安裝方式二選一滑蚯。

在線網(wǎng)絡安裝方式

保持網(wǎng)絡連接浪蹂,從開始菜單中打開Anaconda Prompt,輸入:pip install tensorflow-gpu
然后就耐心等待吧告材。如果安裝成功了坤次,跳過離線安裝方式

在線安裝tensorflow.png
  • 如果它提示你更新pip斥赋,你就按照提示更新pip好了缰猴。
  • 如果這種方式安裝失敗了,請看下面的 離線安裝方式

離線安裝方式

如果在線從pip安裝tensorflow總是失敗疤剑,那就下載python的whl包滑绒,本地安裝的。
下載地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/
Ctrl+F搜索Tensorflow隘膘,找到: tensorflow_gpu?0.12.0rc1?cp35?cp35m?win_amd64.whl
注意下載帶gpu字樣的版本疑故,它才支持GPU加速。下載也不太快弯菊,視你的網(wǎng)速而定纵势。
為了方便大家,我在百度云上上傳了一份误续,大家也可以上百度云下載:http://pan.baidu.com/s/1o77WBe6
不客氣吨悍!

從開始菜單中打開Anaconda Prompt,輸入:pip install c:\Users\Luoge\Downloads\tensorflow_gpu-0.12.0rc1-cp35-cp35m-win_amd64.whl

然后蹋嵌,等待安裝完成就好了育瓜。

3.4 安裝Keras

保持網(wǎng)絡連接,從開始菜單中打開Anaconda Prompt栽烂,輸入:pip install keras

回車躏仇,安裝就開始了,它會順帶把Theano也給安裝上腺办,但是這里安裝的Theano版本比較老焰手,是Theano-0.8.2。我們使用tensorflow作為后端怀喉,而不是theano书妻,所以不用理會它,讓它裝上就好了躬拢。

四躲履、測試Keras是否安裝成功

從開始菜單中打開Anaconda Prompt见间,在命令行中輸入:python,再輸入:

import tensorflow as tf
sess = tf.Session()
a = tf.constant(10)
b = tf.constant(22)
print(sess.run(a + b))

如果正確打印出結果32工猜,不報錯米诉,說明tensorflow安裝成功。

再輸入:

import keras

若不報錯篷帅,說明安裝成功史侣。

五、讓速度更快一點

1. cuDNN可以在前面GPU加速基礎上大概再提升1.5倍的速度魏身,它由nVIDIA開發(fā)惊橱。可以到nVIDIA官網(wǎng)上下載箭昵。下載之前需要注冊李皇,然后問一系列問題,請耐心弄完宙枷。然后就可以下載了掉房。不要下載錯了,下載windows 10系統(tǒng)下64位的慰丛,最新的支持CUDA 8.0的cuDNN-5.1卓囚,文件名是:cudnn-8.0-windows10-x64-v5.1.zip

下載cudnn.jpg

2. 下載完成后解壓縮。里面有bin诅病、include哪亿、lib三個目錄,將三個文件夾復制到安裝CUDA的地方覆蓋對應文件夾贤笆,默認文件夾在:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

3. 如何驗證CuDNN是否配置成功呢蝇棉?
打開Anaconda Prompt,輸入python芥永,再輸入import tensorflow篡殷,顯示的如果是下圖這樣子,不提示沒有安裝cudnn埋涧,就成功了板辽。

cudnn安裝成功后.jpg

參考資料

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市醇坝,隨后出現(xiàn)的幾起案子邑跪,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡盟迟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乡革,“玉大人寇僧,你說我怎么就攤上這事》邪妫” “怎么了嘁傀?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長视粮。 經(jīng)常有香客問我细办,道長,這世上最難降的妖魔是什么蕾殴? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任笑撞,我火速辦了婚禮,結果婚禮上钓觉,老公的妹妹穿的比我還像新娘茴肥。我一直安慰自己,他們只是感情好荡灾,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布瓤狐。 她就那樣靜靜地躺著,像睡著了一般批幌。 火紅的嫁衣襯著肌膚如雪础锐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天荧缘,我揣著相機與錄音皆警,去河邊找鬼。 笑死截粗,一個胖子當著我的面吹牛耀怜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播桐愉,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼财破,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了从诲?” 一聲冷哼從身側響起左痢,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后俊性,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體略步,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年定页,在試婚紗的時候發(fā)現(xiàn)自己被綠了趟薄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡典徊,死狀恐怖杭煎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情卒落,我是刑警寧澤羡铲,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站儡毕,受9級特大地震影響也切,放射性物質發(fā)生泄漏。R本人自食惡果不足惜腰湾,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一雷恃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧费坊,春花似錦褂萧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至羡忘,卻和暖如春谎痢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背卷雕。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工节猿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人漫雕。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓滨嘱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親浸间。 傳聞我的和親對象是個殘疾皇子太雨,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

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