https://blog.csdn.net/wang15061955806/article/details/80791112

Ubuntu16.04上安装cudnn教程

2018年06月24日 14:34:24 图形码农 阅读数:3551
 
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wang15061955806/article/details/80791112

查看了caffe最新版程序的install requirement : https://github.com/BVLC/caffe,这里我安装的是CUDA8.0+cudnn5.0(注:其实使用cudnn6.0也可以,但是后来安装tensorfow-gpu1.0.1时,出现cudnn版本问题,其只支持cudnn5.0,似乎要到tensorflow1.3.0后才支持cudnn6.0,反正现在cudnn5.0也够用了!)

下载完成后解压,得到一个 cudn 文件夹,该文件夹下include 和 lib64 两个文件夹,命令行进入 cudn/include 路径下,然后进行以下操作:

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

然后命令行进入 cudn/lib64 路径下,运行以下命令:

  1. sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
  2. cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
  3. sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 #生成软衔接
  4. sudo ln -s libcudnn.so.6 libcudnn.so #生成软链接

安装完成后可用 nvcc -V 命令验证是否安装成功,若出现以下信息则表示安装成功:

  1. yhao@yhao-X550VB:~$ nvcc -V
  2. nvcc: NVIDIA (R) Cuda compiler driver
  3. Copyright (c) 2005-2016 NVIDIA Corporation
  4. Built on Tue_Jan_10_13:22:03_CST_2017
  5. Cuda compilation tools, release 8.0, V8.0.61
     
     
    opencv安装部分参考博客:
    https://blog.csdn.net/cocoaqin/article/details/78163171
    1.去官网下载opencv,在本教程中选用的时opencv3.4.1,其他版本的配置方法异曲同工。
    下载链接http://opencv.org/releases.html,选择sources版本

    2.解压下载下来的zip包

    unzip opencv-3.4.1.zip

    1

    3.进入到解压后的文件包中

    4.安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令

    sudo apt-get install cmake

    1

    sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

    1

    5.安装完cmake之后执行命令 ,创建编译文件夹,不创建的会提示(如下图)
    In-source builds are not allowed.

    mkdir my_build_dir
    cd my_build_dir

    1
        2

    这里写图片描述

    6.cmake一下

    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

    1

    注意:如果已经在新的文件夹中编译,但是还会出现之前的报错,把cmakecache.txt删了再编译就可

    期间可能会下载一个东西,等待一会儿就OK
    这里写图片描述

    7.执行命令,漫长的编译过程

    sudo make

    1

    这里写图片描述

    8.执行命令

    sudo make install

    1

    这里写图片描述

    9.sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

    sudo gedit /etc/ld.so.conf.d/opencv.conf

    1

    执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

    /usr/local/lib

    1

    这里写图片描述

    10.执行如下命令使得刚才的配置路径生效

    sudo ldconfig

    1

    这个时候可能会提示错误如下图所示(上部分)
    这里写图片描述
    sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接
    /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接
    出现这个错误可能是由于系统BUG所致

    只需要分别输入上面图下部分的四行命令就可解决
    sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
    sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
    sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
    sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1

    11.配置bash

    sudo gedit /etc/bash.bashrc

    1

    在最末尾添加

    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
    export PKG_CONFIG_PATH

    1
        2

    保存,执行如下命令使得配置生效

    source /etc/bash.bashrc

    1

    更新

    sudo updatedb

    1

    12.至此所有的配置都已经完成
    下面用一个小程序测试一下

    找到
    cd到opencv-3.4.1/samples/cpp/example_cmake目录下
    我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下
    按顺序执行

    cmake .
    make
    ./opencv_example

    1
        2
        3

    即可看到打开了摄像头,在左上角有一个hello opencv
    即表示配置成功
    ---------------------

Ubuntu16.04上安装cudnn教程和opencv的更多相关文章

  1. Ubuntu16.04上安装neo4j数据库

    什么是neo4j数据库? neo4j数据库是图数据库的一种,属于nosql的一种,常见的nosql数据库还有redis.memcached.mongDB等,不同于传统的关系型数据库,nosql数据也有 ...

  2. 在ubuntu16.04上安装eclipse

     在ubuntu16.04上安装eclipse 一.下载     首先我们需要安装jdk1.8及其以上,然后从官网:https://www.eclipse.org/downloads/上下载,需要注意 ...

  3. Ubuntu 20.04上安装MySQL教程,ubuntu安装mysql

    在Ubuntu 20.04上安装MySQL教程 先决条件 确保您以具有sudo特权的用户身份登录. 在Ubuntu上安装MySQL 在撰写本文时,Ubuntu存储库中可用的MySQL的最新版本是MyS ...

  4. 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)

    一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...

  5. Ubuntu16.04 上安装MySQL5.7

    Ubuntu版本:16.04.4 1.先更新最新的源 sudo apt-get update 2.查看是否已经安装过mysql sudo netstat -tap | grep mysq 如果没有安装 ...

  6. ubuntu16.04上安装配置DHCP服务的详细过程

    DHCP服务器是为客户端机器分配IP地址的,所有分配的IP地址都保存在DHCP服务器的数据库中.为了在子网中实现DHCP分配IP地址,需要在目标主机上安装配置DHCP服务 1. 安装DHCP服务 安装 ...

  7. ubuntu16.04上安装深度学习基本框架caffe2 pytorch tensorflow opencv

    anaconda3.5.2.0----python3.6: conda  install   tensorflow-gpu  -y --prefix  /media/wkr/diskHgst/ubun ...

  8. 在 Ubuntu16.04上安装anaconda+Spyder+TensorFlow(支持GPU)

    TensorFlow 官方文档中文版 http://www.tensorfly.cn/tfdoc/get_started/introduction.html https://zhyack.github ...

  9. 在Ubuntu16.04上安装virtualbox后无法装载vboxdrv模块

    首先按照:http://blog.csdn.net/ipsecvpn/article/details/52175279 这个网址上的教程安装, 安装完成后报错:大体意思就是vboxdrv没有被内核装载 ...

随机推荐

  1. 扩展的Sobel 算子

    Custom Extended Sobel Filters  https://arxiv.org/pdf/1910.00138.pdf sobel算子是进行边缘检测的一个重要算子.它通常是一个3x3的 ...

  2. 51nod 1009:数字1的数量

    1009 数字1的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个 ...

  3. Day6 - K - 陌上花开 HYSBZ - 3262

    有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),用三个整数表示. 现在要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量. 定义一朵花A比另一朵花B要美丽,当且仅Sa>= ...

  4. Day6 - 牛客203E

    https://ac.nowcoder.com/acm/contest/203/E 埋坑不会做

  5. java核心-多线程(4)-线程类基础知识

    1.并发 <1>使用并发的一个重要原因是提高执行效率.由于I/O等情况阻塞,单个任务并不能充分利用CPU时间.所以在单处理器的机器上也应该使用并发. <2>为了实现并发,操作系 ...

  6. DateTimePicker控件在WinXP下的BUG

    如图,通过图示的按钮改变datetimepicker的值 ,弹出MessageBox, datetimePicker重新获得焦点后,自动重复点击按钮. 解决办法: new Thread(() => ...

  7. Make the PE file consistent when code not changed

    参考:http://www.mouseos.com/assembly/06.html 参考:http://www.cnblogs.com/tk091/archive/2012/04/18/245617 ...

  8. ASP.NETCore -----导出Excel文件并下载

    本事例分为nopi(安装DotNetCore.NPOI)下载和EPPlus(EPPlus.Core.dll)下载,其中npoi下载演示的是根据执行的模板进行数据下载 npoi帮助类NpoiExcelU ...

  9. 载域和运行域的理解(ARM程序是怎么运行的)

    对ARM加载域和运行域的理解 一般而言,一个程序包括只读的代码段和可读写的数据段.在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly):可读写的全局变量和静态变量被称作RW段( ...

  10. POJ1723 SOLDIERS 兄弟连

    SOLDIERS 有一个性质:在一个长为n的序列a中找一个数 \(a_k\) 使得 \(\sum\limits_{i=1}^n abs(a_i-a_k)\) 最小,则 \(a_k\) 是a的中位数. ...