「Deep Learning」Caffe+GTX1080+CUDA8.0+cudnn5.0

来源:互联网 发布:万网域名whois 编辑:程序博客网 时间:2024/06/03 14:28
Sina Weibo:东莞小锋子Sexyphone
Tencent E-mail:403568338@qq.com
http://blog.csdn.net/dgyuanshaofeng/article/details/53410856

深度学习,赶紧上车。。。
一、Ubuntu系统
    通常安装14.04的版本,我一直用这个版本。官方支持12.04-16.04。我在这里遇到一个坑,实验室的深度学习机器装14.04.4居然不成功,grub界面进去,然后黑屏,偏偏装14.04.5可以,一路不黑屏。我记得我第一次装这个机器的时候,用的是14.04.5,当时是会黑屏的,因为X99 UD4这个主板没有集成显卡,我直接用独立显卡。根据参考1,在grub界面,选中“Ubuntu”,按“e”进入开机指令编辑,找到“quiet splash”,删掉“--”,添加“nomodeset”,然后Ctrl+x或者F10进去。
    先用UtralISO做一个系统盘,见参考2。然后将U盘插入主机,按快捷键启动,实验室的机器是F12。然后就安装了,见参考3。进行四次分盘,分别是"/"100GB,“swap area”20GB,“/boot”2GB,“/home”剩余,大约450GB,其中第一个为了以后安装MATLAB,并且是主分区,其他为逻辑分区。/home这个大为了装数据等等。
    安装结束之后,记得在系统设置那里禁止系统自动更新。因为驱动更新会破坏桌面或者系统。我写这个记录,其实就是为了记住惨痛,因为一个月前,我轻松安装完了之后,居然忘记了怎么安装了,找零散的教程浪费了很多时间。

二、Nvidia显卡驱动、CUDA8.0、cudnn5.0
    准备:这些都是从英伟达官网进行下载。是否是稳定版本,没有查。其中,GTX1080要求CUDD8.0。
    1、NVIDIA-Linux-x86_64-367.57.run; 
    2、cuda_8.0.44_linux.run;
    3、cudnn-8.0-linux-x64-v5.0-ga.tgz。
    主要根据参考4进行安装,按照教程装过两次,没有问题,cudnn可能是由于自己不会装,两次编译caffe的时候均报错。首先进入tty模式,Ctrl+Alt+F1。
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
输入内容:“i”为插入,然后“Esc”退出,“:wq”保存退出。
blacklist nouveauoptions nouveau modset=0
执行:
sudo update-initramfs -ulspci|grep nouveau
禁用设置结束。下面是安装显卡驱动。执行:
sudo service lightdm stopsudo chmod 755 NVIDIA-Linux-x86_64-367.57.runsudo ./NVIDIA-Linux-x86_64-367.57.runsudo service lightdm start
然后会看到显示器变好了。执行:
nvidia-smi
查看显卡信息,功率、温度等。在caffe训练模型的时候,可以看模型占用显存、功率等等。下面是出故障的时候,在tty模式下面查询的,跟在终端看到的一样。

下面安装CUDA8.0,执行
sudo sh cuda_8.0.44_linux.run
按照参考4所说的,除了第二项之外,都是yes。第二项就是上面安装的驱动。安装结束之后,添加
sudo gedit /etc/profileexport PATH=/usr/local/cuda-8.0/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATHsudo ldconfig
安装依赖或库
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-devsudo apt-get install libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx
我两次安装libgl1-mesa-glx都没有成功,但是没有影响下面。
进入到samples
cd /usr/local/cuda/samples
编译
sudo make all -j$(nproc)#sudo make all -j4#sudo make all -j8
第一句其实自动获取cpu核心数目,后面句子就是指定用几个了。caffe编译的时候也可以这么写。
进入到release
cd ./bin/x86_64/linux/release
运行
./deviceQuery

下面安装cudnn5.0
解压
tar xvzf cudnn-8.0-linux-x64-v5.0-ga.tgz
然后继续
cd cudasudo cp lib64/lib* /usr/local/cuda/lib64/sudo cp include /cudnn.h /usr/local/cuda/include/cd /usr/local/cuda/lib64/sudo chmod +r libcudnn.so.5.0.5sudo ln -sf libcudnn.so.5.05 libcudnn.so.5sudo ln -sf libcudnn.so.5 libcudnn.sosudo ldconfig
结束了。

三、Caffe框架
    根据参考4和官方信息 Ubuntu Installation进行编译。
    General dependencies:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-dev
    CUDA: we use CUDA8.0 because of the usage of hardware GTX1080, need not do it
    BLAS:
sudo apt-get install libatlas-base-dev
    Python: we use anaconda2, need not do it
    Remaining dependencies: only for Ubuntu14.04
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
   Compilation with Make:
cp Makefile.config.example Makefile.configmake all -j$(nproc)make test -j$(nproc)make runtest -j$(nproc)
我与参考4遇到一样的错误,libcudart.so.8.0。这个错误,我在跑faster rcnn的时候也遇到类似的。解决就是按照参考4。执行:
ln -s /usr/local/cuda/lib64/*.so /usr/lib#ln -s /usr/local/cuda/lib64/*.so /libsudo ldconfigsudo gedit /etc/ld.so.conf/usr/local/cuda-8.0/lib64
make test没有问题,make runtest报告两个nopass。
至此,差不多了,估计跑caffe了。致谢参考4。

四、Matlab Python接口
   这部分,我在后面有空会再补充,不能,就是在makefile.config里面修改路径就好。
   Matlab的话,我用过R2014b。
   Python的话,我用过Anaconda2。这里还要另外安装一个protobuf2.6.1。

五、问题解决
    1、下载Caffe依赖或者CUDA8.0依赖的时候,可能遇到“E: Unable to locate package xxx”;
    解决:更新源
sudo apt-get update

参考:
    1、ubuntu安装时N卡黑屏处理
    2、Ubuntu14.04 安装及使用:[1]制作安装U盘
    3、win7+ubuntu 13.04双系统安装方法
    4、【希望对新手有帮助】Ubuntu14.04+CUDA8.0+GTX1080+caffe配置教程

其他(没有用上):
删除驱动
http://blog.csdn.net/fieldoffier/article/details/50354607
tty模式下拿回数据
http://blog.csdn.net/langb2014/article/details/51567460

最后上一个实验室的深度学习机器图

0 0