星云文库
NEWS
﹀
﹀
本文作者RoelofPieters是瑞典皇家理工学院InstituteofTechnologyConsultantforGraph-Technologies研究深度学习的一位在读博士,他同时也运营着本身的面向客户的深度学习产物。对于写作这个系列文章的动机,他写道:「我已经风俗了在云上工作,而且还将继承在云上开辟面向产物的体系/算法。但是在更面向研究的任务上,基于云的体系还存在一些缺陷,由于在研究时你要做的根本上就是实行各种各样的算法和架构,而且必要快速改进和迭代。为了做到这一点,我决定本身利用GPU计划和打造本身的量身定制的深度学习体系。在这一些方面这比我想象的简单,但另一些方面却更困难。在接下来的文章中,我会和你分享我的『冒险之旅』,不关你是深度学习实践的新手还是老手,盼望这都对你有效。」
第一部分:硬件平台搭建
假如你像我一样,每天(和每夜)都在和实际的呆板学习应用打交道,你就知道在完成一项任务时假如没有符合的硬件会有多么痛楚。不管你是业界人士还是在学术界工作,为了一项实行或盘算的结果等待不须要长的时间总是会让人感到烦恼。对于用于生产的研究和开辟,高速硬件是必须的,而GPU通常是我们所面对的重要瓶颈,尤其对于深度神经网络(DNN)更是云云。是的,确实是如许:亚马逊如许的云提供商以低于每小时1美元的代价出售可以实行GPU盘算的实例和可以导出、共享和重复利用的可以直接举行生产的假造机。假如你常常重新开始安装库,你大概知道软件和硬件库都可以利用定期更新的安装脚本或dockerized容器轻松地完成安装。这些都还不错。但是假如一个应用的需求高出了亚马逊所能提供的4GBGPU呢(纵然他们最新的g2.8xlarge仍旧也只提供同样的4GBGPU)?别的云提供商也很少提供更大的GPU(通常是6GB),而且好像都是专门为特定的应用(视频版或生物科学)定制的。
那么假如你有这种需求,你该怎么做呢?很简单,搭建你本身的GPU平台!
目次
·相识你的研究
·起步:选择精确的组件
·将它们组装到一起
·DIY或寻求资助
·选项A:DIY
·选项B:外界资助
相识你的研究
一旦我决定了搭建我本身的GPU体系时,我起首想到的是:为什么要这么贫苦本身去搭建一个呢,英伟达不是刚发布了其强大的DevBox吗,而且还大概有别的供应商也在为深度学习应用做同样的事?
确实云云,也有一些别的公司在生产面向研究的呆板,但它们都不面向欧洲发售。英伟达的DevBox也仅在美国出售,而且代价还高得离谱(约莫9000美元的硬件组件售价1.5万美元),而且还要列队等待。
以是该怎么办呢?简单:搭建你本身的GPU平台!
起步:选择精确的组件
欣赏网络时我发现TimDettmers的博客(https://timdettmers.com/)很好地讲授了如作甚深度学习应用选择符合的GPU和硬件。在这里我不筹划将他说过的内容再完全重复一遍。你可以本身去他的博客看!文章和下面的批评都值得一读。
简而言之:
·双精度(比如英伟达的TeslaK20/40/80)美满是浪费钱,由于DNN不必要如许的精度;
·想想你如今和将来必要多少个GPU。4个GPU是最多了,由于再多也不能再带来太多性能增益了。这重要是由于最好的主板最多只支持最多40个通道(以16x8x8x8的设置)。别的,每个GPU都会增长肯定的管理工作——你的体系必要决定利用哪个GPU来实行哪项任务。
·获取一个支持PCIe3.0的主板,它还要支持一根线缆上带有8pin+6pin的PCIe电源毗连器,如许你才华添加到4个GPU。主板还应该支持你的GPU设置,即支持x8/x8/x8/x8的4GPU设置的物理线路;
·找一个能把全部东西都装进去的机箱。越大的机箱氛围活动就越好。确保有充足的PCIe槽以支持全部GPU以及别的你大概必要安装的PCIe卡(比如高速千兆网卡等)。一个GPU通常会占据2个PCIe插槽的空间。一个典范的机箱必要有7个PCIe槽,由于末了一个安装在底部的GPU可以仅利用一个槽。
·CPU不必要非常快,也不必要有很多核。只必要确保CPU的核数至少是你的GPU的数量的两倍就可以了(再次夸大:要思量将来的利用环境;英特尔的CPU通常一个核有两个线程)。还要确保该CPU支持40个PCIe通道,一些新的HaswellCPU只支持32个;
·RAM巨细是你的全部GPU内存之和的两倍;
·SSD很不错,但除非决定有须要才用——假如你加载的数据无法配入到GPU内存和RAM的组合中。假如你确实要利用一个SSD,它的容量至少应该大于你最大的数据集;
·至于平凡的机器硬盘,你大概必要大量的磁盘空间来存储你的数据集和别的范例的数据。假如你必要至少3个同样巨细的磁盘,RAID5就很不错。根本上一旦发生单个错误时,你不会丢失你的数据。用于提拔性能的RAID0等别的RAID设置通常没多大用处:你可用SSD提速,而且它已经高出了你的GPU通过PCIe带宽加载数据的速率;
·至于供电单位(PSU),只要你负担得起,就尽大概选一个最高效的,而且要把你所必要的总功率思量在内(要思量将来的利用):钛或铂金品格的PSU值得你费钱购买:你能省钱和掩护环境,由于其所节流的电力开销用不了多久就能把你的额外购买本钱节流返来。对于4GPU体系,你大概必要1500到1600W;
·冷却黑白常非常紧张的,由于它会同时影响到性能和噪音。你必要不停将GPU的温度保持在80度(约26.7摄氏度)以下。更高的温度会拉低该单位的电压并影响到性能。别的,太高的温度也对你的GPU有害;这是你必要克制的。冷却有两种重要选项:风冷(风扇)和水冷(管道):
o风冷更自制、安装和维护更简单、但会制造大量噪音;
o水冷代价更高、难以精确安装,但没有任何噪音,而且对组件的冷却结果也好得多。但你总归必要机箱风扇来冷却别的组件,以是你总会听到一些噪音,但会比全风冷的体系的噪音小。
将它们组装到一起
根据我读到的内容、TimDettmers的复兴和英伟达的DevBoxandGamer论坛的发起,我开始将这些组件组装到一起。很显着这台呆板受到了英伟达DevBox的部分开导(至少机箱是如许),但代价差不多只有DevBox的一半。
·机箱:CarbideAir540HighAirflowATXCube
·主板:华硕X99-EWS工作站级主板,带有4路PCI-EGen3x16支持
·RAM:64GBDDR4Kingston2133Mhz(8x8GB)
·CPU:Intel(Haswell-e)Corei75930K(https://ark.intel.com/products/82931/Intel-Core-i7-5930K-Processor-15M-Cache-up-to-3_70-GHz)(6Core3.5GHz)
·GPU:3块NVIDIAGTXTITAN-X12GB
·HDD:3块RAID5设置的3TBWDRed
·SSD:2块500GBSSDSamsungEVO850
·PSU:CorsairAX1500i(1500W)80PlusTitanium(94%的能效)
·冷却:用于CPU和GPU的自制水冷体系(软管):在机箱顶部钻了一个注水孔,前面有一个透明的储水器(见下图)
左图:正在构建中的体系。你可以看到用于水冷的塑料管穿过CarbideAir540机箱上本来就有的孔洞。主板是竖直安装的。
中图和右图:制作好的体系。留意可以从表面看到的储水器。还可以看到从上至下的赤色塑料管:上连注水口,下接水泵,穿过安装在GPU上的散热器模块。还可以看到CPU上有一个雷同的布局。
DIY或寻求资助
选项A:DIY
固然,假如你偶然间和意愿本身动手打造全部的统统,这将成为你完全明白各个组件的工作方式以及哪些硬件可以很好适配的绝佳方法。别的,你也大概能更好地明白当组件出现故障时应该做什么并更轻松地修复它。
选项B:外界资助
另一种选择是探求专业的公司预定零件并让他们资助组装好整个体系。你要探求的这类公司应该是定制游戏机电脑的公司,他们常常为游戏玩家打造定制化的体系。他们乃至有水冷体系的履历,只管游戏机电脑通常只必要水冷CPU,但他们会有很好用的工具套件。固然,为了安装全水冷体系,你必要将GPU外壳打开,将芯片袒露出来安装散热片,再装上水管、压缩机帽等等各种所需的组件。不外水冷也有贫苦的地方:一旦出现漏水,你的GPU和别的组件就会被粉碎。
由于我以为我不能将这些东西装在一起以及精确地安装水寒气体系,而且我还没有多少时间阅读操纵手册,以是我选择了第二种方案:找了一个非常纯熟的硬件打造商帮我组装了我的深度学习呆板的第一个版本。
第二部分:安装软件和库
目次
软件和库
1.安装CUDA
2.测试CUDA
4.深度学习库
软件和库
如今,我们有了一台裸机,是时间安装软件了!网上已有有了一些好的博文引导安装深度学习工具和库。为了简单化,我临时把一些要旨放在一起。这篇个文章将资助你安装英伟达CUDA驱动,以及我青睐的一些深度学习工具与库。别的,我也假设你已经在电脑上安装了Ubuntu14.04.3作为操纵体系。
1.安装CUDA
让图像驱动程序能正常工作是一件很痛楚的事。我当时的题目是TitanXGPU只能得到Nvidia346的支持,这些驱动不能在我特定的监控器下工作。颠末一些xconfig改装,我终于让它能在高于800×600的分辨率下工作了,我利用了LINUXX64(AMD64/EM64T)DISPLAYDRIVER352.30版本作为图像驱动。
设置演示安装的是CUDA7.0,我选择安装最新的CUDA7.5。固然该版本简直有所改进,但在一些库上也难以正常工作。假如你想快速启动并运行,可以实行7.0版本。
!/usr/bin/envbash
#InstallationforCudaanddriversonUbuntu14.04,byRoelofPieters(@graphific)
#BSDLicense
if["$(whoami)"=="root"];then
echo"runningasroot,pleaserunasuseryouwanttohavestuffinstalledas"
exit1
fi
###################################
#Ubuntu14.04Installfor:
#-NvidiagraphicdriversforTitanX:352
#-Cuda7.0(7.5gives"outofmemory"issues)
#-CuDNN3
#-Theano(bleedingedge)
#-Torch7
#-ipythonnotebook(runningasservicewithcircusauto(re)bootonport8888)
#-itorchnotebook(runningasservicewithcircusauto(re)bootonport8889)
#-Caffe
#-OpenCV3.0goldrelease(vs.2015-06-04)
#-Digits
#-Lasagne
#-Nolearn
#-Keras
###################################
#startedwithabareubuntu14.04.3LTSinstall,withonlyubuntu-desktopinstalled
#willinstallthebareminimum,withall"extras"inaseperatevenv
exportDEBIAN_FRONTEND=noninteractive
sudoapt-getupdate-y
sudoapt-getinstall-ygitwgetlinux-image-genericbuild-essentialunzip
#manualdriverinstallwith:
#sudoservicelightdmstop
#(loginonnongraphicalterminal)
#wgethttps://uk.download.nvidia.com/XFree86/Linux-x86_64/352.30/NVIDIA-Linux-x86_64-352.30.run
#chmod+x./NVIDIA-Linux-x86_64-352.30.run
#sudo./NVIDIA-Linux-x86_64-352.30.run
#Cuda7.0
#insteadweinstallthenvidiadriver352fromthecudarepo
#whichmakesiteasierthanstoppinglightdmandinstallinginterminal
cd/tmp
wgethttps://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_amd64.deb
sudodpkg-icuda-repo-ubuntu1404_7.0-28_amd64.deb
echo-e"\nexportCUDA_HOME=/usr/local/cuda\nexportCUDA_ROOT=/usr/local/cuda"~/.bashrc
echo-e"\nexportPATH=/usr/local/cuda/bin:\$PATH\nexportLD_LIBRARY_PATH=/usr/local/cuda/lib64:\$LD_LIBRARY_PATH"~/.bashrc
echo"CUDAinstallationcomplete:pleaserebootyourmachineandcontinuewith#2"
2.测试CUDA
完成安装了?很好,接下来让我们看一下CUDA驱动是否可以或许正常工作。直接进入CUDA样本目次,运行./deviceQuery。你的GPU应该会被表现如下:
#!/usr/bin/envbash
#TestforcheckingifCudaandDriverscorrectlyinstalledonUbuntu14.04,byRoelofPieters(@graphific)
#BSDLicense
if["$(whoami)"=="root"];then
echo"runningasroot,pleaserunasuseryouwanttohavestuffinstalledas"
exit1
fi
###################################
#Ubuntu14.04Installfor:
#-NvidiagraphicdriversforTitanX:352
#-Cuda7.0(7.5gives"outofmemory"issues)
#-CuDNN3
#-Theano(bleedingedge)
#-Torch7
#-ipythonnotebook(runningasservicewithcircusauto(re)bootonport8888)
#-itorchnotebook(runningasservicewithcircusauto(re)bootonport8889)
#-Caffe
#-OpenCV3.0goldrelease(vs.2015-06-04)
#-Digits
#-Lasagne
#-Nolearn
#-Keras
###################################
#startedwithabareubuntu14.04.3LTSinstall,withonlyubuntu-desktopinstalled
#willinstallthebareminimum,withall"extras"inaseperatevenv
exportDEBIAN_FRONTEND=noninteractive
#Checkingcudainstallation
#installingthesamplesandcheckingtheGPU
cuda-install-samples-7.0.sh~/
cdNVIDIA\_CUDA-7.0\_Samples/1\_Utilities/deviceQuery
make
#SamplesinstalledandGPU(s)Found?
./deviceQuery|grep"Result=PASS"
greprc=$?
if[[$greprc-eq0]];then
echo"CudaSamplesinstalledandGPUfound"
echo"youcanalsocheckusageandtemperatureofgpuswithnvidia-smi"
else
if[[$greprc-eq1]];then
echo"CudaSamplesnotinstalled,exiting..."
exit1
else
echo"Somesortoferror,exiting..."
exit1
fi
fi
echo"nowwouldbetimetoinstallcudnnforaspeedup"
echo"unfortunatelyonlyavailablebyregisteringonnvidiaswebsite:"
echo"https://developer.nvidia.com/cudnn"
echo"deeplearninglibrariescanbeinstalledwithfinal#3"
3.深度学习库
好了,来到末了一步,它也是很风趣的一部分:选择个人偏好的深度学习库,这也是由地点范畴所决定的。
·作为研究职员,Theano能给你最大的自由度,做本身想做的事。你可以本身摆设很多事,也因此更能深度明白DNN怎样工作。但对想起首实行下的初学者来说大概不符合。
·我个人是Keras(重要贡献者:FrançoisChollet,已经参加了谷歌)和Lasagne(8个人的团队,但重要贡献者是SanderDielemans,近期读完了博士,如今参加了谷歌DeepMind)的粉丝。这两个库有很好的抽象程度,也被积极的开辟,也提供插入本身模块或代码工程的简单方式。
·假如你风俗Python,那利用Torch会具有挑衅性,由于你必要学习Lua。在利用Torch一段时间之后,我可以说它是一个很好利用的语言。唯逐一个题目是从其他语言接入到Lua很难。对研究目标,Torch表现也很好。但对生产程度管道而言,Torch难以举行测试,而且看起来完全缺乏任何范例的错误处理惩罚。Torch积极的一面有:支持CUDA,有很多可以利用的程序包。Torch看起来也是财产内利用最广泛的库。Facebook(RonanCollobertSoumithChintala)、DeepMind(KorayKavukçuo?lu)、Twitter(ClementFarabet)的这些人都是重要贡献者。
·Caffe是之前占据主导职位的深度学习框架(重要用于Convnets),如今仍在被广泛利用,也是一个可以作为开始的很好的框架。练习制度(solver.prototxt)与架构(trainval.prototxt)文档之间的分离使得实行更轻易举行。我发现Caffe也是唯逐一个支持利用电脑外多GPU的框架,你可以穿过GPU或GPUid参数利用全部可用的GPU。
·Blocks是近来的一款基于Python的框架,很好的分离了本身编写的模块与被称为Brick的模块。特别是其partner「Fuel」,是一个处理惩罚数据的很好方式。Fuel是一个对很多已有的或你本身的数据集的wrapper。它利用「iterationschemes」将数据导流到模子中,并可以「transformers」全部范例的数据转换和预处理惩罚步调。
Neon是NervanaSystem公司基于Python的深度学习框架,创建在Nervana的GPUKernel(对英伟达CuDNN的更换)之上。Neon是运行该特别Kernel的唯一框架,最新的基准测试表现在一些特定任务上它是最快的。
展示深度学习库(面向Python)的另一种方式:从更低条理的DIY到更高条理的、更功能性的框架。
预备好了吗?下面的脚本将安装Theano、Torch、Caffe、Digits、Lasange、Keras。我们之前用过Digits,但它是一个创建在Caffe之上的图形网页接口。这相称的底子,但假如你刚开始的话,练习一些ConvNets以及创建一些图形分类器会是很简单的方法。
#!/usr/bin/envbash
#InstallationforDeepLearningLibrariesonUbuntu14.04,byRoelofPieters(@graphific)
#BSDLicense
orig_executor="$(whoami)"
if["$(whoami)"=="root"];then
echo"runningasroot,pleaserunasuseryouwanttohavestuffinstalledas"
exit1
fi
###################################
#Ubuntu14.04Installfor:
#-NvidiagraphicdriversforTitanX:352
#-Cuda7.0(7.5gives"outofmemory"issues)
#-CuDNN3
#-Theano(bleedingedge)
#-Torch7
#-ipythonnotebook(runningasservicewithcircusauto(re)bootonport8888)
#-itorchnotebook(runningasservicewithcircusauto(re)bootonport8889)
#-Caffe
#-OpenCV3.0goldrelease(vs.2015-06-04)
#-Digits
#-Lasagne
#-Nolearn
#-Keras
###################################
exportDEBIAN_FRONTEND=noninteractive
sudoapt-getinstall-ylibncurses-dev
#nextpartcopiedfrom(checktherefornewestversion):
#https://github.com/deeplearningparis/dl-machine/blob/master/s/install-deeplearning-libraries.sh
####################################
#Dependencies
####################################
#BuildlateststablereleaseofOpenBLASwithoutOPENMPtomakeitpossible
#tousePythonmultiprocessingandforkswithoutcrash
#ThetorchinstallwillinstallOpenBLASwithOPENMPenabledin
#/opt/OpenBLASsoweneedtoinstalltheOpenBLASusedbyPythonina
#distinctfolder.
#Note:themasterbranchonlyhasthereleasetagsinit
sudoapt-getinstall-ygfortran
exportOPENBLAS_ROOT=/opt/OpenBLAS-no-openmp
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OPENBLAS_ROOT/lib
if[!-d"OpenBLAS"];then
gitclone-q--branch=mastergit://github.com/xianyi/OpenBLAS.git
(cdOpenBLAS\
makeFC=gfortranUSE_OPENMP=0NO_AFFINITY=1NUM_THREADS=$(nproc)\
sudomakeinstallPREFIX=$OPENBLAS_ROOT)
echo"exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH"~/.bashrc
fi
sudoldconfig
#Pythonbasics:updatepipandsetupavirtualenvtoavoidmixingpackages
#installedfromsourcewithsystempackages
sudoapt-getupdate-y
sudoapt-getinstall-ypython-devpython-piphtop
sudopipinstall-Upipvirtualenv
if[!-d"venv"];then
virtualenvvenv
echo"source~/venv/bin/activate"~/.bashrc
fi
sourcevenv/bin/activate
pipinstall-Upip
pipinstall-Ucircuscircus-webCythonPillow
#Checkoutthisprojecttoaccessinstallationandadditionalresources
if[!-d"dl-machine"];then
gitclonegit@github.com:deeplearningparis/dl-machine.git
(cddl-machinegitremoteaddhttphttps://github.com/deeplearningparis/dl-machine.git)
else
if["$1"=="reset"];then
(cddl-machinegitreset--hardgitcheckoutmastergitpull--rebase$REMOTEmaster)
fi
fi
#BuildnumpyfromsourceagainstOpenBLAS
#Youmightneedtoinstallliblapack-devpackageaswell
#sudoapt-getinstall-yliblapack-dev
rm-f~/.numpy-site.cfg
ln-sdl-machine/numpy-site.cfg~/.numpy-site.cfg
pipinstall-Unumpy
#BuildscipyfromsourceagainstOpenBLAS
rm-f~/.scipy-site.cfg
ln-sdl-machine/scipy-site.cfg~/.scipy-site.cfg
pipinstall-Uscipy
#Installcommontoolsfromthescipystack
sudoapt-getinstall-ylibfreetype6-devlibpng12-dev
pipinstall-Umatplotlibipython[all]pandasscikit-image
#Scikit-learn(genericmachinelearningutilities)
pipinstall-egit+git://github.com/scikit-learn/scikit-learn.git#egg=scikit-learn
####################################
#OPENCV3
####################################
#fromhttps://rodrigoberriel.com/2014/10/installing-opencv-3-0-0-on-ubuntu-14-04/
#for2.9seehttps://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/
cd~/
sudoapt-get-yinstalllibopencv-devbuild-essentialcmakegitlibgtk2.0-dev\
pkg-configpython-devpython-numpylibdc1394-22libdc1394-22-devlibjpeg-dev\
libpng12-devlibtiff4-devlibjasper-devlibavcodec-devlibavformat-dev\
libswscale-devlibxine-devlibgstreamer0.10-devlibgstreamer-plugins-base0.10-dev\
libv4l-devlibtbb-devlibqt4-devlibfaac-devlibmp3lame-devlibopencore-amrnb-dev\
libopencore-amrwb-devlibtheora-devlibvorbis-devlibxvidcore-devx264v4l-utilsunzip
wgethttps://github.com/Itseez/opencv/archive/3.0.0.tar.gz-Oopencv-3.0.0.tar.gz
tar-zxvfopencv-3.0.0.tar.gz
cdopencv-3.0.0
mkdirbuild
cdbuild
cmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_INSTALL_PREFIX=/usr/local-DWITH_TBB=ON-DBUILD_NEW_PYTHON_SUPPORT=ON-DWITH_V4L=ON-DWITH_QT=ON-DWITH_OPENGL=ON..
make-j$(nproc)
sudomakeinstall
sudo/bin/bash-c'echo"/usr/local/lib"/etc/ld.so.conf.d/opencv.conf'
sudoldconfig
ln-s/usr/lib/python2.7/dist-packages/cv2.so/home/$orig_executor/venv/lib/python2.7/site-packages/cv2.so
echo"opencv3.0installed"
####################################
#Theano
####################################
#installingtheano
#Bydefault,TheanowilldetectifitcanusecuDNN.Ifso,itwilluseit.
#TogetanerrorifTheanocannotusecuDNN,usethisTheanoflag:optimizer_including=cudnn.
pipinstall-egit+git://github.com/Theano/Theano.git#egg=Theano
if[!-f".theanorc"];then
ln-s~/dl-machine/theanorc~/.theanorc
fi
echo"InstalledTheano"
#Tutorialfiles
if[!-d"DL4H"];then
gitclonegit@github.com:SnippyHolloW/DL4H.git
(cdDL4Hgitremoteaddhttphttps://github.com/SnippyHolloW/DL4H.git)
else
if["$1"=="reset"];then
(cdDL4Hgitreset--hardgitcheckoutmastergitpull--rebase$REMOTEmaster)
fi
fi
####################################
#Torch
####################################
if[!-d"torch"];then
curl-skhttps://raw.githubusercontent.com/torch/ezinstall/master/install-deps|bash
gitclonehttps://github.com/torch/distro.git~/torch--recursive
(cd~/torchyes|./install.sh)
fi
.~/torch/install/bin/torch-activate
if[!-d"iTorch"];then
gitclonegit@github.com:facebook/iTorch.git
(cdiTorchgitremoteaddhttphttps://github.com/facebook/iTorch.git)
else
if["$1"=="reset"];then
(cdiTorchgitreset--hardgitcheckoutmastergitpull--rebase$REMOTEmaster)
fi
fi
(cdiTorchluarocksmake)
cd~/
gitclonehttps://github.com/torch/demos.gittorch-demos
#qtdependency
sudoapt-getinstall-yqt4-dev-toolslibqt4-devlibqt4-corelibqt4-gui
#mainluarockslibs:
luarocksinstallimage#animagelibraryforTorch7
luarocksinstallnnx#lotsofextraneural-netmodules
luarocksinstallunup
echo"InstalledTorch(demosin$HOME/torch-demos)"
#RegisterthecircusdaemonwithUpstart
if[!-f"/etc/init/circus.conf"];then
sudoln-s$HOME/dl-machine/circus.conf/etc/init/circus.conf
sudoinitctlreload-configuration
fi
sudoservicecircusrestart
cd~/
##Nextpart...
####################################
#Caffe
####################################
sudoapt-getinstall-ylibprotobuf-devlibleveldb-dev\
libsnappy-devlibopencv-devlibboost-all-devlibhdf5-serial-dev\
libgflags-devlibgoogle-glog-devliblmdb-devprotobuf-compiler\
libatlas-base-devlibyaml-dev
gitclonehttps://github.com/BVLC/caffe.git
cdcaffe
forreqin$(catpython/requirements.txt);dopipinstall$req-U;done
makeall
makepycaffe
cdpython
pipinstallnetworkx-U
pipinstallpillow-U
pipinstall-rrequirements.txt
ln-s~/caffe/python/caffe~/venv/lib/python2.7/site-packages/caffe
echo-e"\nexportCAFFE_HOME=/home/$orig_executor/caffe"~/.bashrc
echo"InstalledCaffe"
####################################
#Digits
####################################
#NvidiaDigitsneedsaspecificversionofcaffe
#soyoucaninstallthevenvversionbyNvidiauifyouregister
#withcudnn,cuda,andcaffealreadypackaged
#insteadwewillinstallfromscratch
cd~/
gitclonehttps://github.com/NVIDIA/DIGITS.gitdigits
cddigits
pipinstall-rrequirements.txt
sudoapt-getinstallgraphviz
echo"digitsinstalled,runwith./digits-devserveror./digits-server"
####################################
#Lasagne
#https://github.com/Lasagne/Lasagne
####################################
gitclonehttps://github.com/Lasagne/Lasagne.git
cdLasagne
pythonsetup.pyinstall
echo"Lasagneinstalled"
####################################
#Nolearn
#asbtractions,mainlyaroundLasagne
#https://github.com/dnouri/nolearn
####################################
gitclonehttps://github.com/dnouri/nolearn
cdnolearn
pipinstall-rrequirements.txt
pythonsetup.pyinstall
echo"nolearnwrapperinstalled"
####################################
#Keras
#https://github.com/fchollet/keras
#https://keras.io/
####################################
gitclonehttps://github.com/fchollet/keras.git
cdkeras
pythonsetup.pyinstall
echo"Kerasinstalled"
echo"alldone,pleaserestartyourmachine..."
#possibleissuesfixes:
#-skimage:issuewith"notfindingjpegdecoder?"
#"PIL:IOError:decoderzipnotavailable"
#(https://github.com/python-pillow/Pillow/issues/174)
#sudoapt-getinstalllibtiff5-devlibjpeg8-devzlib1g-dev\
#libfreetype6-devliblcms2-devlibwebp-devtcl8.6-devtk8.6-devpython-tk
#nexttry:
#pipuninstallpillow
#gitclonehttps://github.com/python-pillow/Pillow.git
#cdPillow
#pythonsetup.pyinstall
动图
我要评论