aws cudaec2可以安装cuda吗

Ubuntu下cuda驱动安装与卸载
# Jason Gao # # Now in Xidian University开机进入Recovery模式(shift)手动mount mount -o remount,rw / chmod 777 cudadriver.run ./cudadriver.run安装驱动 chmod 777 cudadriver.run ./cudadriver.run卸载驱动 ./cudadriver.run --uninstallTips: cuda驱动里面自带nvidia显卡驱动,安装cuda驱动时会询问是否安装
最新教程周点击榜
微信扫一扫3504人阅读
deep learning--caffe
& &&本人是linux新手,在历时两个星期的纠结的caffe安装之路后,终于在昨天成功用上了caffe!先说说我的电脑配置吧,戴尔Optiplex 990主机,Q67主板,Geforce GTX960 显卡。这一系列的主机特别坑爹,我装上显卡后系统就切不了tty界面了,后面想在Bios里面启用集显禁用独显,结果发现这台主机没有切换显卡的功能!所幸后面找到了解决方法(在下文有)。总之,这次的安装之路让我明白坚持才是最重要的,还有,就是不要老想着重装系统,重装系统并不会彻底解决问题,如果不去解决bug的话,就永远会有未知的新bug等着你。
1& CUDA的安装
CUDA的安装包括很多种方法。由于像freeglut3-dev这些库在当前的ubuntu14.04系统中安装不了,但在Kubuntu系统中可以安装,因此可以在这两个系统中安装CUDA的方法不一样。
1.1&&&&&&&&&&Kubuntu14.04系统+cuda手动安装
首先验证你是否有nvidia的显卡(个网站查看你是否有支持gpu的显卡):&lspci|grep -i nvidia
&& 查看你的linux发行版本(主要是看是64位还是32位的):$uname –m && cat/etc/*release
&& 看一下gcc的版本:$gcc –version
(<span style="color:#)准备好CUDA&Toolkit(在此之前千万不要更新系统!!!)
根据官网介绍,之前安装的版本都会有冲突的嫌疑,所以之前安装的Toolkit和Drievers就得卸载,屏蔽,等等。
$ sudo apt-get--purgeremove&*&
(由于我的是新系统,此步省略)
(<span style="color:#)安装一些必要的库:
在此之前先sudo apt-getupdate
&&&&&sudo&apt-get&install&freeglut3-dev&build-essential&libx11-dev&libxmu-dev&&libxi-dev&libgl1-mesa-glx&libglu1-mesa&libglu1-mesa-dev&&
(<span style="color:#)禁掉nouveau:
&&&&&在/etc/modprobe.d/blacklist.conf最后一行加上&blacklist&nouveau
&&&&&禁了nouveau之后有时要重启下电脑才生效
(<span style="color:#)切换到tty1(ctrl&#43;alt&#43;F1)
关闭GUI:&sudo&service&lightdm&stop
在此遇到一个问题:自从Kubuntu14.04装上Nvidia的GTX 960显卡驱动后,C&#43;A&#43;F1就无法启动tty终端了。准确的说,是黑屏,无法显示任何东西,但是可以操作,盲打可以登陆。切换回X后,用w命令可以察看到已经登陆了。
————————————————————————————
nvidia的显卡:
修改/etc/initramfs-tools/modules
nvidiafb三行
再修改/etc/modprobe.d/blacklist-framebuffer文件
把nvidiafb,vesafb,vga16fb三行注释掉
运行sudo update-initramfs -u重启电脑就好
—————————————————————————
我的没vga16fb这一行,就无视掉了。
另外我考虑到也可能是分辨率的问题,所以去&/etc/default/grub里把GRUB_CMDLINE_LINUX=&&加了个参数,改为GRUB_CMDLINE_LINUX=&vga=792&,792代表的是分辨率的十六进制0x0318代码。
然后更新grub:update-grub,重启。
就可以了。
(5)更改CUDA&Toolkit执行权限:
&&&&&sudo&chmod&&#43;x&cuda-7.0.28_linux_64.run&
(6)执行CUDA安装文件:
&&&&&sudo&./cuda-7.0.28_linux_64.run&&--no-opengl-libs
(If&the&target&system&includes&both&an&integrated&GPU&(iGPU)&and&a&discrete&GPU
(dGPU),&the&--no-opengl-libs&option&must&be&used.&Otherwise,&the&openGL&library&used
by&the&graphics&driver&of&the&iGPU&will&be&overwritten&and&the&GUI&will&not&work.&In
addition,&the&xorg.conf&update&at&the&end&of&the&installation&must&be&declined.)
(7)切换回GUI:
&&&&&sudo&service&lightdm&start
(8)成功切回GUI后添加环境变量:
打开你的.bashrc文件:
sudo vi& ~/.bashrc
加入下列语句
$ exportPATH=/usr/local/cuda-7.0/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/-7.0/lib64:$LD_LIBRARY_PATH
检查是否设置成功:
$ echo $PATH
$ echo$LD_LIBRARY_PATH
(9)检验:
查看显卡的驱动版本:cat&/proc/driver/nvidia/version&&
查看nvcc编译器的版本:nvcc&-V&i&&
编译cuda的示例代码:&& cd&~/NVIDIA_CUDA-7.0_Samples&&
然后make一下编译代码:make all
进入bin路径:
cd&~/NVIDIA_CUDA-7.0_Samples/bin&&
(cd&/home/lin/NVIDIA_CUDA-7.0_Samples/bin/x86_64/linux/release)
然后运行deviceQuery文件: ./&deviceQuery&&
如果提示nvcc未安装,其实是-cuda-toolkit的没有安装完整,则按照提示操作:
$ sudo apt-get installnvidia--toolkit
1.2& ubuntu系统&#43;CUDA&deb包安装
首先在官网上下载CUDA的deb包
下载完成之后可以使用如下命令安装它,注意文件名修改为cuda-repo-ubuntu-28_amd64.deb&
命令:sudo dpkg –Icuda-repo-ubuntu-28_amd64.deb
安装好仓库之后,就可以更新你的本地仓库:sudoapt-get update
最后开始安装cuda以及显卡驱动(安装cuda的同时就会把显卡驱动也全部安装好)
sudoapt-get install cuda
不出意外的话,按照上面步骤可以成功安装cuda,这跟其他手工安装cuda的方法相比,实在是太方便了,至于为什么按照这个方法可行的具体原因还不知道。
安装完之后你需要设置环境变量的方法与1.1的方法相同,这里就不赘述了。
设置完毕之后,你还可以选择是否安装cuda附带的示例代码(&dir&表示你要安装的位置,你可以将&dir&替换成~):
$&cuda-install-samples-7.0.sh&&dir&&&
然后检验。
1.3&&&&&&&&&ubuntu系统&#43;手动安装cuda
1.3.1 安装NVIDIA驱动
(1)更新系统:sudo apt-get update && sudo apt-get upgrade
&&&&&&&&&&& &&&sudoapt-get install build-essential
(2)从nvidia官网上下载cuda安装包(cuda_7.0.28_linux.run文件)
(3)解压run文件:
chmod &#43;x cuda_7.0.28_linux.run
&&&&& mkdir nvidia_installers
&&&&& ./cuda_7.0.28_linux.run –extract=`pwd`/nvidia_installers
(4)更新与nvidia驱动相匹配的linux image:
&&sudo apt-get install linux-image-extra-virtual
(安装linux-image-extra-virtual的时候,可能会询问:What would you like to do aboutmenu.lst? 选择”keep the local version currentlyinstalled”)
(5)禁掉nouveau:
创建blacklist-nouveau.conf文件:
sudo vi/etc/modprobe.d/blacklist-nouveau.conf
将下列语句加入文件:
blacklist nouveau
blcklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
回到终端:
echo options nouveau modeset=0 | sudo tee –a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs –u
sudo reboot
(6)重启后,切换到tty1界面并关闭GUI:
&sudo&service&lightdm&stop
(7)sudo apt-get install linux-source
sudo apt-get installlinux-headers-`uname -r`
(8)安装驱动:
cd nvidia_installers
sudo ./NVIDIA-Linux-x86_64-346.46.run
如果有“nvidia-installer was forced toguess the X library path ‘/usr/lib’and X module path …”,继续并点击OK.
如果有“The CC version check failed”点击“ignore CC version check”.
如果有问你关于32-bit libraries,选择yes,并安装它们.
如果问你关于“running nvidia –xconfig to updateyour X configuration file”,选择no.
运行 nvidia –smi 来查看已安装的GPU.
1.3.2& 安装CUDA
&&sudo modprobe nvidia
&&sudo apt-get install build-essential
&&sudo ./cuda-linux64-rel-7.0.28-.run
运行结束后,切换回GUI:
&&&&&sudo&service&lightdm&start
成功切回GUI后添加环境变量:
&&sudo vi ~/.bashrc
&&export PATH=$PATH:/usr/local/cuda-7.0/bin
&&export LD_LIBRARY_PATH=:/usr/local/cuda-7.0/lib64
保存.bashrc文件后运行source ~/.bashrc
1.3.3 安装cuda sample
sudo./cuda-samples-linux-7.0.28-.run
cd/usr/local/cuda-6.5/samples
&& sudo make
全部编译完成后,进入 samples/bin/x86_64/linux/release, sudo下运行deviceQuery:& sudo ./deviceQuery
接下来的检验步骤与前面一样,暂且不表。
cuda安装方法的比较:
第一种安装方法现在只能在kubuntu系统上面运行,第二种安装方法十分方便,但是deb包安装方式十分不稳定,而且前面两种方法虽然能成功安装cuda,但是在后面编译caffe的时候会出现很多很奇葩的bug,不知道是不是跟cuda安装方式有关系。第三种方法是google上较新的安装方法,虽然有点复杂,但是运行的时候没有什么bug,畅通无阻。综合来说,还是第三种方法较好。
2 安装配置cuDNN &
cuDNN可以在免费获得,注册帐号后即可下载。官网没有找到安装说明,下载得到的压缩包内也没有Readme. 不过google一下就会找到许多说明。基本原理是把lib文件加入到系统能找到的lib文件夹里, 把头文件加到系统能找到的include文件夹里就可以。这里把他们加到CUDA的文件夹下()
tar -zxf cudnn-6.5-linux-x64-v2.tgz
cd cudnn-6.5-linux-x64-v2
sudo cp lib*/usr/local/cuda/lib64/
sudo cp cudnn.h/usr/local/cuda/include/
执行后发现还是找不到库, 报错
error while loading sharedlibraries: libcudnn.so.6.5: cannot open shared object file: No such file ordirectory
而lib文件夹是在系统路径里的,用ls -al发现是文件权限的问题,因此用下述命令先删除软连接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.solibcudnn.so.6.5
然后修改文件权限,并创建新的软连接
sudo chmod u=rwx,g=rx,o=rxlibcudnn.so.6.5.48
sudo ln -s libcudnn.so.6.5.48libcudnn.so.6.5
sudo ln -s libcudnn.so.6.5libcudnn.so
$ sudo ldconfig -v
不做链接,可能会出现这个报错:“./build/tools/caffe:error while loading shared libraries: libcudnn.so.6.5:cannot open sharedobject file: No such file or directory”那是因为cuDNN没有链接成功,只能做一下硬链接。
3 &caffe的安装
3.1& Atlas安装
$ sudo apt-get install lib-base-dev
3.2& 其他依赖项,确保都成功
$ sudo apt-getinstall libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-devlibboost-all-dev libhdf5-serial-dev
$ sudo apt-getinstall libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
3.3 下载caffe-master.zip,并解压。
&(1) 切换到Caffe的下载文件夹,然后执行:
$ cpMakefile.config.example Makefile.config
修改新生成的Makefile.config文件,修改“BLAS := mkl”,这个非常重要。(我安装的是,所以默认配置)
编辑确保Makefile.config,启用GPU
“# CPU_ONLY := 1”,并设置“USE_CUDNN
(2) 编译caffe-master。&-j8&是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。
$ make all -j8
$ make test -j8
$ make runtest-j8
make runtest 的时候可能会出现“You have 2 disabled tests”,这个可以忽略不计。
(3)运行Mnist例子
cd caffe-master
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
./examples/mnist/train_lenet.sh
运行上述文件的时候必须切换到caffe主文件夹,否则就会运行错误。
3.4& 编译过程中可能出现的的错误:
(1)libcudnn.so.6.5:cannot open shared object file,no such file or directory.
可以直接在将自己的库所在路径添加到/etc/ld.so.conf文件中。但一般这个文件中的内容都是一句“include /etc/ld.so.conf.d/*.conf”,因此最好在/etc/ld.so.conf.d/目录下新建一个文件,如“ld-cudnn.conf”,然后将自己的库所在路径添加到这个conf文件中。
修改完文件后,以root身份运行&&&/sbin/ldconfig&-v&&。这一步必不可少,别丢了。
(2)如果提示:make: protoc:
命令未找到,那是因为protoc没有安装,安装一下就好了。
$ sudo apt-get installprotobuf-c-compiler protobuf-compiler
(3) error whileloading shared libraries: libcudart.so.7.0: cannot open shared object file
原因分析:LD_LIBRARY_PATH路径设置有问题,少了一个lib64
参考网址:
下载网址:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4638次
排名:千里之外还有很多小孩也没找到,你愿意帮助他们么?EC2上的深度学习:CUDA 7/cuDNN/caffe/DIGITS实战教程 - 推酷
EC2上的深度学习:CUDA 7/cuDNN/caffe/DIGITS实战教程
本教程将演示如何在一个g2.2xlarge EC2实例(运行64位的Ubuntu14.04)中设置CUDA7、cuDNN、caffe和DIGITS,以及如何快速上手DIGITS。为了说明DIGITS的应用,本教程使用一个当前的 Kaggle竞赛项目作为案例进行演示, 是关于糖尿病视网膜病变检测的,其状态来自于荧光血管造影。
图像分类的卷积深度神经网络(DNN)
对于图像的分类或回归,你有两种选择:
特征工程及把图像转换为向量;
依赖于一个卷积DNN求出特征。
深度神经网络对计算的要求相当苛刻。这是由两个原因造成的:
即使你使用一个很小的图像分辨率,输入数据也大得多,256&256的RGB像素意味着196608个输入神经元(256&256&3)。而如果你要使你的特征工程智能一些,那么1000个神经元已经是一个很大的数量了;
让网络有计算出相关特征也需要一个更复杂的网络结构和更多层。
幸运的是,许多浮点矩阵的运算都被显卡的GPU无意中解决。
NVIDIA DIGITS和caffe
利用GPU支持深度学习的主流框架目前有三个,包括Theano、Torch和caffe。 NVIDIA DIGITS则是一个网络服务器,它提供了一个方便的网络接口,用于训练和测试基于caffe的深度神经网络。我打算在以后的文章中涵盖如何使用caffe工作。在这里,我会告诉你如何设置CUDA。
首先你需要一个AWS帐号和g2.2xlarge实例启动和运行,并确保为你的IP的5000端口添加入站规则——这是DIGITS服务器的需要。
# don't forget to get your system up to datesudo apt-get updatesudo apt-get dist-upgrade
这一步的主要来源是
# installation of required toolssudo apt-get install -y gcc g++ gfortran build-essential \
git wget linux-image-generic libopenblas-dev python-dev \
python-pip python-nose python-numpy python-scipy# downloading the (currently) most recent version of CUDA 7sudo wget http://developer./compute/cuda/repos/ubuntu/cuda-repo-ubuntu-28_amd64.deb# installing CUDAsudo dpkg -i cuda-repo-ubuntu-28_amd64.debsudo apt-get updatesudo apt-get install cuda# setting the environment variables so CUDA will be foundecho -e &\nexport PATH=/usr/local/cuda/bin:$PATH& && .bashrcecho -e &\nexport LD_LIBRARY_PATH=/usr/local/cuda/lib64& && .bashrcsudo reboot# installing the samples and checking the GPUcuda-install-samples-7.0.sh ~/cd NVIDIA\_CUDA-7.0\_Samples/1\_Utilities/deviceQuery
./deviceQuery
要进一步加快深度学习相关的计算,安装cuDNN库是一个好主意。为了这个目的,你将需要注册一个NVIDIA开发者账户,并加入CUDA注册开发者计划。最后一步需要NVIDIA解锁你的帐户,这可能需要一两天。但你也可以在没有cuDNN库的情况下开始。只要你得到他们的允许——
并把它上传到您的实例。
# unpack the librarygzip -d cudnn-6.5-linux-x64-v2.tar.gztar xf cudnn-6.5-linux-x64-v2.tar# copy the library files into CUDA's include and lib folderssudo cp cudnn-6.5-linux-x64-v2/cudnn.h /usr/local/cuda-7.0/includesudo cp cudnn-6.5-linux-x64-v2/libcudnn* /usr/local/cuda-7.0/lib64
安装 caffe
caffe及DIGITS的安装步骤主要来源于
sudo apt-get install libprotobuf-dev libleveldb-dev \
libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev \
libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler \
libatlas-base-dev# the version number of the required branch might change# consult /NVIDIA/DIGITS/blob/master/README.mdgit clone --branch v0.11.0 /NVIDIA/caffe.gitcd ~/caffe/pythonfor req in $(cat requirements.txt); do sudo pip install $ donecd ~/caffecp Makefile.config.example Makefile.config# check that USE_CUDNN is set to 1 in case you would# like to use it and to 0 if notmake allmake pymake testmake runtestecho -e &\nexport CAFFE_HOME=/home/ubuntu/caffe& && ~/.bashrc# load the new environmental variablesbash
安装DIGITS
cd ~git clone /NVIDIA/DIGITS.git digitscd digitssudo apt-get install graphviz gunicornfor req in $(cat requirements.txt); do sudo pip install $ done
启动和配置DIGITS
DIGITS在第一次启动时会问你一些关于配置目的的问题。这些设置是非常直白,并且可以事后在~/.digits/digits.cfg中
更改。你可能要考虑在一个EBS上定位你的工作目录(jobs_dir )——在我的例子中,大约140,000 张PNG图像数据集,消耗大约10 GB的空间,训练模型(含所有的模型快照)约占1 GB。
# change into your digits directorycd digits
# start the server./digits-devserver
DIGITS故障排除
当你第一次启动DIGITS时,你可能会遇到一些错误和警告。以下是我的情况。
&libdc1394 error: Failed to initialize libdc1394&# no big deal - either ignore or treat symptomaticallysudo ln /dev/null /dev/raw1394
&Gtk-WARNING **: Locale not supported by C library.&# not sure how serious this is - but it is easy to resolvesudo apt-get install language-pack-en-basesudo dpkg-reconfigure locales# check what locales are available and then ...locale -a# ... set LC_ALL to itecho -e &\nexport LC_ALL=\&en_US.utf8\&& && ~/.bashrc
&Gdk-CRITICAL **: gdk_cursor_new_for_display: assertion 'GDK_IS_DISPLAY (display)' failed&# this is a big deal and will cause the server start up to fail:# connect with ssh flags -Xissh -Xi ...
&Couldn't import dot_parser, loading of dot files will not be possible.&# reinstall pyparsing:sudo pip uninstall pyparsingsudo pip install pyparsing==1.5.7sudo pip install pydot
DIGITS入门
首先,你必须在想要训练的模型上创建一个数据集。你必须提供至少一个大的图片数据集用于训练并且任选两个较小的数据集进行验证和测试。你可以通过不同的文件夹的意思分离这些数据集(及它们正确的标签),或者通过提供相应的CSV。这些CSV中都应该具有两个未命名的制表符分隔列。第一列保证图像的完整路径(home不要使用~,要使用它的实际路径),第二列保证基于0的索引引用正确的类。你还需要提供一个文本文件持有不同的类别——每行一个。
例如,如果你有两个类“POS”(行1)和“NEG”(行2)——那么一个属于“POS”类的图像必须有与之相关联的类索引0。加载可能需要一段时间。我加载140,000个PNG的256&256分辨率的图像历时约一小时。
设置目标训练模型会很容易,倘若你坚持使用默认建议——你只需要选择要使用的数据集、网络就可以了。在描述的数据集上训练一个30 epochs的
大约花一天又6小时。所以你需要确保以下两点:
对于Spot实例的出价不能太低——否则你会有被终止的风险;
session上启动服务器。否则,如果连接中断(也许因为你的IP在一夜之间改变了),服务器进程将会被杀死。
应对糖尿病性视网膜病变的Kaggle挑战
所提供的训练集由约35,000个高分辨率的图像组成——压缩和拆分成五个文件。所有ZIP压缩包大小约33 GB。我用lynx直接下载五个压缩包到一个EBS中——因为你可以定期登录并启动下载。顺便说一下,g2.2xlarge实例的下载速度是令人难以置信——你被授予最高100MB/秒的速度。我同时开始所有的五个下载任务,每个下载任务的速度是6MB/秒。准确地说,是兆字节(mega byte),而不是兆比特(mega bit——DSL提供商使用的单位)。
糖尿病性视网膜病变的可见指标,按照我的理解主要是泄漏(瘤)和病理上不断增长的血管。我认为,这些特征像具有相似性且旋转不变。因此,为了增加可用训练集我创建了四个版本:
(A):调整为256&256像素并保存为PNG;
(R):(A)的180度旋转;
(A)的垂直镜像;
(R)的垂直镜像。
因为手头的任务显然不是一个分类而是一个回归,我放弃尝试学习一个分类为无DR和DR的四个阶段。我标记所有DR的情况为“积极”,无DR情况为“消极”。这都会被执行于所有四个可能的分割({0} VS {1,…,4},…,{0,…,3},{4}),这些预测最后会相对实际阶段回归。
这一变换的bash脚本,你都可以在相应的
一方面我本来希望看到一个更高的精度——在另一方面,我勉强可以(如果有的话)做出在一些健康的情况下和在有些极端的第四阶段情况下之间的差异。以73.95%为消极的情况下的比例——这也是网络精度的起点。经过30 epochs,它提高约8个百分点,达到81.8%。
关于DIGITS特性和具体问题,强烈推荐
,在这里你可以和DIGITS的开发者进行有效和开放的交流。
原文链接 :
(编译/王玮 责编/周建丁)
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致}

我要回帖

更多关于 aws ec2 绑定域名 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信