一、先说一下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=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 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): (2147483647, 65535, 65535)
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,$ make test
gunzip train-labels-idx1-ubyte.gz
gunzip t10k-images-idx3-ubyte.gz
gunzip t10k-labels-idx1-ubyte.gz
(如果进不了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