ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历

前端之家收集整理的这篇文章主要介绍了ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

首先说明,这是在笔记本上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双系统,显卡为nvidia gt740m
win10上没有装nvidia gt740m驱动,也就是用的集显,测试发现若装了nvidia gt740m驱动会无法进去ubuntu,重装无数次的经验


废话不多说,上车吧,少年

一、安装nvidia显卡驱动

  1. 进入ubuntu系统设置-软件与更新-ubuntu软件,使用的是中科大的源:http://mirrors.ustc.edu.cn/ubuntu,如下所示



  2. 更新Ubuntu16.04源

    终端输入
    cd /etc/apt/
    sudo cp sources.list sources.list.bak
    sudo vi sources.list
    把下面的这些源添加到source.list中:
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    最后更新源和更新已安装的包:
    终端输入
    sudo apt-get update
    sudo apt-get upgrade

  3. 进入ubuntu系统设置-软件与更新-附加驱动中选择下图所示选项进行驱动安装

    gt740m驱动测试

    nvidia-smi
    显示效果如下图表示安装成功

  4. @H_403_96@

    二、cuda安装

    1. 下载cuda_7.5.18_linux.run和cudnn-7.5-linux-x64-v5.1.tgz

      这里我提供了百度网盘,这两个文件我先在win10下下载好,并用u盘拷贝到ubuntu的下载目录下

    2. 安装cuda7.5

      cd 下载/
      sh cuda_7.5.18_linux.run --override
      启动安装程序,一直按空格到最后,输入accept接受条款
      输入n不安装nvidia图像驱动,之前已经安装过了
      输入y安装cuda 7.5工具
      回车确认cuda默认安装路径:/usr/local/cuda-7.5
      输入y用sudo权限运行安装,输入密码
      输入y或者n安装或者不安装指向/usr/local/cuda的符号链接
      输入y安装CUDA 7.5 Samples,以便后面测试
      回车确认CUDA 7.5 Samples默认安装路径:/home/pawn(pawn是我的用户名),该安装路径测试完可以删除

    3. 安装cudnn v5.1

      tar zxvf cudnn-7.5-linux-x64-v5.1.tgz
      解压在下载目录下产生一个cuda目录
      cd cuda/include/
      sudo cp cudnn.h /usr/local/cuda/include/复制头文件
      cd ../lib64打开lib64目录
      sudo cp lib* /usr/local/cuda/lib64/复制库文件
      sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*给所有用户增加这些文件的读权限

    4. 建立软链接

      cd /usr/local/cuda/lib64/
      sudo rm -rf libcudnn.so libcudnn.so.5
      sudo ln -s libcudnn.so.5.1.3 libcudnn.so.5
      sudo ln -s libcudnn.so.5 libcudnn.so
      设置环境变量,终端输入
      sudo gedit /etc/profile
      在末尾加入
      PATH=/usr/local/cuda/bin:$PATH
      export PATH
      保存后,创建链接文件
      sudo vim /etc/ld.so.conf.d/cuda.conf
      按a进入插入模式,增加下面一行
      /usr/local/cuda/lib64
      按esc退出插入模式,按:wq保存退出
      最后在终端输入sudo ldconfig使链接生效

    5. cuda Samples测试

      打开CUDA 7.5 Samples默认安装路径,终端输入
      cd /home/pawn/NVIDIA_CUDA-7.5_Samples(pawn是我的用户名
      sudo make all -j4(4核)
      出现“unsupported GNU version! gcc versions later than 4.9 are not supported!”错误,这是由于GCC版本过高,在终端输入
      cd /usr/local/cuda-7.5/include
      sudo cp host_config.h host_config.h.bak
      sudo gedit host_config.h
      ctrl+f寻找有“4.9”的地方,只有一处,如下
      # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9)
      #error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
      将两个4改成5,即
      # if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 9)
      保存退出,继续在终端输入
      sudo make all -j4(4核)
      完成后继续向终端输入
      cd bin/x86_64/linux/release
      ./deviceQuery
      完成之后出现如下图所示,表示成功安装cuda


    6. @H_403_96@


      三、依赖包安装

      1. sudo apt-get install build-essential#必要的编译工具依赖

      2. sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

      3. sudo apt-get install --no-install-recommends libboost-all-dev

      4. sudo apt-get install libatlas-base-dev

      5. sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

      6. @H_403_96@

        1. 安装python的pip和easy_install,方便安装软件包

          cd
          wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
          sudo python ez_setup.py --insecure
          wget https://bootstrap.pypa.io/get-pip.py
          sudo python get-pip.py

        2. @H_403_96@

          1. 安装科学计算和python所需的部分库

            sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy

          2. @H_403_96@

            1. 安装git,拉取源码

              sudo apt-get install git
              git clone https://github.com/BVLC/caffe.git

            2. @H_403_96@

              1. 安装python依赖

                sudo apt-get install python-pip安装pip
                sudo su
                for req in $(cat "requirements.txt"); do pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done
                按Ctrl+D退出sudo su模式

              2. @H_403_96@

                八、编译caffe(暂不对matlab说明)

                1. cd /home/pawn/caffe
                  cp Makefile.config.example Makefile.config
                  gedit Makefile.config

                  ①将USE_CUDNN := 1取消注释,

                  INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include后面打上一个空格 然后添加/usr/include/hdf5/serial如果没有这一句可能会报一个找不到hdf5.h的错误

                2. make all -j4
                  make过程中出现string.h ‘memcy’ was not declared in this scope错误是由于gcc编译器版本太新,如下图


                  解决方法如下:
                  终端输入
                  vim Makefile
                  键盘输入/NVCCFLAGS += -c回车,定位到409行
                  按a进入插入模式,修改
                  NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

                  NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
                  按esc退出插入模式,按:wq保存退出

                  终端中输入make clean清除第一次编译结果
                  再次输入make all -j4重新编译
                  make过程中又出现找不到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使链接生效

                  原终端中再次输入make all -j4重新编译

                3. make test -j4
                  make runtest -j4
                  make pycaffe -j4
                  make distribute生成发布安装包

                4. 测试python,终端输入
                  cd /home/pawn/caffe/python
                  python
                  import caffe
                  如果不报错就说明编译成功

                5. @H_403_96@

                  九、mnist测试

                  1. 下载mnist数据集,终端输入
                    cd /home/pawn/caffe/data/mnist/
                    ./get_mnist.sh获取mnist数据集
                    /home/pawn/caffe/data/mnist/目录下会多出训练集图片、训练集标签、测试集图片和测试集标签等4个文件

                  2. mnist数据格式转换,终端输入
                    cd /home/pawn/caffe/
                    ./examples/mnist/create_mnist.sh
                    必须要在第一行之后运行第二行,即必须要在caffe根目录下运行create_mnist.sh
                    此时在/caffe/examples/mnist/目录下生成mnist_test_lmdb和mnist_train_lmdb两个LMDB格式的训练集和测试集

                  3. LeNet-5模型描述在/caffe/examples/mnist/lenet_train_test.prototxt

                  4. Solver配置文件/caffe/examples/mnist/lenet_solver.prototxt

                  5. 训练mnist,执行文件/caffe/examples/mnist/train_lenet.sh
                    终端输入
                    ./examples/mnist/train_lenet.sh
                    测试结果如下

                  6. @H_403_96@

猜你在找的Ubuntu相关文章