Ubuntu16.04下安装caffe的方法(踩坑无数后的吐血总结)

本文详细记录了在Ubuntu16.04系统下安装NVIDIA显卡驱动、CUDA、cuDNN、opencv及Caffe的全过程,包括每个步骤的命令行操作和可能遇到的问题解决方案,特别适合Linux新手参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        平常较少接触linux系统,因项目需要使用linux下的caffe。为了这一次安装探索了两天,踩了无数的坑,参考了网上很多教程,发现百度里的答案不是内容有错误,就是描述的问题和自己无关。在此把自己的安装过程分享给大家,可能并不适用于每一个人,可以此参考。

        整个安装流程的概括:

        1、NVIDIA显卡驱动

        2、cuda安装(GPU加速使用)

        3、cuDNN配置(深度神经网络的加速计算库)

        4、opencv安装

        5、caffe安装

        6、mnist数据集测试


一、安装NVIDIA显卡驱动

        从官网 http://www.nvidia.com/Download/index.aspx?lang=en-us找到适合自己系统版本的驱动并下载,推荐下载.run格式的。下载好的安装文件放置于/home下即可(注意:不要放到中文目录下,因为之后要使用文本模式操作,中文目录无法读取)。本人下载的驱动是NVIDIA-Linux-x86_64-384.90.run。

        输入命令行:

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

        在最后一行加上 blacklist nouveau ,该操作是为了屏蔽系统自带的显卡驱动

        在终端输入:

          sudo update-initramfs -u

        重启电脑,进入控制台

        首先输入账户和密码(注意要先输账户)

        输入

          sudo init 3     (注意每一步操作都要输密码)  
          sudo rm -r /tmp/.X*  
          sudo service lightdm stop  
          sudo sh NVIDIA-Linux-x86_64-384.90.run


        按提示操作完成后重启电脑,输入命令 sudo nvidia-smi 可查看GPU信息

    


二、安装cuda

        去官网 https://developer.nvidia.com/cuda-downloads 下载适合的cuda,本人下载的是cuda_8.0.61_375.26_linux.run。

        输入 

          sudo ./cuda_8.0.61_375.26_linux.run

        之后经过一长段说明后会跳出一些选项,注意看到Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?时一定要选否

        输入

          sudo gedit ~/.bashrc

        将以下内容写到最后
          export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}  
          export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

         测试cuda的sample

          cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery  
          sudo make  
          sudo ./deviceQuery

         

         可看到相关信息

   


三、配置cuDNN

        去官网 https://developer.nvidia.com/rdp/cudnn-download 下载相关文件,并解压

        进入cuDNN5.1解压之后的include目录,输入:

          cd cuda/include  
          sudo cp cudnn.h /usr/local/cuda/include


     
   链接动态文件,输入

          cd ..  
          cd lib64  
          sudo cp lib* /usr/local/cuda/lib64/  
          sudo chmod a+r/usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*  
  
          cd /usr/local/cuda/lib64/  
          sudo rm -rf libcudnn.so libcudnn.so.5  
          sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 (注意自己下载的版本,不一定一致)  
          sudo ln -s libcudnn.so.5 libcudnn.so


四、安装opencv

        下载opencv安装压缩包,并解压到/home/opencv

        安装前准备,创建编译文件夹:

          cd ~/opencv  
          mkdir build  
          cd build


        使用cmake编译,若没有要事先安装

          sudo apt install cmake  
          sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..  
          sudo make  
          sudo make install

       

        提示:在安装cmake阶段,会出现错误,提示找不到ippicv,是因为其下载速度太慢,我们要事先将它下载好(网上搜),放到/opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e文件夹下


        安装完成后,可用 pkg-config --modversion opencv 查看已安装的opencv版本

   


五、安装caffe

        从github上下载caffe源码并解压

        进行内容复制,输入

          sudo cp Makefile.config.example Makefile.config


        修改配置文件,输入

          sudo gedit Makefile.config


         a.若使用cudnn,则
        将

          #USE_CUDNN := 1

        修改成:

          USE_CUDNN := 1

     
        b.若使用的opencv版本是3的,则
        将

          #OPENCV_VERSION := 3

        修改为:

          OPENCV_VERSION := 3


        c.若要使用python来编写layer,则
        将  

          #WITH_PYTHON_LAYER := 1

        修改为

           WITH_PYTHON_LAYER := 1


        将 # Whatever else you find you need goes here. 下面的

          INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include  
          LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

        修改为:

          INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/local/cuda-8.0/include /usr/include/hdf5/serial  
          LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/local/cuda-8.0/lib64 /usr/lib/x86_64-linux-gnu/hdf5/serial 


        编辑/usr/local/cuda/include/host_config.h

         #error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

        改为

         //#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!


        安装caffe所需的各种依赖库,会用到包括如下

          sudo apt-get update -y  
          sudo apt-get upgrade -y  
          sudo apt-get install build-essential -y  
          sudo apt-get install -y pkg-config automake autoconf  
          sudo apt-get install libprotobuf-dev libleveldb-dev -y  
          sudo apt-get install libsnappy-dev libhdf5-serial-dev protobuf-compiler -y  
          sudo apt-get install libatlas-base-dev -y  
          sudo apt-get install --no-install-recommends libboost-all-dev -y  
          sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev -y  
          sudo apt-get install libopencv-dev -y  
          sudo apt-get install python-pip python-dev -y  
          sudo apt-get install -y python-numpy python-scipy


        进入caffe目录,开始编译caffe

          cd ~/caffe  
          sudo make all -j4


        期间可能会出现很多error,基本上分为两种,一种是缺少相应依赖库,则安装所缺少的相应库,二是路径不对,查看上步所说Makefile.config的路径是否添加

        个人遇到的问题举例:缺少google/protobuf/stubs/common.h  安装 sudo apt-get install libprotobuf-dev

        出现找不到lhdf5_hl和lhdf5的错误, 
        在计算机中搜索libhdf5_serial.so.10.1.0,找到后右键点击打开项目位置
        该目录下空白处右键点击在终端打开,打开新终端输入 

          sudo ln libhdf5_serial.so.10.1.0 libhdf5.so   
          sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so


        最后在终端输入sudo ldconfig使链接生效

        解决完错误后,再次编译前首先 sudo make clean 删除上次不完整编译残留的文件

        继续sudo make all -j4 编译

        成功后使用

          sudo make test -j4
          sudo make runtest -j4 


        看到如下图时,则大功告成了。

   


六、mnist数据集测试

        下载mnist数据集

          cd ~/caffe/data/mnist  
          sudo sh ./get_mnist.sh

        在该目录下将有相应图片和标签文件


        mnist数据格式转换

          cd ~/caffe  
          sudo sh ./example/mnist/create_mnist.sh

        将在mnist文件夹(上个步骤的路径)生成LMDB格式数据集


        训练mnist
          cd ~/caffe  
          sudo sh ./example/mnist/train_lenet.sh


        看到如下结果,则测试成功

   




   

    

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值