安装CUDA主要分三大环节。
一、安装前的环境准备和检查
二、安装CUDA
三、安装完的校验。
一 .检查自己的电脑环境是否具备安装CUDA的条件
1.检查自己的GPU是否是CUDA-capable
在终端中输入: $ lspci | grep -i nvidia ,会显示自己的NVIDIA GPU版本信息
去CUDA的官网查看自己的GPU版本是否在CUDA的支持列表中(在官方文档中有链接)
2.检查自己的Linux版本是否支持 CUDA(Ubuntu 14.04没问题)
3.检查自己的系统中是否装了gcc
在终端中输入: $gcc –version 可以查看自己的gcc版本信息
4.检查是否安装了kernel header和 package development
在终端中输入: $uname –r 可以查看自己的kernel版本信息
在终端中输入:$ sudo apt-get install linux-headers-$(uname -r)
可以安装对应kernel版本的kernel header和package development
二、安装CUDA
a.选择安装方式
CUDA提供两种安装方式:package manager安装和runfile安装
我本来选的是 package manager 安装,这种方法相对简单,但尝试了几次都失败。后来是转换到runfile安装才成功的。因此此处只介绍runfile安装方式。
下载cuda安装包:cuda官网下载,根据系统信息选择对应的版本,runfile安装的话最后一项要选择 runfile文件
b.禁用 nouveau
终端中运行:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。
Ubuntu的nouveau禁用方法:
sudo gedit /etc/modprobe.d/blacklist.conf
文本最后添加:
blacklist nouveau options nouveau modeset=0
打开终端,运行
$ sudo update-initramfs –u
设置完毕可以再次运行 $ lsmod | grep nouveau 检查是否禁用成功,如果运行后没有任何输出,则代表禁用成功。
c) 重启电脑,到达登录界面时,alt+ctrl+f1,进入text mode,登录账户
d) 输入 $ sudo service lightdm stop 关闭图形化界面
e) 切换到cuda安装文件的路径,运行$ sudo sh cuda_8.0_linux.run
按照提示一步步操作
遇到提示是否安装openGL ,选择no
其他都选择yes或者默认
安装成功后,会显示installed,否则会显示failed。
f)输入 $ sudo service lightdm start 重新启动图形化界面。返回到图形化登录界面,输入密码登录。
如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。
g) 重启电脑。检查Device Node Verification。
检查路径/dev下 有无存在名为nvidia*(以nvidia开头)的多个文件(device files)
如果没有的话,可以参考官方文档里的指导步骤,进行添加。
h) 设置环境变量。
终端中输入 $ sudo gedit /etc/profile
在打开的文件末尾,添加以下两行。
$ export PATH=/usr/local/cuda-8.0/bin:$PATH$ export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64
保存文件。
这里有点与官方安装文档稍有不同,需要说明:
官方文档里说只需在终端中运行上述两条export语句即可,但如果不将它们不写入/etc/profile文件的话,这样的环境变量在你退出终端后就消失了,不起作用了,所以写入才是永久的做法。
i) 重启电脑,检查上述的环境变量是否设置成功。
终端中输入 : $ env
在输出的环境变量中检查有无上述 g) 中设置的变量,如果有则代表设置成功。
到此为止,CUDA的安装算是告一段落了。为了保险起见,建议进行下述的检查工作,确保真正的安装成功。
三、安装完的校验。
a) 检查 NVIDIA Driver是否安装成功
终端输入 :$ cat /proc/driver/nvidia/version 会输出NVIDIA Driver的版本号
b) 检查 CUDA Toolkit是否安装成功
终端输入 : $ nvcc –V 会输出CUDA的版本信息
成功了!
选择 Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0下载
cuDNN v5.1 Runtime Library for Ubuntu16.04 Power8 (Deb)
安装
或者下载tar,解压后会得到一个Cuda文件夹,复制到Cuda-8.0文件夹中
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
第二:安装caffe
1. 安装一一般依赖项
安装依赖和相关科学计算库
sudo apt-get install libprotobuf-dev
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install libprotobuf-dev protobuf-compiler #Linux系统级的安装
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-pip
sudo apt-get install gfortran
sudo apt-get install python-protobuf
sudo apt-get install python-skimage
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install git cmake
sudo apt-get install xorg-dev build-essential libglu1-mesa-dev libc6-dev
sudo apt-get install libopenblas-dev
sudo apt-get install libstdc++6
查看系统中已安装的protobuf:whereis protoc #查看那些路径下安装了protobuf
which protoc #查看默认选用的protobuf
protoc --version #查看当前默认的protobuf的版本
sudo protoc --version #查看系统的protobuf的版本
作者:看_有灰碟
链接:https://www.jianshu.com/p/0cad02ad323b
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
要是单独安装的安装protobuf-3.0.0
1. 解压protobuf-cpp-3.0.0.tar.gz: tar zxvf protobuf-cpp-3.0.0.tar.gz
2. cd protobuf-3.0.0
3. ./configure
4. make
5. make check
6. sudo make install
编译安装caffe
进入caffe-master目录,复制一份Makefile.config.examples
cp makefile.config.example makefile.config
make all
make test
make runtest
make pycaffe
(要是cpu还要更改makefile.config 中cpu和各种路径的添加)
遇到问题:
在执行 make pycaffe时
即编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
解决方法:
sudo apt-get install python-numpy
然后
sudo make pycaffe
pycaffe就编译成功了
测试是否安装成功
1. 测试caffe
1. 进入入~/caffe-master
2. 运行行./build/tools/caffe
3. 出现了例如-gpu,-weights的参数提示示标识,即为安装成功
2. 测试pycaffe
1. 运行行 python 进入入python
2. 运行行import caffe
3. 无无任何报错出现下一一个“>>”标识,即为安装成功
注意:caffe中运行所有的程序,都必须在根目录下进行,否则会出错.
错误:
运行历程时:
"libcudart.so.8.0 cannot open shared object file: No such file or directory"
解决:
sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig
错误:“cublas_v2.h: No such file or directory”
主要问题还是没有把cuda的头文件、库的路径放置到caffe的Makefile.config中
具体来说:
CUDA中的include、lib路径是安装目录下/usr/local/cuda/targets/x86_64-Linux/下面的include和lib
将其分别添加到caffe根目录下Makefile.config中的"INCLUDE_DIRS"、“LIBRARY_DIRS”后面就可以了。(注意:cuda的版本就自己的而言)
解决:
cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -DCUDA_GENERATION=Kepler ..
错误:
chmod: 无法访问"sh": 没有那个文件或目录
解决:
在当前文件下执行可执行文件要加./chmod 777 *.sh
错误:
fatal error: opencv2/nonfree/nonfree.hpp: 没有那个文件或目录 #include "opencv2/nonfree/nonfree.hpp"
解决:
sudo apt-get update
sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update
sudo apt-get install libopencv-nonfree-dev
安装MATLAB与caffe的接口
首先需要安装MATLAB。
安装教程:https://blog.youkuaiyun.com/m0_37407756/article/details/73187654
配置caffe与MATLAB的接口:
MATLAB_DIR := /usr/local/MATLAB/R2014a
然后就可以编译了,进到caffe的根目录,我是~/caffe
make matcaffe
编译的时候,我有出现警告说我的gcc版本太高了,不过也编译成功了,然后编译下mattest
,测试下编译好的matcaffe是否能用
make mattest
这个转载地址:http://blog.youkuaiyun.com/u012746763/article/details/50419153有降级的。
遇到的错误:
Invalid MEX-file '/home/abc/caffe-master/matlab/+caffe/private/caffe_.mexa64': libhdf5_hl.so.10: cannot
open shared object file: No such file or directory
解决方法:
export LD_LIBRARY_PATH=/path/to/your/anaconda2/lib:$LD_LIBRARY_PATH
我的是
export LD_LIBRARY_PATH=/home/abc/anaconda2/lib:$LD_LIBRARY_PATH