一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

如何搭建一臺(tái)深度學(xué)習(xí)服務(wù)器

 金戈001 2016-03-29


2016年3月26日 11:32 閱讀 136
http://xccds1977./2015/10/blog-post.html
在計(jì)算機(jī)時(shí)代的早期,一名極客的滿足感很大程度上來(lái)源于能DIY一臺(tái)機(jī)器。到了深度學(xué)習(xí)的時(shí)代,前面那句話仍然是對(duì)的。

緣起
在2013年,MIT科技評(píng)論將深度學(xué)習(xí)列為當(dāng)年十大科技突破之首。其原因在于,模型有其為龐大的網(wǎng)絡(luò)結(jié)構(gòu),參數(shù)夠多,學(xué)習(xí)能力夠強(qiáng),能配合大數(shù)據(jù)達(dá)到驚人的效果。而且,能自動(dòng)學(xué)習(xí)特征,避免了“特征工程”這種繁瑣的手工勞動(dòng)。對(duì)于圖像、音頻和文字處理領(lǐng)域有極大的意義。因?yàn)樽罱趪L試用深度學(xué)習(xí)做文本挖掘,所以需要一臺(tái)深度學(xué)習(xí)服務(wù)器(相信我,如果用CPU來(lái)跑,你的人生顯得好短)。

那么就有三個(gè)選擇項(xiàng):
A、購(gòu)買(mǎi)組裝好的服務(wù)器,例如NVIDIA DIGITS DEVBOX
B、購(gòu)買(mǎi)云服務(wù),例如Amazon的GPU服務(wù)
C、自己攢一臺(tái)深度學(xué)習(xí)服務(wù)器。
A項(xiàng)從性價(jià)比上不合算,而且不一定買(mǎi)的到。B項(xiàng)的云服務(wù)對(duì)于研究探索性質(zhì)工作而言也比較貴,機(jī)器配置也不一定合適,所以我們就C項(xiàng)了。

硬件選擇:基本思路是單顯卡機(jī)器,保留升級(jí)空間

顯卡選擇:
先解釋一點(diǎn),深度學(xué)習(xí)為什么需要顯卡計(jì)算?
GPU 是為大規(guī)模的并行運(yùn)算而優(yōu)化;
GPU 上則更多的是運(yùn)算單元(整數(shù)、浮點(diǎn)的乘加單元,特殊運(yùn)算單元等等);
GPU 往往擁有更大帶寬的顯存,因此在大吞吐量的應(yīng)用中也會(huì)有很好的性能。
這里有一個(gè)很有趣的解釋視頻,解釋了GPU和CPU的計(jì)算區(qū)別。

所以顯卡選擇最重要,因?yàn)闇?zhǔn)備基于CUDA計(jì)算(CUDA (Compute Unified Device Architecture) 是NVIDIA開(kāi)發(fā)的GPU并行計(jì)算環(huán)境。),所以只能選擇Nvida系列的。在英偉達(dá)產(chǎn)品系列中,有消費(fèi)領(lǐng)域的GeForce系列,有專(zhuān)業(yè)繪圖領(lǐng)域的Quadro系列,有高性能計(jì)算領(lǐng)域的Tesla系列,如何選擇?

有論文研究,太高的精度對(duì)于深度學(xué)習(xí)的錯(cuò)誤率是沒(méi)有提升的,而且大部分的環(huán)境框架都只支持單精度,所以雙精度浮點(diǎn)計(jì)算是不必要,Tesla系列都去掉了。從顯卡效能的指標(biāo)看,CUDA核心數(shù)要多,GPU頻率要快,顯存要大,帶寬要高。這樣,最新Titan X算是價(jià)格便宜量又足的選擇。

CPU選擇:
在深度學(xué)習(xí)任務(wù)中,CPU并不負(fù)責(zé)主要任務(wù),單顯卡計(jì)算時(shí)只有一個(gè)核心達(dá)到100%負(fù)荷,所以CPU的核心數(shù)量和顯卡數(shù)量一致即可,太多沒(méi)有必要,但是處理PCIE的帶寬要到40。

主板選擇:
需要支持X99架構(gòu),支持PCIe3.0,還要支持4通道DDR4內(nèi)存架構(gòu)。如果要搞四顯卡并行,PCIE帶寬支持要達(dá)到40,并且支持4-Way NVIDA SLI技術(shù)。

內(nèi)存:
達(dá)到顯存的二倍即可,當(dāng)然有錢(qián)的話越大越好。

電源問(wèn)題:一個(gè)顯卡的功率接近300W,四顯卡建議電源在1500W以上,為了以后擴(kuò)展,選擇了1600W的電源。

機(jī)箱散熱:
因?yàn)楦鞣N部件相當(dāng)龐大,需要有良好散熱功能的大機(jī)箱,選擇了Tt Thermaltake Core V51機(jī)箱,標(biāo)配3個(gè)12cm風(fēng)扇。未來(lái)如果需要還可以加裝水冷設(shè)備。

以上就是主要硬件環(huán)境的選擇和安裝。

軟件環(huán)境安裝:

主要安裝了Ubuntu系統(tǒng),CUDA環(huán)境,以及theano、keras環(huán)境

1、安裝ubuntu 14.04(不要安裝麒麟版本)
通過(guò)官網(wǎng)下載iso文件刻錄U盤(pán)安裝,在SSD硬盤(pán)上自動(dòng)安裝完成。
2、安裝cuda 7.5 deb文件(自帶顯卡驅(qū)動(dòng))
2.1 獲取CUDA安裝包,在NVidia官網(wǎng)下載local deb文件。
2.2執(zhí)行如下命令安裝:
    $ sudo dpkg -i cuda-repo-ubuntu1410-7-0-local_7.0-28_amd64.deb
    $ sudo apt-get update
    $ sudo apt-get install cuda
2.3設(shè)置環(huán)境變量:sudo gedit /etc/profile
    $ export PATH=/usr/local/cuda-7.5/bin:$PATH
    $ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
2.4重啟機(jī)器:用其中一個(gè)樣例進(jìn)行驗(yàn)證測(cè)試
    $ cuda-install-samples-7.5.sh ~
    $ cd ~/NVIDIA_CUDA-Samples_7.5/5_Simulations/nbody
    $ make
    $ ./nbody
    或者在sample目錄中make測(cè)試項(xiàng)目1_utility,再運(yùn)行./deviceQuery

3、安裝python以及theano工具
3.1 直接下載安裝anaconda套件64位版本。
    下載后用conda升級(jí)到最新。anaconda自帶openblas,使numpy和theano計(jì)算能達(dá)到最大效能
3.2 修改了theano配置文件,使之缺省由gpu運(yùn)算
在主目錄下新建.theanorc文件
.theanorc中輸入下面的內(nèi)容
[cuda]
root=/usr/local/cuda/bin/
[global]
floatX = float32
device = gpu0
[nvcc]
fastmath = True
3.3 安裝完成后參考如下地址進(jìn)行測(cè)試
THEANO_FLAGS=floatX=float32,device=gpu python `python -c "import os, theano; print os.path.dirname(theano.__file__)"`/misc/check_blas.py
3.4 安裝keras
    通過(guò)anaconda安裝pip install keras
    注意keras依賴的theano是dev版本的,需要從github下源碼來(lái)安裝。注意本系統(tǒng)此時(shí)有兩個(gè)python,所以要寫(xiě)路徑
    sudo /home/user/anaconda/bin/python setup.py develop

4、設(shè)置遠(yuǎn)程服務(wù)器調(diào)用
4.1 安裝ssh,啟動(dòng)服務(wù)
4.2 設(shè)置notebook server
在ipython中如下命令設(shè)置密碼:
from IPython.lib import passwd
passwd()
記下生成的字符串。
創(chuàng)建一個(gè)ipython配置文件,比如起名叫myserver
ipython profile create myserver
vim ~/.ipython/profile_myserver/ipython_notebook_config.py
編輯文件,加入下面幾項(xiàng):
c = get_config()
c.IPKernelApp.pylab = 'inline' #啟動(dòng)inline模式
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:yourhashedpassword'  #把第二步的密碼考進(jìn)來(lái)
c.NotebookApp.port = 6868   #自己設(shè)一個(gè)端口號(hào)
啟動(dòng)服務(wù)
ipython notebook --profile=myserver

4.3 遠(yuǎn)程瀏覽器調(diào)用
遠(yuǎn)程中瀏覽器登陸http://192.168.3.31:6868/,輸入密碼,即可進(jìn)入ipython notebook。
如果需要保持連接,則
nohup ipython notebook --profile=myserver
殺掉連接
lsof nohup.out
kill -9 "PID"

完工!

最后的硬件配置:
CPU: Intel X99平臺(tái) i7 5960K
內(nèi)存: DDR4 2800 32G(8G*4)
主板: GIGABYTE X99-UD4
顯卡: GTX Titan X
硬盤(pán): SSD+普通硬盤(pán)

系統(tǒng)和軟件
操作系統(tǒng): Ubuntu 14.04.3 x64
CUDA: 7.5
Anaconda 2.3
Theano 7.0
Keras 2.0

參考資料:
http:///2014/08/14/which-gpu-for-deep-learning/
http:///2015/03/09/deep-learning-hardware-guide/
http://graphific./posts/running-a-deep-learning-dream-machine/
http://docs./cuda/cuda-quick-start-guide/index.html#ubuntu-x86_64-deb
http:///software/theano/tutorial/using_gpu.html#cuda

之前網(wǎng)上找到另一種安裝theano方式是自行安裝組件。但嘗試未成功,有可能是因?yàn)镃PU等硬件不同,可能需要自行編譯安裝openblas,numpy, scipy, theano等環(huán)境,極為繁瑣。最后還是直接用Anaconda方便。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    亚洲最新一区二区三区| 亚洲综合色婷婷七月丁香| 老司机激情五月天在线不卡| 激情丁香激情五月婷婷| 亚洲欧美日韩在线中文字幕| 亚洲国产av在线观看一区| 千仞雪下面好爽好紧好湿全文 | 欧美丰满大屁股一区二区三区| 欧美一区二区三区在线播放| 成人免费视频免费观看| 欧美日韩亚洲精品内裤| 懂色一区二区三区四区| 亚洲深夜精品福利一区| 午夜国产福利在线播放| 国产精品欧美激情在线观看| av在线免费观看一区二区三区| 太香蕉久久国产精品视频| 九九热九九热九九热九九热| 最近的中文字幕一区二区| 欧美日韩精品一区免费| 国产日韩在线一二三区| 欧美黑人在线精品极品| 久久国内午夜福利直播| 成人精品视频一区二区在线观看| 久久国产青偷人人妻潘金莲| 日韩精品一级片免费看| 91一区国产中文字幕| 99久久免费中文字幕| 日韩精品你懂的在线观看| 91在线播放在线播放观看| 欧洲亚洲精品自拍偷拍| 久久经典一区二区三区| 久久热中文字幕在线视频| 日韩不卡一区二区在线| 欧美亚洲91在线视频| 国产日产欧美精品视频| 欧美高潮喷吹一区二区| 亚洲中文字幕免费人妻| 欧美日韩精品视频在线| 亚洲最大的中文字幕在线视频| 91插插插外国一区二区婷婷|