ubuntu14+cuda8+cudnn5+anaconda2+caffe
本人的系统环境:Ubuntu14.04
安装前准备:
$ lspci | grep -i nvidia
$ uname -m && cat /etc/*release
$ gcc --version
$ uname -r(查看系统内核版本)
$ sudo apt-get install linux-headers-$(uname -r) (安装对应的kernels header和开发包)
1. 禁用 nouveau 驱动
打开终端输入:
$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在打开的文件中输入:
blacklist nouveau
options nouveau modset=0
保存退出,在终端执行:
$ sudo update-initramfs -u
重启电脑。
验证驱动是否禁用成功:
$ sudo lspci | grep nouveau(如果没有内容,则禁用成功。)
2.安装CUDA 8.0
有的人说先安装显卡驱动,不使用cuda里面带的驱动,但是我真的是装了五六次没成功,安装完后会出现各种各样的问题```````血泪史啊!
运行放在/home下的下载好的 runfile (假设cuda.run)。
重启电脑,进入登录界面的时候,不要登录进入桌面(否则可能会失败,若不小心进入,请重启电脑),直接按 Ctrl+Alt+F1 进入文本模式(命令行界面),登录账户。
关闭图形化界面:
$ sudo service lightdm stop
$ sudo sh cuda.run
遇到提示是否安装openGL ,选择no,其他的可以一路accept, yes或回车即可。安装成功后,会显示installed,否则会显示failed。
重启图形化界面
$ sudo service lightdm start
登录时能进入桌面,不会一直在重复登录,成功离我们不远了。
验证是否安装成功:
$ ls /dev/nvidia*
若生成 4 个左右 Nvidia 开头的文件,说明此步安装成功。此时已经安装好显卡驱动和CUDA 8.0。
如果没有/dev/nvidia-num或者什么都没有,那么可以试试下面的操作:
把下面的 .sh 文件随便命个名(我命名为 n.sh )
#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
/sbin/modprobe nvidia-uvm
if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi
然后执行
$ sudo chmod +x Nka.sh
$ sudo ./n.sh
$ ls /dev/nvidia*
显示:
/dev/nvidia0
/dev/nvidiactl
/dev/nvidia-uvm
为了下次开机简单,我们把上述文件添加到启动程序:
$ sudo vi /etc/rc.local
如果你是第一次打开这个文件,它应该是空的(除了一行又一行的 # 注释项外)。这文件的第一行是#!/bin/sh -e
把 -e 去掉(这步很重要,否则它不会加载这文本的内容)
然后把 n.sh 的内容除了 #!/bin/bash 外复制到其中,(before exit 0 )保存退出。
下次重启时,你应该能直接看到 /dev 目录下的三个 nvidia 的文件
输入: $ nvidia-smi查看显卡驱动和其他信息。
配置环境变量:
$ sudo gedit /etc/profile
打开 gedit ,最后两行输入:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
保存退出,环境变量配置完成。
3.安装 cuDNN5.1
将下载好的压缩包放在/home下:
$ sudo tar xvf cudnn.tgz
$ 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.5.1.10
$ sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
$ sudo ln -sf libcudnn.so.5 libcudnn.so
$ sudo ldconfig
PS:libcudnn.so后面跟的数字可能和你下载的 cudnn 包小版本的不同而不同,去~/cuda/lib64下看一眼,相对应地进行修改。
4.安装anaconda2
自行下载对应安装包:
$ bash Anaconda2-4.3.1-Linux-x86_64.sh
在安装过程中,会问安装路径,按回车即可。询问是否添加到~/.bashrc中,回复yes即可。
安装完成后,执行命令如下:
$ source ~/.bashrc
随后,输入如下命令可即查看已经安装完成的库:
$ conda list
5.编译caffe
安装依赖:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install -y build-essential cmake git pkg-config
$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev protobuf-compiler
$ sudo apt-get install -y libatlas-base-dev
$ sudo apt-get install -y --no-install-recommends libboost-all-dev
$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
下载:
$ git clone https://github.com/BVLC/caffe.git
$ cd caffe
$ cp Makefile.config.example Makefile.config
$ sudo gedit Makefile.config(按照自己电脑配置更改)
$ make all
$ make test
$ make runtest
$ make pycaffe
配置caffe完成后,我们可以利用MNIST数据集对caffe进行测试,过程如下:
将终端定位到Caffe根目录:cd ~/caffe
下载MNIST数据库并解压缩:./data/mnist/get_mnist.sh
将其转换成Lmdb数据库格式:./examples/mnist/create_mnist.sh
训练网络:./examples/mnist/train_lenet.sh
训练完可以看到损失与精度数值:
安装前准备:
$ lspci | grep -i nvidia
$ uname -m && cat /etc/*release
$ gcc --version
$ uname -r(查看系统内核版本)
$ sudo apt-get install linux-headers-$(uname -r) (安装对应的kernels header和开发包)
1. 禁用 nouveau 驱动
打开终端输入:
$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在打开的文件中输入:
blacklist nouveau
options nouveau modset=0
保存退出,在终端执行:
$ sudo update-initramfs -u
重启电脑。
验证驱动是否禁用成功:
$ sudo lspci | grep nouveau(如果没有内容,则禁用成功。)
2.安装CUDA 8.0
有的人说先安装显卡驱动,不使用cuda里面带的驱动,但是我真的是装了五六次没成功,安装完后会出现各种各样的问题```````血泪史啊!
运行放在/home下的下载好的 runfile (假设cuda.run)。
重启电脑,进入登录界面的时候,不要登录进入桌面(否则可能会失败,若不小心进入,请重启电脑),直接按 Ctrl+Alt+F1 进入文本模式(命令行界面),登录账户。
关闭图形化界面:
$ sudo service lightdm stop
$ sudo sh cuda.run
遇到提示是否安装openGL ,选择no,其他的可以一路accept, yes或回车即可。安装成功后,会显示installed,否则会显示failed。
重启图形化界面
$ sudo service lightdm start
登录时能进入桌面,不会一直在重复登录,成功离我们不远了。
验证是否安装成功:
$ ls /dev/nvidia*
若生成 4 个左右 Nvidia 开头的文件,说明此步安装成功。此时已经安装好显卡驱动和CUDA 8.0。
如果没有/dev/nvidia-num或者什么都没有,那么可以试试下面的操作:
把下面的 .sh 文件随便命个名(我命名为 n.sh )
#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
/sbin/modprobe nvidia-uvm
if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi
然后执行
$ sudo chmod +x Nka.sh
$ sudo ./n.sh
$ ls /dev/nvidia*
显示:
/dev/nvidia0
/dev/nvidiactl
/dev/nvidia-uvm
为了下次开机简单,我们把上述文件添加到启动程序:
$ sudo vi /etc/rc.local
如果你是第一次打开这个文件,它应该是空的(除了一行又一行的 # 注释项外)。这文件的第一行是#!/bin/sh -e
把 -e 去掉(这步很重要,否则它不会加载这文本的内容)
然后把 n.sh 的内容除了 #!/bin/bash 外复制到其中,(before exit 0 )保存退出。
下次重启时,你应该能直接看到 /dev 目录下的三个 nvidia 的文件
输入: $ nvidia-smi查看显卡驱动和其他信息。
配置环境变量:
$ sudo gedit /etc/profile
打开 gedit ,最后两行输入:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
保存退出,环境变量配置完成。
3.安装 cuDNN5.1
将下载好的压缩包放在/home下:
$ sudo tar xvf cudnn.tgz
$ 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.5.1.10
$ sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
$ sudo ln -sf libcudnn.so.5 libcudnn.so
$ sudo ldconfig
PS:libcudnn.so后面跟的数字可能和你下载的 cudnn 包小版本的不同而不同,去~/cuda/lib64下看一眼,相对应地进行修改。
4.安装anaconda2
自行下载对应安装包:
$ bash Anaconda2-4.3.1-Linux-x86_64.sh
在安装过程中,会问安装路径,按回车即可。询问是否添加到~/.bashrc中,回复yes即可。
安装完成后,执行命令如下:
$ source ~/.bashrc
随后,输入如下命令可即查看已经安装完成的库:
$ conda list
5.编译caffe
安装依赖:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install -y build-essential cmake git pkg-config
$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev protobuf-compiler
$ sudo apt-get install -y libatlas-base-dev
$ sudo apt-get install -y --no-install-recommends libboost-all-dev
$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
下载:
$ git clone https://github.com/BVLC/caffe.git
$ cd caffe
$ cp Makefile.config.example Makefile.config
$ sudo gedit Makefile.config(按照自己电脑配置更改)
$ make all
$ make test
$ make runtest
$ make pycaffe
配置caffe完成后,我们可以利用MNIST数据集对caffe进行测试,过程如下:
将终端定位到Caffe根目录:cd ~/caffe
下载MNIST数据库并解压缩:./data/mnist/get_mnist.sh
将其转换成Lmdb数据库格式:./examples/mnist/create_mnist.sh
训练网络:./examples/mnist/train_lenet.sh
训练完可以看到损失与精度数值:
可以看到最终训练精度是0.9914。
PS:(1).如果出现
In file included from /usr/include/boost/python/detail/prefix.hpp:13:0,
from /usr/include/boost/python/args.hpp:8,
from /usr/include/boost/python.hpp:11,
from src/caffe/layer_factory.cpp:4:
/usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: 没有那个文件或目录
# include <pyconfig.h>
^
compilation terminated.
make: *** [.build_release/src/caffe/layer_factory.o] 错误 1
.
(2)如果出现
.build_release/tools/caffe
.build_release/tools/caffe: error while loading shared libraries: libhdf5_hl.so.10: cannot open shared object file: No such file or directory
make: *** [runtest] Error 127
.