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. (转)如何判断VPS是基于哪种虚拟技术?Xen、OpenVZ、Xen HVM、KVM还是VMware

    对于VPS新手来说,怕被无良的奸商给忽悠,下的Xen的却给的OpenVZ的,如何来判断自己买的VPS是那种虚拟技术的,下面VPS侦探整理一些常见的方法. 1.通过系统上的相关目录或文件判断 执行:ls ...

  2. decompiler of java

    运维了两个java项目,但是没有源代码,整天都是各种问题,各方面都不配合.我也只是个小小的兵,但是工作还是要做. 转机 偶然想试一试decomplier,就找到了gd-gui,感觉用着挺好的,到把项目 ...

  3. SpringBoot#应用启动后执行某些逻辑

    // 方式1 @Component public class WhenStartupA implements InitializingBean { @Override public void afte ...

  4. 多个Activity跳转的小结

    第一个例子:demo1 Main—>SecondActivity—>Main 从流程上看就是从Main跳转到SecondActivity,再从SecondActivity返回到Main.也 ...

  5. 爬虫(十六):Scrapy框架(三) Spider Middleware、Item Pipeline

    1. Spider Middleware Spider Middleware是介入到Scrapy的Spider处理机制的钩子框架. 当Downloader生成Response之后,Response会被 ...

  6. 01.Delphi最简单的接口

    我想学习一个插件框架,但是那个框架里面大量用到了接口,于是不得不把接口看一下了.总感觉接口编程这一块非常的绕,每一行都注释了. unit Unit1; interface uses Windows, ...

  7. 创建springboot2.1项目运行报错

    刚创建好一个项目,运行就报错:in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging ...

  8. 单调栈应用--将一个数删除n各数字之后的最大\最小值

    E. Playing with numbers time limit per test 2.0 s memory limit per test 64 MB input standard input o ...

  9. POJO,JavaBean,entity的理解

    POJO本质是就是JavaBean JavaBean JavaBean实际上是指一种特殊的Java类,它通常用来实现一些比较常用的简单功能,并可以很容易的被重用或者是插入其他应用程序中去.所有遵循“一 ...

  10. java第三周