windows 10 64bit下安裝Tensorflow+Keras+VS2015+CUDA8.0 GPU加速
原文見於:http://www.jianshu.com/p/c245d46d43f0
寫在前面的話
2016年11月29日,Google Brain 工程師團隊宣布在 TensorFlow 0.12 中加入初步的 Windows 支持。但是目前只支持64位,而且Python版本為3.5版本,需要CUDA 8.0 。
之前Tensorflow對windows的支持並不好,導致如果需要使用它,需要轉移到Linux平台,或者使用Cygwin什么的,總之挺麻煩,現在好了。麻煩事google幫我們解決了。感謝google!
Tensorflow和Keras都是支持Python接口的,所以本文中說的都是搭建一個Python的深度學習環境。還有一點,我也是新手,寫得不好請勿噴!忽視本文就好。
如果你不清楚Keras和Tensorflow是什么關系?請看下圖:

Keras是對Tensorflow或者Theano的再次封裝,也就是以Tensorflow或Theano為后端,默認的后端是tensorflow,如果你想使用theano為后端,可以更改為theano。
Keras為什么要對tensorflow和theano進行再次封裝,當然是為了使用更簡單!為了讓我們不用關注那么多的底層細節,把所有精力都放在實際問題上面。
Tesorflow與theano是可以使用Nvidia GPU進行加速的,如果你的GPU不支持CUDA,那么也不用擔心,那就使用CPU,只是速度慢點(其實是慢很多!(^_^))。如果你的GPU支持CUDA,不用猶豫了,果斷使用CUDA進行加速吧,速度快個10~20倍,那是常事。
好了說了這么多,下面進入正題。
一、文件准備
-
windows 10 64bit旗艦版(版本1607,OS內部版本 14393.576)
-
cuda_8.0.44_win10.exe: CUDA安裝文件。去NVIDIA官網下載。
CUDA是由顯卡廠商NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決復雜的計算問題。
-
Visual Studio 2015 Community: 請使用Community版本(社區版),因為它是免費的!免費的!當然,你注冊個微軟賬號使用起來就更好了。
-
Rapid Environment Editor(環境變量編輯器)
先把它安裝了吧,編輯環境變量方便點。
-
Anaconda3-4.2.0-Windows-x86_64.exe
Anaconda是一個Python科學計算環境,提供了很多常用的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的神經網絡加速庫,可以在前面GPU加速基礎上大概再提升1.5倍的速度。 下載地址:https://developer.nvidia.com/cudnn
1. 安裝Rapid Environment Editor
這個東西是編輯環境變量的,挺好用的,先把它安裝了吧。后面給自己省事。安裝完成后,默認界面是英文的,到設置里面改為中文吧。啟動的時候,設置位管理員啟動吧,不然沒法更改系統環境變量。
2. 安裝DXSDK_Jun10.exe
直接按照提示下一步就好了。我在windows 10上安裝的時候,最后的時候會報錯,不過沒有關系,關掉那個框。搜索下"d3dx9.h"、"d3dx10.h"、"d3dx11.h"頭文件是不是存在,如果路徑如下這個樣子,就成功了。路徑:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9.h

二、安裝CUDA
深度學習庫如果使用CUDA進行GPU加速,可以大大縮短計算時間。如果不需要GPU加速,直接跳到第三部分。
2.1 檢查GPU是否支持CUDA
先確定下自己的顯卡型號(不要告訴我你不知道怎么查看自己的顯卡型號)。安裝CUDA前先檢查下,自己的顯卡是否支持CUDA,可以從下面的網址查看自己的顯卡是否在支持之列。如果你的顯卡比較新,到這里檢查是否支持CUDA:https://developer.nvidia.com/cuda-gpus
如果你的顯卡很老,請到如下鏈接檢查是否支持CUDA:https://developer.nvidia.com/cuda-legacy-gpus
注意筆記本和desktop的區別。
如果自己電腦顯卡不支持的話就跳過第二部分,直接到第三部分。我的顯卡是GTX650,是支持CUDA的,所以繼續。
2.2 安裝Visual Studio 2015 community
Visual Studio 2015 community的安裝包到哪里找,我就不說了。安裝VS2015前,請先斷網,不然安裝過程會下載一堆東西,過程極慢。安裝時只選擇Visual C++部分,其他都可以不裝,這樣安裝起來更快。安裝要一會兒,請耐心等待。
2.3 CUDA安裝
1. CUDA 8.0下載
從CUDA的官網下載安裝文件,https://developer.nvidia.com/cuda-downloads,我安裝時最新版本是 CUDA 8.0. 注意選擇系統是windows 10,選擇exe(local)那個Installer Type。如下圖:

如果需要下載CUDA的歷史版本,請到這里:https://developer.nvidia.com/cuda-toolkit-archive
2. 測試CUDA安裝結果
打開命令提示符,輸入:nvcc -V
可以看到如下信息:

但是,這樣並不代表安裝成功了。等把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 8.0安裝成功了!
如果報錯了,請檢查下前面的步驟是否嚴格執行了。重新再來,直到成功。
三、安裝Tensorflow與Keras
3.1 安裝Anaconda
1. 下載Anaconda
Anaconda包含很多科學計算的包,例如numpy、scipy等等,可以為你省去不少麻煩,它的官網在這里:https://www.continuum.io/downloads ,下載最新的Anaconda 4.2版本,Python版本選擇3.5 64bit的那個版本。

萬一你執意使用Python 2.7,我只能告訴你,最新的tensorflow-0.12在windows平台可能對python-2.7支持得不夠好,中間會出問題的。
2. 安裝Anaconda
- 如果你之前有安裝Anaconda 2系列的,在環境變量里面把相關的環境變量給刪除了。
C:\Anaconda2
C:\Anaconda2\Scripts
C:\Anaconda2\Library\bin
- 安裝挺簡單,我一般安裝在C盤根目錄下:c:\Anaconda3
建議大家也安裝到根目錄下。
安裝時,在Install for那個界面,建議選擇【All Users(requires admin privileges)】那個選項。
在如下那個界面中,把兩個選項都勾上(默認是勾上的)

3.2 更改pip的默認源
Python開發安裝包時,使用pip進行包安裝非常方便。但pip默認的源服務器在國外,下載非常慢,而且經常出現下載后安裝出錯問題。因此,有必要更換為國內的pypi源。
對於windows來說,直接在當前用戶目錄下新建一個pip.ini文件,例如:c:\Users\Luoge\pip.ini
pip.ini的文件內容如下:
[global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com
上面是將源更換為了阿里雲的源(阿里爸爸牛逼!~),輸入完成后,記得保存。
3.3 安裝Tensorflow
下面兩種安裝方式二選一。
在線網絡安裝方式
保持網絡連接,從開始菜單中打開Anaconda Prompt,輸入:pip install tensorflow-gpu
然后就耐心等待吧。如果安裝成功了,跳過離線安裝方式。

- 如果它提示你更新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加速。下載也不太快,視你的網速而定。
為了方便大家,我在百度雲上上傳了一份,大家也可以上百度雲下載: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
保持網絡連接,從開始菜單中打開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開發。可以到nVIDIA官網上下載。下載之前需要注冊,然后問一系列問題,請耐心弄完。然后就可以下載了。不要下載錯了,下載windows 10系統下64位的,最新的支持CUDA 8.0的cuDNN-5.1,文件名是:cudnn-8.0-windows10-x64-v5.1.zip

2. 下載完成后解壓縮。里面有bin、include、lib三個目錄,將三個文件夾復制到安裝CUDA的地方覆蓋對應文件夾,默認文件夾在:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
3. 如何驗證CuDNN是否配置成功呢?
打開Anaconda Prompt,輸入python
,再輸入import tensorflow
,顯示的如果是下圖這樣子,不提示沒有安裝cudnn,就成功了。

參考資料
- 原生Windows安裝TensorFlow 0.12方法 - include1224的專欄 - 博客頻道 - CSDN.NET
- 讓PIP源使用國內鏡像,提升下載速度和安裝成功率。 - microman - 博客園
- 終於來了,TensorFlow 新增官方 Windows 支持_專業的人工智能媒體和產業服務平台
- Keras Documentation
- Keras中文文檔
- CUDA下載
- cuDNN下載
- Installation Guide Windows :: CUDA Toolkit Documentation
- whl格式Python庫匯總下載
- DXSDK_Jun10.exe百度雲下載
- Anaconda官網下載
- Tensorflow 0.12.0 windows 安裝 - 911的專欄 - 博客頻道 - CSDN.NET
說的很清楚,照着一套全部成功安裝下來了!
a639bda3122e: 你好,請問接下來是需要設置環境變量嗎?
請問樓主,按照你的步驟安裝之后得到這樣的結果:
在Python import keras時會出現
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available (error: cuda unavailable)
在網上百度了很多方法,都沒有成功,請樓主指教~
感謝!!
xushiluo: @花火_6704 你的CUDA檢查下,是否安裝成功了
花火_6704: @xushiluo
cmd:nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Mon_Jan__9_17:32:33_CST_2017
Cuda compilation tools, release 8.0, V8.0.60
花火_6704: @xushiluo 就是不知道哪里出了問題,現在只能跑CPU,心痛
說的很清楚,照着一套全部成功安裝下來了!
寫的最好的cuda安裝文章了
xushiluo: @白曉哲 謝謝!我也是安裝過程中,遇到了許多問題。寫這篇文章是想讓大家少走彎路。
李博星Boxing: 寫的很好 一步步走下來了 很棒!
你好,對我的收獲蠻大,但是我這里有兩個問題:1 這里面不需要配置環境變量嗎?我看到上面只是說了刪除原來配置的變量;2 我是官網上面下載的cuda8,但是我安裝之后,沒有sample這個文件夾。希望能得到解答,謝謝。
裝完后spyder打不開,你們是這樣嗎。。因為import theano報錯:Python 3 ImportError: No module named 'ConfigParser'
其實不用安裝DirectX SDK也是可以用的
DX SDK估計是用於圖形顯示之類的,並行計算GPU加速應該是用不到的
你好,請問你的cuda有備份嗎?我在官網下win64位的cuda,每次都是最后差一點點就下載出錯了,搞得我好煩。
就是我的tensorflow是能用的(因為是之前裝的)但是keras怎么都安裝不了