linux(ubuntu14.04)+GPU+cuda6.5+caffe

一、先说一下ubuntu14.04的安装:

1.先下载一个ultraios,无需激活,然后制作u盘启动工具,具体教程请看百度经验教程

http://jingyan.baidu.com/article/d169e186800f02436711d87b.html

2.制作好u盘启动工具之后。然后就是安装ubuntu14.04,在这之前要先下载好ubuntu14.04,然后找到first boot,然后启动u盘就可以安装系统了

,安装分区问题见Swimbird博 客:http://blog.sina.com.cn/s/blog_5f0a505101017ruf.html

3.安装好ubuntu14.04之后,开始配置电脑的校园动态ip账号,直接找到网络的编辑设置里面的ipv4,点击手动,然后输入动态ip,子掩码,和网关,服务器地

址就可以进入联网状态了。

正式安装caffe

由于linux的源的改变,需要先安装

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

再更新源$ sudo apt-get update

因为我的系统是14.04,所以按照官网上的要求继续进行第二步操作$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

安装开发所需要的一些基本包:$ sudo apt-get install build-essential

1.首先在BIOS设置里选择用Intel显卡来显示或作为主要显示设备(开机进入bios设置,找到advanced中的VGA configuration设置,将intel显卡设为

primary)。

2.将nouveau添加到黑名单,防止它启动
$ cd /etc/modprobe.d
$ sudo vi nvidia-graphics-drivers.conf
 写入:blacklist nouveau
保存并退出: wq!
检查:$ cat nvidia-graphics-drivers.conf
 对于:/etc/default/grub,添加到末尾。
$ sudo vi /etc/default/grub
末尾写入:rdblacklist=nouveau nouveau.modeset=0
保存并退出: wq!
检查:$ cat /etc/default/grub

3. 进入Ubuntu, 按 ctrl+alt+F1 进入tty1, 登录tty1后输入如下命令

$ sudo service lightdm stop

4.安装NVIDIA ,http://www.geforce.cn/drivers

找到对应NVIDIA的版本(我的是linux340.76.run),进入到NVIDIA的目录下:$ cd /home/username

然后$ sudo sh linux340.76.run,一直确定安装完。

5.重新启用桌面的命令为: $ sudo service lightdm start,然后电脑桌面大大改变了,证明安装成功。然后关机进入bios中,更改VGA configuration

为NVIDIA显卡,此时电脑看着就清晰多了,中途如果显示器无信号输入,重启2-3次,基本上GPU显卡驱动已经安装完成。

6.在终端输入:$ cat/proc/driver/nvidia/version验证驱动安装是否成功。

三、CUDA6.5(https://developer.nvidia.com/cuda-downloads

$ sudo chmod +x ./ cuda_6.5.14_linux_64.run

将CUDA6.5解压成三个文件($sudo sh cuda*.run --noexec --target .)(.前面有空格)

分别为:

CUDA安装包: cuda-linux64-rel-6.5.14-18749181.run

NVIDIA驱动: NVIDIA-Linux-x86_64-340.29.run

SAMPLE包: cuda-samples-linux-6.5.14-18745345.run

(这里就不安装NVIDIA驱动)

开始安装CUDA,

$ sudo ./cuda-linux64-rel-6.5.14-18749181.run

安装完成后需要在/etc/profile中

①添加环境变量,$ PATH=/usr/local/cuda-6.5/bin:$PATH$ export PATH

保存后, 执行下列命令, 使环境变量立即生效

$source /etc/profile

②添加lib路径,

在/etc/ld.so.conf.d/新建文件cuda.conf,并编辑

cd /etc/ld.so.conf.d

$ sudo touch cuda.conf 

$ sudo gedit cuda.conf

/usr/local/cuda-6.5/lib64

执行下列命令使之立刻生效

$ sudo ldconfig

继续,安装CUDA SAMPLE,安装下列依赖包

$sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

然后用下述命令安装sample文件$sudo ./cuda-samples-linux-6.5.14-18745345.run

完成后编译Sample文件,更若干分钟后

$ cd /usr/local/cuda-6.5/samples

$ sudo make

 编译完成后, 进入 samples/bin/x86_64/linux/release

$ sudo ./deviceQuery 

如果出现下列显卡信息,则驱动及cuda安装成功:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 750 Ti"
 CUDA Driver Version / Runtime Version          6.5 / 6.5
 CUDA Capability Major/Minor version number:    5.0
 Total amount of global memory:                 2048 MBytes (2147155968 bytes)
 ( 5) Multiprocessors, (128) CUDA Cores/MP:     640 CUDA Cores
 GPU Clock rate:                                1084 MHz (1.08 GHz)
 Memory Clock rate:                             2700 Mhz
 Memory Bus Width:                              128-bit
 L2 Cache Size:                                 2097152 bytes
 Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(6553665536), 3D=(4096, 4096, 4096)
 Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
 Maximum Layered 2D Texture Size, (num) layers  2D=(1638416384), 2048 layers
 Total amount of constant memory:               65536 bytes
 Total amount of shared memory per block:       49152 bytes
 Total number of registers available per block: 65536
 Warp size:                                     32
 Maximum number of threads per multiprocessor:  2048
 Maximum number of threads per block:           1024
 Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
 Max dimension size of a grid size    (x,y,z): (21474836476553565535)
 Maximum memory pitch:                          2147483647 bytes
 Texture alignment:                             512 bytes
 Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
 Run time limit on kernels:                     Yes
 Integrated GPU sharing Host Memory:            No
 Support host page-locked memory mapping:       Yes
 Alignment requirement for Surfaces:            Yes
 Device has ECC support:                        Disabled
 Device supports Unified Addressing (UVA):      Yes
 Device PCI Bus ID / PCI location ID:           1 / 0
 Compute Mode:
    < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = GeForceGTX 750 Ti
Result = PASS

接着继续,

安装atlas

$sudo apt-get install libatlas-base-dev 

然后是安装OpenCV:

Github上的脚本:https://github.com/jayrambhia/Install-OpenCV

下载该脚本,进入Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限

chmod +x *.sh

然后安装最新版本:$ sudo ./opencv2_4_9.sh

网上有些教程说会报错,但是我安装没有出现错误(若中途出现问题的如下

opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51):error: a storage class is not allowed in an explicit specialization

解决方法:http://code.opencv.org/issues/3814  下载 NCVPixelOperations.hpp 替换掉opencv2.4.9内的文件, 重新build)。

测试opencv如下:新建一个.cpp文件和一个abc.jpg图片放到一个文件夹中。

建一个DisplayImage.cpp:
    #include <cv.h>   
    #include <highgui.h>   
    #include <iostream>   
    using namespace cv;  
    using namespace std;  
    int main(int argc,char **argv)  
    {  
        Mat image;  
        image = imread(argv[1],1);  
      
        if(argc != 2 || !image.data)  
        {  
            cout << "No image data\n";  
            return -1;  
        }  
      
        namedWindow("Display Image",CV_WINDOW_AUTOSIZE);  
        imshow("Display Image",image);  
        waitKey(0);  
        return 0;  
    }  
命令行:
$g++ DisplayImage.cpp -o DisplayImage `pkg-config opencv --cflags --libs`
$./DisplayImage abc.jpg

然后可以显示出图片,应该是成功了。

现在安装和用mnist测试一下caffe,

先下载caffe,https://github.com/BVLC/caffe
解压复制Makefile.config.example为Makefile.config,然后进入Caffe的解压文件夹,然后执行:
$ cp Makefile.config.example Makefile.config
修改新生成的Makefile.config文件,修改“BLAS := mkl”
$ make all
$ make test
$ make runtest 
如果网速不行可以到http://yann.lecun.com/exdb/mnist/
下载4个数据包。然后放到caffe安装路径下的data中的mnist里面,然后进入该路径,解压四个文件
gunzip train-images-idx3-ubyte.gz
gunzip train-labels-idx1-ubyte.gz
gunzip t10k-images-idx3-ubyte.gz
gunzip t10k-labels-idx1-ubyte.gz
然后重建LDB文件,就是处理二进制数据集为Caffe识别的数据集,以后所有的数据,包括jpe文件都要处理成这个格式。
$ sudo examples/mnist /create_mnist.sh
(中途估计会遇到一些路径问题,我是把每一个出现路径问题的文件,找到路径配置前面加上自己的安装路径就可以进行测试了)
生成mnist-train-leveldb/ 和 mnist-test-leveldb/文件夹,这里包含了LDB格式的数据集,
训练mnist,$ sudo examples/mnist/train_lenet.sh
最后基本的框架已经建好了。

(如果进不了linux开机界面只剩下壁纸和鼠标,一定要记住将系统设置所有的电脑更新都关掉,然后最重要的一点是不要安装mkl可以安装一下其他的另外两个库)

参考链接
1.http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html
2.https://developer.nvidia.com/cuda-downloads

3.  http://caffe.berkeleyvision.org/

4.  http://94it.net/a/jingxuanboke/2014/0831/395722_4.html

5.   http://94it.net/a/jingxuanboke/2015/0118/451320.html

6.   http://www.cnblogs.com/platero/p/3993877.html

文章中的方法感谢热心的网友:

_无声的雨

suxuanq http://blog.csdn.net/u010089908/article/details/43538677

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值