安装Caffe纪实

Posted 公迪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装Caffe纪实相关的知识,希望对你有一定的参考价值。

第一章 引言

     ubuntu16.04安装caffe,几乎折腾了一个月终于成功;做一文章做纪要,以便日后查阅。总体得出的要点是:首先,每操作一步,必须知道如何检验操作的正确性;笔者的多次失误是因为配置错误,但疏于检查引起;当然有些错误是ubuntu本身的bug;笔者不知,只能来来回回‘鬼打墙’直到某日发现;另一个经验只谈是对每一个支撑尽量知道它是用来干什么的,多百度几下没有坏处;最后一个经验是,对系统的基本结构要要框架了解,比如,通过apt-get的软件放在哪里,通过make install的软件又放在哪里;还有,编译的时候各种文件支持和路径支持在什么地方,这些诸多要素只能是点点滴滴积累。

     本次安装目标:

        1)保证是GPU版本的;

        2)保证对Python支持;

第二章 安装ubuntu16-0-4

     2.1 安装

     这个过程基本没啥说的,有三个要点;

        1)需要选择中文(否则就等着重装吧!);

        2)要有WIFI先连上,这样省点时间;

        3)安装好以后,进入系统; 立刻执行

             >>>sudo apt-get update

             >>>sudo apt-get upgrade 

      2.2 可能出现的出错提示和解决

       出现:AppStream cache update completed, but some metadata was ignored due to errors;

error message due to invalid AppStream file


      
这是ubuntu本身的bug参考文;笔者是通过更换数据源反复执行sudo apt-get updatesudo apt-get upgrade完成,注意,这步很重要,很多编译错误从这里产生。

        出现:

  下列软件包的版本将保持不变:
  gnome-software gnome-software-common liboxideqt-qmlplugin liboxideqtcore0
  liboxideqtquick0 oxideqt-codecs snapd ubuntu-core-launcher ubuntu-software
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 9 个软件包未被升级

        解决:sudo apt-get install gnome-software

             sudo apt-getinstall liboxideqt-qmlplugin

              sudo apt-get install snapd

        一般不必装9个就可以,因为互相依赖,每装一个,同时将依赖包装好。     

 

2.3安装质量检验

  sudo apt-get update

  sudo apt-get upgrade

最后出现下面提示就OK了:

升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级,

到此,ubuntu安装成功!



第三章 安装Nvidia驱动程序让屏幕绚起来

3.1 安装英伟达驱动

      sudo add-apt-repository ppa:graphics-drivers/ppa    (回车后继续)
    sudo apt-get update
    sudo apt-get install nvidia-367
 
   sudo apt-get install mesa-common-dev
    sudo apt-get install freeglut3-dev  

 

3.2 重新启动操作系统

        之后重启系统让GTX1060显卡驱动生效 

进入全新界面,立刻执行

sudo apt-get update sudo apt-get upgrade  这一对指令。

3.3 安装质量检验

1检查指令: 

        运行:nvidia-smi nvidia-settings 分别看到效果;

** Message: PRIME: No offloading required. Abort

** Message: PRIME: is it supported? No

这种提示属于正常。

2 检查程序;测试OpenGL

#include <GL/glut.h>

void init(void)

{

glClearColor(0.0, 0.0, 0.0, 0.0);

glMatrixMode(GL_PROJECTION);

glOrtho(-5, 5, -5, 5, 5, 15);

glMatrixMode(GL_MODELVIEW);

gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);



return;

}



void display(void)

{

glClear(GL_COLOR_BUFFER_BIT);

glColor3f(1.0, 0, 0);

glutWireTeapot(3);

glFlush();



return;

}



int main(int argc, char *argv[])

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

glutInitWindowPosition(0, 0);

glutInitWindowSize(300, 300);

glutCreateWindow("OpenGL 3D View");

init();

glutDisplayFunc(display);

glutMainLoop();



return 0;

}

编译程序:gcc -o test test.c -lGL -lGLU -lglut

test:执行后显示窗口。

3.4 另一法--安装Nvidia显卡驱动

首先,禁用可能导致问题的开源驱动,编辑/etc/modprobe.d/blacklist.conf

sudo vim /etc/modprobe.d/blacklist.conf

添加以下内容:

blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist nvidiafb
blacklist rivatv

卸载干净所有安装过的nvidia驱动;

sudo apt-get remove  --purge nvidia-*

执行以下命令添加驱动源;

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update

以下步骤建议Ctrl+Alt+F1切换到tty1执行;

sudo service lightdm stop

sudo apt-get install nvidia-375 nvidia-settings nvidia-prime
sudo nvidia-xconfig

sudo apt-get install mesa-common-dev         //安装缺少的库
sudo apt-get install freeglut3-dev 

sudo update-initramfs -u
sudo reboot

重启应该就不会遇到循环登录的问题;





第四章 安装cuda8.0

4.1 下载安装cuda8.0    

        下载 cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb

      将它存入目录/home/tmp,并进入>>>cd /home/tmp,接着执行:

         >>>sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb

         >>>sudo apt-get update

         >>>sudo apt-get install cuda

4.2 配置cuda环境

      配置环境变量1:  

                 执行

                      >>> sudo gedit ~/.bashrc

                 进入gedit编辑器,在文件的尾部,加入:

                          export PATH="/usr/local/cuda-8.0/bin:$PATH"

                          export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"

更周全的写法是:

                       if  [ ! -n "$PATH" ] ;then
                              export PATH="/usr/local/cuda-8.0/bin"
                         else
                               export PATH="/usr/local/cuda-8.0/bin:$PATH"
                        fi

                        if  [ ! -n "$LD_LIBRARY_PATH" ] ;then
                                  export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64"
                       else
                                  export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
                        fi



存盘退出;执行:

                     >>> source ~/.bashrc

                (此处最好用 echo $PATH echo $LD_LIBRARY_PATH 检查一下有没有错误,非常重要!!)

      
配置环境变量2:
                 
执行:

                     >>> sudo gedit /etc/profile
                  
在打开的文件末尾加入:
                        export PATH="/usr/local/cuda/bin:$PATH"      (
等号后不可有空格)

更严密的写法:

            if  [ ! -n "$PATH" ] ;then
                  export PATH="/usr/local/cuda/bin"
           else
                  export PATH="/usr/local/cuda/bin:$PATH"
             fi

创造链接:
                   >>> sudo gedit /etc/ld.so.conf.d/cuda.conf
在打开的文件末尾加入:(此时为空文件)
/usr/local/cuda/lib64

然后执行:

>>> sudo ldconfig

4.3检查cuda的安装

进入cuda的安装路径,

>>> cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

编译:

>>> sudo   make
>>> sudo   ./deviceQuery  
(执行编译后的测试程序)

显示:

一整屏幕的信息;最后一句是:

       Result = PASS

此时说明cuda安装成功,因为后面的操作可能破坏cuda,操作前后经常检查cuda是否OK.



第五章 安装CUDNN5.1python

5.1安装cudnn部分

下载cudnn,费时很长,建议下载后保存。

解压:

tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz   

此步骤后,生成cuda目录;

进入cuda后,有include lib64 两个子目录 。进入include目录:

    sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件

退出include;

进入lib64目录:

            sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库
进入目标目录:

 cd /usr/local/cuda/lib64/
修改文件软链接:
sudo rm -rf libcudnn.so libcudnn.so.5    #删除原有动态文件
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5  #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so      #生成软链接
(源目录中有两个软链接,libcudnn.so libcudnn.so.5,将他们删除,建立你具体版本5.1.5的软链接)
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*    
给所有用户增加这些文件的读权限;

5.2升级python部分

1 基本pythonpython Caffe片段

2022.11.06配置pytorch纪实

Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)

如何在Windows上安装和使用Caffe

uplload 通关纪实 pass7

uplload 通关纪实 pass7