为什么cuda 官网下载好慢上没有cuda15.04

Caffe + Ubuntu 15.04(16.04) + CUDA 7.5(8) 新手安装配置指南
我的图书馆
Caffe + Ubuntu 15.04(16.04) + CUDA 7.5(8) 新手安装配置指南
Caffe + Ubuntu 16.04 + CUDA 8 新手安装配置指南
(更新所有软件到最新版)
特别说明:
0. Caffe 官网地址:
1. 本文为作者亲自实验完成,但仅限用于学术交流使用,使用本指南造成的任何不良后果由使用者自行承担,与本文作者无关,谢谢!为保证及时更新,转载请标明出处,谢谢!
2. 本文使用日下载的caffe-master版本,运行平台为:Ubuntu 15.04/16.04,CUDA7.5/8,cuDNN v5.1,Intel Parallel Studio XE Cluster 2016, 3.1.0, Matlab a
3. 为了方便大家使用,我提供一个百度云盘,用于分享部分安装过程中需要用到的软件包和链接地址(所有软件包仅供学术交流使用,请大家尽量去官网下载, Matlab 百度云禁止分享,抱歉欠奉。)。百度云盘链接:
4. 最后更新时间:日。
版本说明:
关于 GCC 和 G++ 版本问题
Matlab 2014a gcc/g++ 4.7.x, Matlab 2016a gcc/g++ 4.9.x
Ubuntu 15.04 gcc/g++ 4.9.x, Ubuntu 16.04 gcc/g++ 5.4.x
原则上Matlab需要和Ubuntu版本一致,由于CUDA 8只支持16.04,而且需要GCC 5.4.x 进行编译,而CUDA 7.5不支持 Ubuntu 16.04 因此Matlab会有一些奇葩,有时按照降级(或强制安装)的方法可以正常使用,有时却会报错,怀疑和显卡驱动有关。
因此,为了避免麻烦,建议:
1. 不使用Matlab,可以考虑Ubutnu16.04 + CUDA8
2. 使用Matlab,考虑Ubuntu15.04 + CUDA7.5 + Matlab X(GCC/G++根据Matlab版本自行匹配)
下面仍然以Ubuntu 15.04 + CUDA 7.5 + Matlab 2014a 为例.
本文主要包含5个部分,包括:
- 第一部分 安装
- 第二部分 nVidia CUDA Toolkit的安装(*.deb方法)
- 第三部分 Matlab 的安装
- 第四部分 Caffe-Master的安装和
第一部分 Linux安装
我的分区设置如下:
\ 根分区: 100G,
Swap交换分区:128G(等于内存大小) ,小于16G的内存,就设置成内存的1.5-2倍
boot分区:200M
Home分区:剩余的空间,多多益善
PS:解决启动分区错误
装双系统需要先安装Windows 再安装Ubuntu。如果遇到启动分区表损坏,需要还原Windows分区:
$ sudo gedit etc/default/grub
设置:GRUB_DEFAULT = 2
$ sudo update-grub123123
第二部分:nVidia CUDA Toolkit的安装(*.deb方法)
1. 安装 CUDA Toolkit
官方下载地址:
$ sudo dpkg -i cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64
$ sudo apt-get update
$ sudo apt-get install -y cuda123123
2. 安装 nVidia cuDNN library (cudnn-7.5-linux-x64-v5.1)
官方下载地址:
$ tar zxvf cudnn-7.5-linux-x64-v5.1.tgz
$ sudo cp include/cudnn.h /usr/local/include
$ sudo cp lib64/libcudnn.* /usr/local/lib
$ sudo ln -sf /usr/local/lib/libcudnn.so.5.1.3 /usr/local/lib/libcudnn.so.5
$ sudo ln -sf /usr/local/lib/libcudnn.so.5 /usr/local/lib/libcudnn.so
$ sudo ldconfig -v12345671234567
(可选)3. 处理ubuntu 16.04 GCC版本过高,编译Caffe-master报错问题
$ sudo gedit /usr/local/cuda/include/host_config.h
#error -- unsupported GNU version! gcc versions later than 5.3 are not supported!
//#error -- unsupported GNU version! gcc versions later than 5.3 are not supported!1234512345
第三部分 Matlab安装和调试(以Matlab 2014a为例)
由于该软件为商业软件,请大家自行寻找,安装学习,并确保不使用做商业目的,下载24小时删除……
将Mathworks.Matlab.R2014a.Unix.iso - 右键 - 使用磁盘映像挂载器打开”,进入装载的虚拟光盘,拷贝全部文件至home/Matlab 文件夹(PS:取名不要有空格)
复制Crack/install.jar至 home/Matlab//jar/ 并覆盖源文件
$ sudo cp install.jar /home/Matlab/java/jar/
$ chmod a+x Matlab -R
$ sudo ./install 123123
选项:不使用Internet安装
序列号: -
默认路径:/usr/local/MATLAB/R2014a
勾选从默认启动路径创建符号链接(实现在任意位置运行matlab启动程序)
激活文件:license_14a.lic
拷贝 libmwservices.so 至 /usr/local/MATLAB/R2014a/bin/glnxa64
$ sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/11
5.解决编译器gcc/g++版本问题。
因为Ubuntu 15.04的gcc/g++版本是4.9.2,而Matlab 2014a(2015a)的版本是4.7.x所以在使用matla调用mex文件的时候,基本上都会报错,根据报错信息,考虑如下两步解决方案。
A. 降级安装gcc/g++版本为4.7.x
$ sudo apt-get install -y gcc-4.7 g++-4.7
$ cd /usr/bin
$ sudo mv gcc gcc-4.9.2
$ sudo ln -s gcc-4.7 gcc
$ sudo mv g++ g++-4.9.2
$ sudo ln -s g++-4.7 g++123456123456
B. 暴力引用新版本GLIBCXX_3.4.20
$ sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.20
$ cd /usr/local/MATLAB/R2014a/sys/os/glnxa64
$ sudo mv libstdc++.so.6 libstdc++.so.6.backup
$ sudo ln -s libstdc++.so.6.0.20 libstdc++.so.6
$ sudo ldconfig -v1234512345
通过命令“strings /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX_” 可以看一下,是否已经成功包含了GLIBCXX_3.4.21,如果已经存在,基本上就成功了。
第四部分 Caffe-Master的安装和测试
一. 安装BLAS
这里可以选择(ATLAS,MKL或者OpenBLAS),我这里使用MKL,因为它最快。首先下载并安装英特尔? 数学内核库 Linux* 版MKL(Intel(R) Parallel Studio XE Cluster Edition for Linux 2016),下载链接是:, 使用学生身份(邮件 + 学校)下载Student版,填好各种信息,可以直接下载,同时会给你一个邮件告知序列号。下载完之后,要把文件解压到home文件夹(注意任何一级文件夹不能包含空格,否则安装会失败)
$ tar zxvf parallel_studio_xe_2016.tar.gz (如果你是直接拷贝压缩文件过来的)
$ chmod a+x parallel_studio_xe_2016 -R
$ sh install_GUI.sh123123
PS: 安装的时候,建议使用root权限安装,过程中会要求输入Linux的root口令。(设置方法:命令行:$ sudo passwd)
二. MKL与CUDA的环境设置
1.新建intel_mkl.conf, 并编辑之:
$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64123123
2.新建cuda.conf,并编辑之:
$ sudo gedit /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda/lib64
/lib123123
3.完成lib文件的链接操作,执行:
$ sudo ldconfig -v11
三.安装OpenCV 3.1.0
1.下载并编译OpenCV(官网原版OpenCV:), 或者使用我提供的修改版的安装包(前面的百度云下载)(下面的安装方式使用该包完成,安装包修改了dependencies.sh文件并增加了OpenCV 3.0.0的安装文件)
2.切换到文件保存的文件夹,然后安装依赖项和OpenCV:
$ sudo sh Ubuntu/dependencies.sh
$ sudo sh Ubuntu/3.0/opencv3_0_0.sh1212
保证网络畅通,因为软件需要联网这里时间较长,请耐心等待。。。
四、安装其他依赖项
1.Google Logging Library(glog),下载地址:,然后解压安装:
$ tar zxvf glog-0.3.3.tar.gz
$ ./configure
$ sudo make install12341234
如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以kill了。
2.其他依赖项,确保都成功
$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler protobuf-c-compiler protobuf-compiler python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags cython ipython
五、安装Caffe并测试
1.切换到Caffe-master的文件夹,生成Makefile.config配置文件,执行:
$ cp Makefile.config.example Makefile.config11
4.配置Makefile.config文件(仅列出修改部分)
a. 启用CUDNN,去掉”#”
USE_CUDNN := 111
b. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial1212
c. 启用Intel Parallel Studio XE 2016
BLAS := mkl11
d. 配置路径,实现caffe对和Matlab接口的支持
PYTHON_LIB := /usr/local/lib
MATLAB_DIR := /usr/local/MATLAB/R2014a1212
c. 启用OpenCV 3.0, 去掉”#”
OPENCV_VERSION =311
6.编译caffe-master!!!”-j16”是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。
$ make all -j16
$ make test -j16
$ make runtest -j16
$ make pycaffe -j16
$ make matcaffe -j161234512345
六. 使用MNIST数据集进行测试
Caffe默认情况会安装在 Caffe-master,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:
1.数据预处理
$ sh data/mnist/get_mnist.sh11
2.重建lmdb文件。Caffe支持多种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根据自己需要选择不同输入吧。
$ sh examples/mnist/create_mnist.sh11
生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集
3.训练mnist
$ sh examples/mnist/train_lenet.sh11
至此,Caffe安装的所有步骤完结,下面是一组简单的数据对比,实验来源于MNIST数据集,主要是考察一下不同系统下CPU和GPU的性能。可以看到明显的差别了,虽然MNIST数据集很简单,相信复杂得数据集,差别会更大,Ubuntu+GPU是唯一的选择了。
测试平台1:i7-4770K/16G/GTX 770/CUDA 6.5
MNIST Windows8.1 on CPU:620s
MNIST Windows8.1 on GPU:190s
MNIST Ubuntu 14.04 on CPU:270s
MNIST Ubuntu 14.04 on GPU:160s
MNIST Ubuntu 14.04 on GPU with cuDNN:30s
Cifar10_full on GPU wihtout cuDNN:73m45s = 4428s (Iteration 70000)
Cifar10_full on GPU with cuDNN:20m7s = 1207s (Iteration 70000)1234567812345678
测试平台2:技嘉P35X v3,i7-4720HQ@2.6G/16G/NVidia GTX 980 8G
MNIST Ubuntu 15.04 on GPU with cuDNN:33s1212
测试平台3:Dell 7910,E5 2623v3 3.0G *2 /128G/ NVidia Titan X 12G
MNIST Ubuntu 15.04 on GPU with cuDNN:23s (真是逆天啊!)
对比测试1:2*E5-2620(12CPUs)/128G/Tesla K20M/CUDA5.5/CentOS 6.4
MNIST CentOS 6.4 on GPU:294s
对比测试2:Tesla K40M/CUDA6.5/ubuntu 14.04
MNIST on GPU with cuDNN:30s
对比测试3:GTX 660/CUDA6.5/ubuntu 14.04
MNIST on GPU with cuDNN:49s1234567812345678
对比试验1是一个不太公平的测试,毕竟性能差很大,很可能不单单是由Tesla K20s 和GTX 770带来的,也可能是因为CentOS或者是CUDA5.5(without cuDNN)的影响,但总体上的结论和Caffe官网的 reference performance numbers 一致,对于普通用户:GTX的性价比高很多。对比试验2展现了Tesla K40的强大性能,相信对于复杂图像,它应该有更强劲的表现。(感谢香港城市大学 Ph.D Jingjing、南京理工大学 Ph.D JinLu、华中科技大学 MS LiuMaolin 提供的测试环境和测试数据。)
TA的最新馆藏Ubuntu&15.10配置Caffe+Cuda7.5+Cudnn的详细过程
本来用MatConvNet用的挺好的,但是无奈,有一些东西只能在Caffe上面做,所以就必须要在机子上面把caffe的环境搭起来。如果,不用GPU的话,其实很容易搭建,但是如果不用GPU就没什么意义了,随便训练一个网络就是一两个礼拜,太慢了,所以肯定是要GPU的,如果是这样的话,配起来就稍微麻烦一点,自己折腾了两天,终于搞定,就决定写一下自己的配置过程,当时,我也是参考了网上很多的资料,然后才能够成功,首先对他们表示感谢!废话就不啰嗦了,直接上硬货!(在这里,对实验室的一位访问学者的帮助表示感谢!)
平台:Ubuntu 15.10
显卡:Nvidia GTX TiTan
所需软件:Cuda 7.5, Cudnn v4,TiTan
Z的显卡(GT 700 Series)
安装的过程中吃了一个大亏,在这里先说明一下。那就是编译器的使用。对于Ubuntu
15.10来说,自带的编译器是5.2.1(gcc -v),但是cuda却要求编译器的版本不能高于4.9(no support for
later),如果你直接安装下面的步骤安装而不做任何操作的话,那肯定会出错的,这里有两种方法解决这个问题:
(1)在安装caffe之前,将gcc的版本降级,将至4.7,使用如下的语句(//后面的是我给出的注释,不要输入到终端了):
apt-get install -y gcc-4.7 & // 下载gcc
apt-get install -y g++-4.7 // 下载g++4.7
$sudo rm gcc
&// 删除gcc
$sudo ln -s
gcc-4.7 gcc &//链接
$sudo ln -s
g++-4.7 g++
到这里就实现了gcc的降级,然后可以安装caffe了,如果你先安装caffe,然后降级,就会出错,因为安装caffe的时候,你使用的依赖库都是用gcc
5.2.1编译安装的,后面你降级之后,用gcc
4.7去编译caffe,就会出现各种依赖库的错误,因为不同的编译器编译的文件是不兼容的
(2)不做降级,直接安装caffe,等到cuda安装好了之后,当使用gpu编译的时候(nvxx编译模式),就会报错说不支持4.9以后的gcc,那么这个时候你就进入到cuda的配置文件(/usr/local/cuda/include/host_config.h),将这个文件的第115行注释掉,用//注释,这一行就是这个错误
好了,完成了这些准备工作以后,就可以开始安装了,你可以点安装caff,也可以先安装显卡驱动,我是先安装caffe,然后安装显卡,然后再使用gpu编译。
1.安装caffe
(1)首先安装依赖库
apt-get update
apt-get upgrade
apt-get install build-essential cmake git pkg-config
apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev
libopencv-dev libhdf5-serial-dev protobuf-compiler
apt-get install --no-install-recommends
libboost-all-dev
apt-get install libgflags-dev libgoogle-glog-dev
liblmdb-dev
apt-get install python-dev
执行完以上的语句之后,基本的依赖库就安装完成了
(2)安装BLAS,使用如下的语句自动安装BLAS,当然,你可以选择其他的库
apt-get install libatlas-base-dev
(3)创建链接
-type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e
's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;
/usr/lib/x86_64-linux-gnu
$sudo ln -s
libhdf5_serial.so.10.0.1 libhdf5.so
$sudo ln -s
libhdf5_serial_hl.so.10.0.1 libhdf5_hl.so
(4)修改配置文件
进入到caffe的根目录,
Makefile.config.example Makefile.config
得到了make文件,接下来打开这个文件,因为现在还没有安装GPU,所以只能够在CPU模式下面编译,那么久注释掉一些与cuda有关的语句,具体的有以下几个地方:
(a)注释第5行的
USE_CUDNN := 1
(b)去掉第8行
CPU_ONLY := 1 的注释,因为你现在使用的是CPU模式
(c)注释第28行的&CUDA_DIR
:= /usr/local/cuda
(d)注释第35行的CUDA_ARCH :=
-gencode arch=compute_20,code=sm_20 \
arch=compute_20,code=sm_21 \
arch=compute_30,code=sm_30 \
arch=compute_35,code=sm_35 \
arch=compute_50,code=sm_50 \
arch=compute_50,code=compute_50
(e)添加路径
(i)在&INCLUDE_DIRS
:= $(PYTHON_INCLUDE) /usr/local/include
后面添加&/usr/include /usr/include/hdf5/serial
得到以下的路径:
INCLUDE_DIRS
:= $(PYTHON_INCLUDE) /usr/local/include /usr/include
/usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
后面添加&/usr/lib/x86_64-linux-gnu/hdf5/serial
得到以下路径:
LIBRARY_DIRS
:= $(PYTHON_LIB) /usr/local/lib /usr/lib
/usr/lib/x86_64-linux-gnu/hdf5/serial
到这里,整个配置文件修改完毕,可以开始编译了,这次的编译时在cpu下面编译,使用如下语句:
$sudo make
$sudo make
$sudo make
runtest -j8
(2)安装Nvidia显卡驱动
一般说来,Ubuntu系统会自带显卡驱动,但是,如果想要使用GPU的话,就必须使用nvidia的显卡,从这个地方下载(/Download/index.aspx?lang=en-us),选择你的型号(例如我的是
GeForce 700 Series, TiTan Z,Linux 64),然后去下载就可以了,下载得到的是一个 .run
文件,将其保存在一个位置,或者就放在Downloads目录下面也行,接下来,按照如下的步骤进行操作:
(a)在桌面上面创建文件&nvidia-driver-disable-nouveau.conf,并在文件中输入以下内容:
# generated
by nvidia-installer
lbm-nouveau
nouveau modeset=0
nouveau off
lbm-nouveau off
然后保存文件,这个文件的作用是将原来的显卡驱动禁用
(b)打开一个终端,切换到桌面,执行以下语句
cp&nvidia-driver-disable-nouveau.conf&/etc/modprobe.d/
将这个文件,复制到系统的配置文件所在的文件夹中,并使用如下的语句更新系统配置:
update-initramfs -u
Ok,到这里,前期工作准备完成,接下来就要安装驱动了
(c)在终端中输入
$reboot,重启系统
(d)在系统启动之后,不要在登录几面上面输入密码进去,我们需要在文件界面进行安装,直接在登录界面
使用 Ctrl+Alt+F1 进入文字界面,输入电脑的用户名,然后是密码进入系统
(e)输入以下语句
service lightdm stop
(f)进入 .run
文件坐在的目录(就是Downloads目录),然后执行如下语句:
***.run (注意,***.run 是你下载的文件名)
然后开始安装,如果出现了什么distribution-provided
pre-installed script
failed,不用管,继续yes,continue,知道完成回到原来的那个界面
(g)$sudo
apt-get install dkms,然后输入 reboot 重启系统
到这里,驱动就安装完成了,重启系统后进入图形界面,在dash中输入nv,可以看到安装的nvidia驱动
3. 安装 cuda
(a)安装cuda
之前安装的是显卡驱动,这里开始安装cuda驱动,在nvidia下载cuda
(/cuda-toolkit),下载linux,x86_64,Ubuntu,15.04
(这个也支持15.10),deb(local)文件,大概有2g左右,下载下来之后,进入到文件所在目录,然后输入以下的语句:
$sudo dpkg
-i cuda-repo-ubuntu-local_7.5-18_amd64.deb
apt-get update
apt-get install cuda
(b)设置环境变量
$sudo gedit /etc/profile 打开系统文件,在最后加入以下两句
export PATH=/usr/local/cuda-7.5/bin:$PATH
LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
然后,重启电脑,在终端中键入 export 可以看到这几个路径
(c)caffe运行的时候需要cuda的库,所以需要配置以下,在桌面新建一个文件 caffe.conf
,然后在文件中输入:
&/usr/local/cuda/lib64
然后保存,退出,打开终端并切换到桌面,输入以下语句:
$sudo cp caffe.conf /etc/ld.so.conf.d/
然后更新配置:
$sudo ldconfig
到这里,cuda算是配置好了,接下来就是配置cudnn加速gpu了
4. 安装 cudnn
我这里使用的是cudnn v4
(cudnn-7.0-linux-x64-v4.0-rc.tgz),大家自己去官网下载,下载完了之后解压,得到一个cuda的文件夹,然后输入以下语句:
$cd cuda/include
$sudo cp *.h /usr/local/include/
$cd ../lib64
$sudo cp lib* /usr/local/lib/
$cd /usr/local/lib
$sudo chmod +r libcudnn.so.4.0.4
$sudo ln -sf libcudnn.so.4.0.4 libcudnn.so.4
$sudo ln -sf libcudnn.so.4 libcudnn.so
$sudo ldconfig
到这里,就配置好了所有的环境,然后进入caffe的目录,修改配置,时期能够在GPU下面编译,然哦户输入以下语句:
$sudo make clean
$sudo make all -j8
$sudo make test -j8
$sudo make runtest -j8
到这里,就全部完成了,如果大家配置有问题,可以在下面留言!
这里再追加以下如何编译matlab接口,我使用的是matlab2014b。下载好matlab2014b之后,安装好。但是安装完成之后发现启动的时候(在终端中输入
matlab),发现出现了错误,类似 core-dump之类的,然后使用如下语句解决:
$sudo apt-get install matlab-support
发现问题解决了,然后修改caffe的配置文件,就是将你安装的matlab所在的目录(我的是
/usr/local/MATLAB/R2014b)替换配置文件的matlab的路径,然后保存,退出。
接下来就切换到caffe的根目录,使用如下语句:
$sudo make matcaffe
然后会警告你,说现在只支持4.7的gcc 编译器,这个警告不要紧,我用的就是gcc
5.2.1,后面说编译成功。然后,我就很高兴的去跑例子,结果出错了,提示的是 invalid mex
file,就是你编译出来的文件无效,刚开始以为与编译器有关系,但是后来发现不是编译器的问题,而是matlab里面的关于opencv的库文件与系统的冲突了,导致这个问题。那么你需要将matlab目录下面的与opencv相关的库文件全部删除就可以了,或者是你创建一个备份文件夹,将相关文件全部放进去,语句如下:
$cd /usr/local/MATLAB/R2014b/bin/glnxa64/
$sudo mkdir back_up
$sudo mv libopencv* back_up/
然后,关掉matlab,删除原来编译得到的结果,重新编译,得到的mex文件就可以正常的使用了。
如何编译python呢?
caffe的主页上面给出了如何编译caffe,但是还有一些其他的依赖库或者软件需要,这里给出一个链接告诉你如何安装与python相关的一些库或者依赖,或者软件:
http://hyry.dip.jp/tech/slice/slice.html/24
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Ubuntu 15.04 下Caffe + + CUDA 7.0 安装配置指南_Linux教程_Linux公社-Linux系统门户网站
你好,游客
Ubuntu 15.04 下Caffe + + CUDA 7.0 安装配置指南
来源:ouxinyu.github.io&
作者:欧新宇
特别说明:
0. Caffe 官网地址:http://caffe.berkeleyvision.org/
1. 本文为作者亲自实验完成,但仅限用于学术交流使用,使用本指南造成的任何不良后果由使用者自行承担,与本文作者无关,谢谢!为保证及时更新,转载请标明出处,谢谢!
2. 本文旨在为新手提供一个参考,请高手勿要吐槽,有暴力倾向者,请绕道,谢谢!
3. 本文使用日下载的caffe-master版本,运行平台为: 15.04,CUDA7.0,cuDNN v2(以前一直是cuDNN R1),OpenCV 3.0.0rc1。
4. 安装过程,因为平台不同、设备不同、操作者不同,会遇到各种奇怪的问题和报错信息,请善用Caffe官网的Issues和caffe-user论坛,以及Google和Baidu。参考本指南,请下载最新版caffe-master,新版本很多文件已经变更。
5. 最后更新时间:日。本次更新主要是在新版本的软件进行部署,并修正了过去的一些bug,保留了原来14.04下安装的部分步骤。
洋洋洒洒一大篇,就没截图了,经过几个月的使用,使用Caffe还是建议在Ubuntu系统下完成,因为不需要太多的编程,Windows版需要一定的编程基础,且因为没有官方Release版,所以更新和FixBug都麻烦一些.这里有个建议是,如果将来要做大数据集,最好事先给Linux留多点空间,比如Imagenet,估计500G都不为过。不过也可以全部使用软链接链接到Windows的NTFS磁盘,我后期实验都是使用这个方法。另外,请阅读完,至少一个部分再进行动手操作,避免多余的工作,写作能力有限,尽请见谅。
新版的各种软件,安装起来还是有一定的困难的,所以请大家使用的时候要有耐心。不过Ubuntu15.04相对于14.04有两个进步,一是窗口不会在无聊的闪烁了(也可能是驱动问题);二是访问网页时,不会再半天都无法响应。
这篇安装指南,适合零基础,新手操作,请高手勿要吐槽!
简单介绍一下:Caffe,一种Convolutional Neural Network的工具包,和Alex的cuda-convnet功能类似,但各有特点。都是使用C++ CUDA进行底层编辑,Python进行实现,原作主要部署于Ubuntu,也有大神发布了Windows版,但其他相关资料较少,不适合新手使用,所以还是Ubuntu的比较适合新手。(相对而言)
本文主要包含5个部分,包括:
第一部分 Linux安装
第二部分 nVidia驱动和CUDA Toolkit的安装和调试(*.deb方法,特别推荐)
第二部分 nVidia驱动和CUDA Toolkit的安装和调试(*.run方法)
第三部分 Python安装和调试
第四部分 Matlab安装和调试
第五部分 Caffe的安装和测试
Linux的安装,如果不是Linux粉,只是必须,被迫要用它来作作科研什么的,建议安装成双系统,网上方法很多,这里我就不详细写了,安装还算是傻瓜式的,和windows的过程类似,至于语言,如果觉得难度还不够大的话,完全可以装E文版的,甚至日文,德文~~~,我是装的简体中文版,我总共用分出的500G的空间来安装Ubuntu 14.04,这个版本是最新的版本,有个好处是,可以直接访问Windows8.1的NTFS分区,不用做额外的操作,而且支持中文,例如:$ cd /media/yourname/分区名字/文件夹名,当然GUI就更方便了.
我的分区设置如下:
根分区: \ 100G,
Swap交换分区:16G ,这里,我设置和我的内存一样,据说小于16G的内存,就设置成内存的1.5-2倍
boot分区:200M
Home分区:剩余的空间,鉴于Imagenet,PASCAL VOC之类的大客户,建议500G,至少300G以上。
PS:解决启动分区错误
基本上,重装起来,都会破坏原来的启动分区表,还原Windows分区的一个简单办法:
设置:GRUB_DEFAULT = 2
该方法适用于安装双系统后,"看得到Linux,看不到Windows&的情况,反过来的话,请大家自己百度吧。
PS:关于我的笔记本的特例,仅供类似设备的参考
笔记本配置:技嘉P35X v3,i7-4720HQ@2.6G/16G/NVidia GTX 980 4G/Intel HD G SSD*2 + 2T SATA *2
我的两组硬盘SSD和SATA分别做Raid 0,目的是合并逻辑分区,没有考虑冗余备份问题,最后的状态是2个逻辑硬盘块256G SSD + 4T SATA,用的GPA分区,最后导致利用Ubuntu的GRUB启动界面找不到Windows分区。所以上面的方法失效。不过,可以通过笔记本的F12和Bios设置来实现启动分区的选择,并且我用Linux的机会很少,所以也就如此处理了,Linux高手可以自己折腾一下Grub启动。Ubuntu 15.04安装在SATA逻辑分区,SSD分区安装Windows8.1。
第二部分两种安装方法,任选其一即可,推荐第一种方法(*.deb方法)。
关于安装完CUDA进入不了桌面的问题,大概和显卡的版本、驱动版本、系统都有关系,所以以下几种方法,可以考虑尝试(虽然是互斥的,但是都出现过解决此问题的情况)。1. 安装CUDA时,不安装OpenGL;2.不安装独立下载的显卡驱动,只安装CUDA内置的;3. 不安装CUDA内置驱动,只安装Toolkit,另外安装官网下载的最新的显卡驱动;4. 安装完成后,切忌自动更新Linux系统。
PS:特别推荐*.deb的方法,目前已提供离线版的deb文件,该方法比较简单,不需要切换到tty模式。这里以CUDA 7.0为例。
一、CUDA Repository
获取CUDA安装包,安装包请自行去NVidia官网下载。
二、CUDA Toolkit
三、Environment Variables
PS:这里其实可以参考nVidia 官方提供的CUDA安装手册,非常相近,32页的,不过是全英文的,我就是参考这个文档完成后面的配置和验证工作。/rdp/cuda-65-rc-toolkit-download#linux。一般要输入你的用户名和密码,就是下载6.5的那个账号。
一、Verify You Have a CUDA-Capable GPU
执行下面的操作,然后验证硬件支持GPU CUDA,只要型号存在于/cuda-gpus,就没问题了
二、Verify You Have a Supported Version of Linux
重点是&x86_64&这一项,保证是x86架构,64bit系统
三、Verify the System Has gcc Installed
没有的话就先安装吧,这个是必须的用来编译CUDA Toolkit,不过Ubuntu 14.04是默认有的
四、Download the NVIDIA CUDA Toolkit
下载地址:/cuda-toolkit
验证地址:/rdp/cuda-rc-checksums
例如:md5sum cuda_6.5.11_rc_linux_64.run ,这个文件的正确 md5 = a47b0be83dea0323fab24ca
这个感觉蛮重要,我第一次安装的时候md5就没通过,强制安装,结果就有问题,后面重新下载了再安装了一次
五、Handle Conflicting Installation Methods
根据官网介绍,之前安装的版本都会有冲突的嫌疑
所以,之前安装的Toolkit和Drievers就得卸载,屏蔽,等等
六、Graphical Interface Shutdown
退出GUI,也就是X-Win界面,操作方法是:同时按:CTRL+ALT+F1(F2-F6),切换到TTY1-6命令行模式。
关闭桌面服务:
七、Interaction with Nouveau
Nouveau是一个开源的显卡驱动,Ubuntu 14.04 默认安装了,但是它会影响nVidia驱动的安装,所以只有请他回老家了,sorry!
写入:blacklist nouveau
保存并退出: wq!
末尾写入:rdblacklist=nouveau nouveau.modeset=0
保存并退出: wq!
八、Installation CUDA 6.5
切换到cuda_6.5.11_rc_linux_64.run 所在的目录,然后执行安装命令:
再次提醒,安装前一定要执行 md5sum ,至于如果发现md5检测不一致,怎么办?别逗了,去nVidia重新下载就行了,地球人都知道,别无限循环就好^_^!
这里会一路问你各种问题,基本上就是Accept-yes-Enter-yes-Enter-yes-Enter, 其实就是让你接受协议,然后安装的默认位置确认等等,recruit就别自定义安装位置了,默认才是天堂。
九、Extra Libraries
安装一些必要的库文件,譬如:OpenGL (e.g., Mesa), GLU, GLUT, and X11 (including Xi, Xmu, and GLX).
十、驱动装完了,可以回到GUI界面了,也可以继续留这里玩文本。。。
十一、POST-INSTALLATION ACTIONS
1. Environment Setup
PS:如果出现安装失败,重启系统,重新安装一遍基本都可以解决,实在不行就卸载原来的驱动再安装一遍。
a. 卸载现有驱动
b. 重装CUDA Toolkit
好了,到这里所有nVidia CUDA的安装就结束了,下面看看Caffe如何安装
1. 安装IDE运行环境
选择一个适合你的IDE运行环境,我是用的是Spyder,因为它内置了 iPython 环境,Caffe有不少的程序是基于 iPython 环境完成的。安装方法很简单,直接在Ubuntu软件中心搜索&spyder&即可安装。
2. iPython NoteBook 安装
另外一个比较推荐的方法是使用iPyhthon NoteBook(基于浏览器的Python IDE),特别是适合需要用Python做教程的老师们,可以直接导出.py, .ipynb, html格式,安装步骤如下:
启动(自动打开浏览器):
$ ipython nootbook
一个简单的使用iPython NoteBook生成的html的例子:&
3. 配置和编译pycaffe(见第五部分)
由于该软件为商业软件,请大家自行寻找,安装学习,并确保不使用做商业目的,下载24小时删除......
选择Mathworks.Matlab.R2014a.Unix.iso - 右键 - 使用磁盘映像挂载器打开&
进入装载的虚拟光盘,拷贝全部文件至home/Matlab 文件夹
(PS:我的原则是能GUI就GUI,喜欢CMD的可以参照执行)
复制Crack/install.jar至 home/Matlab/java/jar/ 并覆盖源文件
3. 授权安装文件夹
选项:不使用Internet安装
序列号: -
默认路径:/usr/local/MATLAB/R2014a
激活文件:license_14a.lic
拷贝 libmwservices.so 至 /usr/local/MATLAB/R2014a/bin/glnxa64
安装完毕,程序默认启动路径:
5.解决编译器gcc/g++版本问题。(这里因为折腾了一会,所以只做参考,基本流程就2步,有问题,大家可以自己尝试。)
因为Ubuntu 15.04的gcc/g++版本是4.9.2,而Matlab 2014a(2015a)的版本是4.7.x所以在使用matla调用mex文件的时候,基本上都会报错,根据报错信息,考虑如下两步解决方案。
1. 降级安装gcc/g++版本为4.7.x
(1). 下载gcc/g++ 4.7.x
(2). 链接gcc/g++实现降级
2. 暴力引用新版本GLIBCXX_3.4.20
通过命令&strings /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX_& 可以看一下,是否已经成功包含了GLIBCXX_3.4.20,如果已经存在,基本上就成功了。
6.编译Matlab用到的caffe文件(见第五部分)
对于Caffe的安装严格遵照官网的要求来:http://caffe.berkeleyvision.org/installation.html
一、安装BLAS
这里可以选择(ATLAS,MKL或者OpenBLAS),我这里使用MKL,首先下载并安装英特尔& 数学内核库 Linux* 版MKL,下载链接是:/en-us/intel-education-offerings, 请下载Student版,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了。下载完之后,要把文件解压到home文件夹(或直接把tar.gz文件拷贝到home文件夹,为了节省空间,安装完记得把压缩文件给删除喔~),或者其他的ext4的文件系统中。
接下来是安装过程,先授权,然后安装:
二、MKL与CUDA的环境设置
1. 新建intel_mkl.conf, 并编辑之:
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
2. 新建cuda.conf,并编辑之:
/usr/local/cuda/lib64
3. 完成lib文件的链接操作,执行:
三、安装OpenCV 3.0.0
1. 下载并编译OpenCV(官网原版OpenCV:http://opencv.org/), 或者使用本站提供的修改版的安装包(下面的安装方式使用该包完成,安装包修改了dependencies.sh文件并增加了OpenCV 3.0.0的安装文件,同时保留了原来的2.3x和2.4x版)
2. 切换到文件保存的文件夹,然后安装依赖项:
3. 切换目录Ubuntu\3.0\安装OpenCV 3.0.0rc1:
保证网络畅通,因为软件需要联网这里时间较长,请耐心等待。。。,
四、安装其他依赖项
1. Google Logging Library(glog),下载地址:/p/google-glog/,然后解压安装:
如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以kill了。
2. 其他依赖项,确保都成功
五、安装Caffe并测试
1. 安装pycaffe必须的一些依赖项:
2. 安装配置nVidia cuDNN 加速Caffe模型运算
a. 安装cuDNN
该改版本caffe-master默认支持cudnn-6.5-linux-x64-v2,使用cudnn-6.5-linux-R1会报错,安装前请去先官网下载最新的cuDNN。
b. 链接cuDNN的库文件
3. 切换到Caffe-master的文件夹,生成Makefile.config配置文件,执行:
4. 配置Makefile.config文件(仅列出修改部分)
a. 启用CUDNN,去掉"#"(目前caffe-master仍然只支持R1版本)
USE_CUDNN := 1
b. 启用GPU,添加注释"#"
# CPU_ONLY := 1
c. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
d. 启用Intel Parallel Studio XE 2015 Professional Edition for C++ Linux
BLAS := mkl
e. 配置路径,实现caffe对Python和Matlab接口的支持
PYTHON_LIB := /usr/local/lib
MATLAB_DIR := /usr/local/MATLAB/R2014a
5. 配置Makefile文件(实现对OpenCV 3.x的支持)
查找&Derive include and lib directories&一节,修改&LIBRARIES +=&的最后一行,增加opencv_imgcodecs
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
6. 编译caffe-master!!!"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。
编译Python和Matlab用到的caffe文件
六、使用MNIST数据集进行测试
Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples/mnist.html
1. 数据预处理
2. 重建lmdb文件。Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。
生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集
3. 训练mnist
至此,Caffe安装的所有步骤完结,下面是一组简单的数据对比,实验来源于MNIST数据集,主要是考察一下不同系统下CPU和GPU的性能。可以看到明显的差别了,虽然MNIST数据集很简单,相信复杂得数据集,差别会更大,Ubuntu+GPU是唯一的选择了。
测试平台1:i7-4770K/16G/GTX 770/CUDA 6.5
MNIST Windows8.1 on CPU:620s
MNIST Windows8.1 on GPU:190s
MNIST Ubuntu 14.04 on CPU:270s
MNIST Ubuntu 14.04 on GPU:160s
MNIST Ubuntu 14.04 on GPU with cuDNN:30s
Cifar10_full on GPU wihtout cuDNN:73m45s = 4428s (Iteration 70000)
Cifar10_full on GPU with cuDNN:20m7s = 1207s (Iteration 70000)
测试平台2:技嘉P35X v3,i7-4720HQ@2.6G/16G/NVidia GTX 980 4G
MNIST Ubuntu 15.04 on GPU with cuDNN:33s
对比测试1:2*E5-2620(12CPUs)/128G/Tesla K20M/CUDA5.5/ 6.4
MNIST CentOS 6.4 on GPU:294s
对比测试2:Tesla K40M/CUDA6.5/ubuntu 14.04
MNIST on GPU with cuDNN:30s
对比测试3:GTX 660/CUDA6.5/ubuntu 14.04
MNIST on GPU with cuDNN:49s
对比试验1是一个不太公平的测试,毕竟性能差很大,很可能不单单是由Tesla K20s 和GTX 770带来的,也可能是因为CentOS或者是CUDA5.5(without cuDNN)的影响,但总体上的结论和Caffe官网的 一致,对于普通用户:GTX的性价比高很多。对比试验2展现了Tesla K40的强大性能,相信对于复杂图像,它应该有更强劲的表现。(感谢香港城市大学 Ph.D Jingjing、南京理工大学 Ph.D JinLu、华中科技大学 MS LiuMaolin 提供的测试环境和测试数据。)
Caffe 深度学习入门教程&
Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安装
Ubuntu 16.04系统下CUDA7.5配置Caffe教程
Caffe在Ubuntu 14.04 64bit 下的安装
深度学习框架Caffe在Ubuntu下编译安装&
Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明&
Ubuntu 16.04上安装Caffe
Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 )&
Ubuntu 16.04上安装Caffe(CPU only)&
更多Ubuntu相关信息见 专题页面
本文永久更新链接地址:
相关资讯 & & &
& (03月07日)
& (03月07日)
& (01月12日)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款

我要回帖

更多关于 cuda安装官网 的文章

 

随机推荐