二維碼
微世推網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 快聞頭條 » 本地資訊 » 正文

Keras安裝和配置指南(Windows)

放大字體  縮小字體 發(fā)布日期:2017-11-07 03:36:08    瀏覽次數(shù):236
導(dǎo)讀

聲明本教程不得用于任何形式的商業(yè)用途,如果需要轉(zhuǎn)載請與作者SCP-173聯(lián)系,如果發(fā)現(xiàn)未經(jīng)允許復(fù)制轉(zhuǎn)載,將保留追求其法律責(zé)任的權(quán)利。這里需要說明一下,筆者不建議在Windows環(huán)境下進行深度學(xué)習(xí)的研究,一方面是因為

聲明

本教程不得用于任何形式的商業(yè)用途,如果需要轉(zhuǎn)載請與作者SCP-173聯(lián)系,如果發(fā)現(xiàn)未經(jīng)允許復(fù)制轉(zhuǎn)載,將保留追求其法律責(zé)任的權(quán)利。

這里需要說明一下,筆者不建議在Windows環(huán)境下進行深度學(xué)習(xí)的研究,一方面是因為Windows所對應(yīng)的框架搭建的依賴過多,社區(qū)設(shè)定不完全;另一方面,Linux系統(tǒng)下對顯卡支持、內(nèi)存釋放以及存儲空間調(diào)整等硬件功能支持較好。如果您對Linux環(huán)境感到陌生,并且大多數(shù)開發(fā)環(huán)境在Windows下更方便操作的話,希望這篇文章對您會有幫助。

關(guān)于計算機的硬件配置說明推薦配置

如果您是高校學(xué)生或者高級研究人員,并且實驗室或者個人資金充沛,建議您采用如下配置:

主板:X99型號或Z170型號CPU: i7-5830K或i7-6700K 及其以上高級型號內(nèi)存:品牌內(nèi)存,總?cè)萘?2G以上,根據(jù)主板組成4通道或8通道SSD: 品牌固態(tài)硬盤,容量256G以上顯卡:NVIDIA GTX 1080、NVIDIA GTX TITAN、NVIDIA GTX 1070、NVIDIA GTX 1060 (順序為優(yōu)先建議,并且建議同一顯卡,可以根據(jù)主板插槽數(shù)量購買多塊,例如X99型號主板最多可以采用×4的顯卡)電源:由主機機容量的確定,一般有顯卡總?cè)萘亢笤偌?00W即可最低配置

如果您是僅僅用于自學(xué)或代碼調(diào)試,亦或是條件所限僅采用自己現(xiàn)有的設(shè)備進行開發(fā),那么您的電腦至少滿足以下幾點:

CPU:Intel第三代i5和i7以上系列產(chǎn)品或同性能AMD公司產(chǎn)品內(nèi)存:總?cè)萘?G以上CPU說明大多數(shù)CPU目前支持多核多線程,那么如果您采用CPU加速,就可以使用多線程運算。這方面的優(yōu)勢對于服務(wù)器CPU集群和多核并行CPU尤為關(guān)鍵顯卡說明如果您的顯卡是非NVIDIA公司的產(chǎn)品或是NVIDIA GTX系列中型號的第一個數(shù)字低于4或NVIDIA的GT系列,都不建議您采用此類顯卡進行加速計算,例如NVIDIA GT 910、NVIDIA GTX 450 等等。如果您的顯卡為筆記本上的GTX移動顯卡(型號后面帶有標(biāo)識M),那么請您慎重使用顯卡加速,因為移動版GPU很容易發(fā)生過熱燒毀現(xiàn)象。如果您的顯卡,顯示的是諸如 HD5000,ATI 5650 等類型的顯卡,那么您只能使用CPU加速如果您的顯卡為Pascal架構(gòu)的顯卡(NVIDIA GTX 1080,NVIDIA GTX 1070等),您只能在之后的配置中選擇Visual Studio 2015和CUDA 8.0基本開發(fā)環(huán)境搭建1. Microsoft Windows 版本

關(guān)于Windows的版本選擇,本人強烈建議對于部分高性能的新機器采用Windows 10作為基礎(chǔ)環(huán)境,部分老舊筆記本或低性能機器采用Windows 7即可,本文環(huán)境將以Windows 10作為開發(fā)環(huán)境進行描述。對于Windows 10的發(fā)行版本選擇,筆者建議采用Windows_10_enterprise_2016_ltsb_x64作為基礎(chǔ)環(huán)境。

這里推薦到MSDN我告訴你下載,也感謝作者國內(nèi)優(yōu)秀作者雪龍狼前輩所做出的貢獻。


直接貼出熱鏈,復(fù)制粘貼迅雷下載:

ed2k://|file|cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409.iso|3821895680|FF17FF2D5919E3A560151BBC11C399D1|/2. 編譯環(huán)境Microsoft Visual Studio 2010 - 2015

(安裝CPU版本非必須安裝)

CUDA編譯器為Microsoft Visual Studio,版本從2010-2015,其中cuda7.5僅支持2010、2012、2013,cuda8.0僅支持2015版本,本文采用Visual Studio 2015 Update 3。同樣直接貼出迅雷熱鏈:

ed2k://|file|cn_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923256.iso|7745202176|DD35D3D169D553224BE5FB44E074ED5E|/


3. Python環(huán)境

python環(huán)境建設(shè)推薦使用科學(xué)計算集成python發(fā)行版Anaconda,Anaconda是Python眾多發(fā)行版中非常適用于科學(xué)計算的版本,里面已經(jīng)集成了很多優(yōu)秀的科學(xué)計算Python庫。對于搞科學(xué)計算與深度學(xué)習(xí)的朋友們,建議安裝Anconda2.7版本,如果您喜歡使用Anaconda3.5版本也沒有太大問題,關(guān)于很多早期的python3.5不兼容問題現(xiàn)在已經(jīng)全部解決,本文默認使用Anaconda2.7

下載地址: Anaconda

4. GCC編譯環(huán)境

gcc/g++是Windows環(huán)境與Linux環(huán)境非常大的一個差別點。不管是cpu版本還是gpu版本都需要安裝GCC編譯環(huán)境。本文提供兩種解決方案:

MinGW Minimalist GNU for Windows,安裝好Anaconda之后在CMD或者Powershell中輸入:conda install mingw libpythonMSYS2 一部分讀者自己本身已經(jīng)具有了Python環(huán)境,再安裝Anaconda會造成很大的不便,那么本文推薦安裝MSYS2,網(wǎng)站上有詳細的如何安裝的說明,本文不再贅述。 5. CUDA

(僅使用CPU版本不必安裝)CUDA Toolkit是NVIDIA公司面向GPU編程提供的基礎(chǔ)工具包,也是驅(qū)動顯卡計算的核心技術(shù)工具。直接安裝CUDA8.0即可下載地址:developer.nvidia/cuda-downloads

在下載之后,按照步驟安裝,不建議新手修改安裝目錄,同上,環(huán)境不需要配置,安裝程序會自動配置好。

6. (可選)加速庫CuDNN

從官網(wǎng)下載需要注冊賬號申請,兩三天批準(zhǔn)。網(wǎng)盤搜索一般也能找到最新版。 Windows目前就是cudnn-7.0-win-x64-v5.0-prod.zip。 下載解壓出來是名為cuda的文件夾,里面有bin、include、lib,將三個文件夾復(fù)制到安裝CUDA的地方覆蓋對應(yīng)文件夾,默認文件夾在:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA

Keras 框架搭建安裝

Keras深度學(xué)習(xí)框架是基于Theano或Tensorflow框架安裝的,所以首先要準(zhǔn)備底層框架的搭建,然而目前Tensorflow不支持Windows版本,所以本文選用Theano安裝即可在CMD命令行或者Powershell中輸入:

pip install theano -U --prepip install keras -U --pre

或者想要加速開發(fā)版本,用(前提是已經(jīng)git, conda install git)

pip install --upgrade --no-deps git+git://github/Theano/Theano.git環(huán)境配置

在我的電腦上右鍵->屬性->高級->環(huán)境變量->系統(tǒng)變量中的path,添加

C:\Anaconda2;C:\Anaconda2\scripts;C:\Anaconda2\MinGW\bin;C:\Anaconda2\MinGW\x86_64-w64-mingw32\lib;

注意,本文將Anaconda安裝至C盤根目錄,根據(jù)自己的情況進行修改;另外在之前安裝gcc/g++時采用MSYS2方式安裝的,修改并重新定位MinGW文件夾,并做相應(yīng)修改。

之后并新建變量PYTHONPATH,并添加

C:\Anaconda2\Lib\site-packages\theano;修改默認后端

打開C:\Users\當(dāng)前用戶名\.keras,修改文件夾內(nèi)的keras.json文件如下:

{'image_dim_ordering':'th','epsilon':1e-07,'floatx':'float32','backend':'theano'}Theano加速配置在用戶目錄,也就是C:\Users\當(dāng)前用戶名\,新建.theanorc.txt。 這個路徑可以通過修改Theano的configparser.py來改變。Theano裝在Anaconda\Lib\site-packages里 .theanorc.txt的內(nèi)容:[global]openmp=False device = gpu optimizer_including=cudnn #不用cudnn的話就不要這句,實際上不用加,只要剛剛配置到位就行 floatX = float32 allow_input_downcast=True [lib]cnmem = 0.8 #theano黑科技,初始化顯存比例[blas]ldflags= #加速庫[gcc]cxxflags=-IC:\Anaconda2\MinGW [nvcc]fastmath = True --flags=-LC:\Anaconda2\libs #改成自己裝的目錄--compiler_bindir=D:\Microsoft Visual Studio 12.0\VC\bin #改成自己裝的目錄#最后記得把漢字全刪了

如果您的所安裝的是CPU加速版本,那么.theanorc.txt文件配置如下:

[global]openmp=True device = cpu floatX = float32 allow_input_downcast=True [gcc]cxxflags=-IC:\Anaconda2\MinGW

之后可以驗證keras是否安裝成功,在命令行中輸入Python命令進入Python變成命令行環(huán)境:

>>>import kerasUsing Theano(Tensorflow) backend.>>>

沒有報錯,那么Keras就已經(jīng)成功安裝了

加速測試環(huán)境測試

在命令行中進入Python環(huán)境,輸入:

import theano

會出現(xiàn)一系列信息,包括顯卡型號、浮點數(shù)類型、是否采用CNmem和cuDNN(如果使用了的話)等等,那么恭喜你,環(huán)境徹底配置成功。如果使用了Windows系統(tǒng)的讀者,電腦上可能會出現(xiàn),debug的字樣,這是第一次使用,在編譯生成運行庫,屬于正常現(xiàn)象。

加速庫測試

Python環(huán)境下輸入:

import numpy id(numpy.dot) == id(numpy.core.multiarray.dot)

如果得到的結(jié)果為False,說明你的除了gpu加速還得到了數(shù)學(xué)庫blas加速,按照教程順序配置的Linux用戶是一定可以得到False結(jié)果的;Windows用戶得到True也沒有關(guān)系,因為Anaconda中已經(jīng)內(nèi)置了MKL加速庫,如果想使用Openblas可以按照文末的聯(lián)系方式聯(lián)系我。

速度測試

新建一個文件test.py,內(nèi)容為:

from theano import function, config, shared, sandboximport theano.tensor as Timport numpyimport timevlen = 10 * 30 * 768 # 10 x #cores x # threads per core #這里可以加一兩個0,多測試一下,記得去掉漢字 iters = 1000rng = numpy.random.RandomState(22)x = shared(numpy.asarray(rng.rand(vlen), config.floatX))f = function([], T.exp(x))print(f.maker.fgraph.toposort())t0 = time.time()for i in xrange(iters): r = f()t1 = time.time()print('Looping %d times took %f seconds' % (iters, t1 - t0))print('Result is %s' % (r,))if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]): print('Used the cpu')else: print('Used the gpu')

在GTX 970顯卡下,輸出結(jié)果大概是0.21秒,在一百倍運算量下19秒,可以進行對比。理論上,相比較主頻為3.3GHz的CPU,加速比應(yīng)該是75倍,但不同的ssd和內(nèi)存限制了IO接口傳輸速度。

Keras中mnist數(shù)據(jù)集測試

下載Keras開發(fā)包

git clone github/fchollet/keras.gitcd keras/examples/python mnist_mlp.py

程序無錯進行,至此,keras安裝完成。

一個Anaconda3中配置遇到的異常解決方式

目前發(fā)現(xiàn)使用Anaconda3安裝theano時可能會有一個沖突:

AttributeError:module ‘configparser’ has no attribute ‘SafeConfigParser’

暫時只有用以下方法處理:

對Anaconda3\Lib\site-packages\theano\configparser.py更改文件名,比如改為config_parser.py,在pycharm或其他IDE中隨意運行一個cnn腳本,對遇到的每一個提示錯誤手動更改引用到的文件名為theano.config_parser,在將所有引用到這個文件的位置都改正后,應(yīng)該就沒有問題了。

聲明與聯(lián)系方式

由于作者水平和研究方向所限,無法對所有模塊都非常精通,因此文檔中不可避免的會出現(xiàn)各種錯誤、疏漏和不足之處。如果您在使用過程中有任何意見、建議和疑問,歡迎發(fā)送郵件到scp173.cool@gmail與中文文檔作者取得聯(lián)系.

本教程不得用于任何形式的商業(yè)用途,如果需要轉(zhuǎn)載請與作者或中文文檔作者聯(lián)系,如果發(fā)現(xiàn)未經(jīng)允許復(fù)制轉(zhuǎn)載,將保留追求其法律責(zé)任的權(quán)利。

 
(文/小編)
免責(zé)聲明
本文僅代表發(fā)布者:個人觀點,本站未對其內(nèi)容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
 

Copyright?2015-2025 粵公網(wǎng)安備 44030702000869號

粵ICP備16078936號

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

24在線QQ: 770665880

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

韓瑞 小英 張澤

工作時間:

周一至周五: 08:00 - 24:00

反饋

用戶
反饋