• ubuntu 16.04 + cuda8.0 + cudnn 6.1 + tensorflow 1.4.0


    参考文献:https://www.cnblogs.com/zzq-123456/p/7258736.html

         https://www.cnblogs.com/zzq-123456/p/7374547.html

    pip安装

      sudo apt-get install python-pip

      最好将pip安装为9.0的版本,不然在PyCharm中不能使用pip安装相应的工具包

      修改pip的版本:python-m pip install pip==9.0.03

    2. cuda8.0安装(直接按照参考文献1进行配置,这里将其搬过来,只为日后使用,加上和该博主不是一般的熟,所以照搬是没有关系的)

    一.检查电脑环境

    !!!!打开系统后,按 F2 进入 boot 界面,确定secure boot 选项是 disable,如果是enable状态,请先切换到disable选项,否则后续会出错。

    1、检查自己的GPU是否支持CUDA

    $ lspci | grep -i nvidia

    我的GPU是支持的,在这里查看:[https://developer.nvidia.com/cuda-gpus] 有的话就可以继续啦,不然只能换个显卡了。

    2、检查自己的系统,以方便日后找相关安装包

    `$ uname -m && cat /etc/*release  `

    3、检查自己的gcc版本

    `$ gcc --version ` 

    ps:没有的话可以通过 sudo apt-get install gcc安装

    4、检查是否安装了kernel header和 package development

    `$ uname -r ` 

    查看 kenel header信息
    可以通过下面的命令行安装:

    `$ sudo apt-get install linux-headers-$(uname -r)  `

    检查全部通过。继续安装。哪里不符合,请参照官方教程。
    ***


    二、安装cuda

    "这里有两种安装方式.官方文档中,第三章讲的是deb。第四章讲的是run。deb比run简单,但是很有可能出错,而且后期肯呢个会无法调用某些C++库函数,所以选择run文件安装。

    1、提前下载自己对应版本的run安装包,记住下载地址。
    官网找一个合适的
    [https://developer.nvidia.com/cuda-downloads]

    2、禁止ubuntu系统自带的nouveau显卡驱动。

    2.0查看自己的驱动状态

    `$ lsmod | grep nouveau  `

    如果有显示就要执行下面的操作了,一般新系统都是有输出的。

    2.1创建blacklist-nouveau.conf

    1)
    touch /etc/modprobe.d/blacklist-nouveau.conf gedit blacklist-nouveau.conf
    或者
    2)
    $ sudo vi /etc/modprobe.d/blacklist-nouveau.conf

    在新建的文件里添加如下内容

    ‘ blacklist nouveau
    options nouveau modeset=0

    按照1)进行的用户直接Ctrl+s保存然后关闭文件
    按照2)进行的用户输入内容结束后,按ESC,光标跳到文件尾部,输入:wq保存并退出。

    2.3更新:

    `$ sudo update-initramfs -u  `

    2.4检查是否禁用成功

    $lsmod | grep nouveau

    没有东西输出变是成功啦。一般这时候需要先重启才能生效。重启:reboot

    三、安装run文件

    1、重启系统后,不要进入登陆界面(!!!否则可能会安装失败),直接按Ctrl+Alt+F1进入文本模式(命令行界面),输入用户名和密码,登录账户。

    2、关闭图形化界面

    $ sudo service lightdm stop
    {可以先输入命令$lsmod | grep nouveau测试是否禁用成功}

    3、使用cd 命令切换到cuda_8.0.61_375.26_linux.run的目录,执行

    $ sudo sh cuda_8.0.27_linux.run

    “安装的时候,要让你先看一堆文字(EULA),我们直接不停的按##空格键到100%; 遇到提示是否安装openGL ,选择no,其他的可以一路accept, yes或回车,不建议安装samples.以及x-config。

    安装成功后,会显示installed,否则会显示failed。”

    4、重启图形化界面

    $ sudo service lightdm start

    高能!!!登录时能进入桌面,不会一直在重复登录,成功已近大半。
    贴主就是因为没有把secure boot的状态设置为disabled,走了很多弯路。


    四、检查是否安装成功
    1、执行

    $ ls /dev/nvidia*

    可能出现不同结果,

    ××× 若结果显示
    
    `/dev/nvidia0  /dev/nvidiactl  /dev/nvidia-uvm`
    
    或显示出类似的信息,应该有三个(包含一个类似/dev/nvidia-nvm的),则安装成功
    
    ×××如果结果是这俩种情况

    ls: cannot access /dev/nvidia*: No such file or directory

    或是

    /dev/nvidia0 /dev/nvidiactl中的一个或两个,但没有/dev/nvidia-num

    按照官方的做法:新建把.sh文件(我命名为zzq.sh)
    touch nvi.sh sudo gedit nvi,sh

    在新建的文件中加入如下内容:(注意空格)
    ‘ #!/bin/bash
    /sbin/modprobe nvidia
    if [ "$?" -eq 0 ]; then
    # Count the number of NVIDIA controllers found.
    NVDEVS=lspci | grep -i NVIDIA
    N3D=echo "$NVDEVS" | grep "3D controller" | wc -l
    NVGA=echo "$NVDEVS" | grep "VGA compatible controller" | wc -l
    N=expr $N3D + $NVGA - 1
    for i in seq 0 $N; do
    mknod -m 666 /dev/nvidia$i c 195 $i
    done
    mknod -m 666 /dev/nvidiactl c 195 255
    else
    exit 1
    fi
    /sbin/modprobe nvidia-uvm
    if [ "$?" -eq 0 ]; then
    # Find out the major device number used by the nvidia-uvm driver
    D=grep nvidia-uvm /proc/devices | awk '{print $1}'
    mknod -m 666 /dev/nvidia-uvm c $D 0
    else
    exit 1
    fi

    给这个脚本赋予执行权限,然后执行

    `$ sudo chmod a+x nvi.sh  
    $ sudo ./nvi.sh`

    2、配置环境:
    $ sudo gedit /etc/profile

    在最后面加上这些:

    `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}}  
      
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}  `

    【P.S. 上面代码里面的  表示的换行】

    然后重新加载环境变量

    $ sudo source /etc/profile

    3、测试
    $ cat /proc/driver/nvidia/version
    nvcc -V
    $nvidia-smi
    有输出则成功。

    3. 安装cudnn6.0

    tar zxvf cudnn-8.0-linux-x64-v6.0.tgz
    解压后有个cuda文件,内有include和lib64两个文件夹,进入include文件夹,执行如下命令复制头文件:

    sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ 
    sudo chmod a+r /usr/local/cuda/include/cudnn.h 
    sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

    然后进入复制后的动态链接库进行新的链接。先进入目录:
    cd /usr/local/cuda/lib64/

    查看已有链接:
    ls -al | grep libcudnn
    显示四个
    删除原有动态文件:
    sudo rm -rf libcudnn.so libcudnn.so.6
    再次查看:
    ls -al | grep libcudnn
    显示两个,说明已删除,现在建立新的链接:
    sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6
    sudo ln -s libcudnn.so.6 libcudnn.so

    再次查看:
    ls -al | grep libcudnn
    显示四个,已链接好!
    然后设置环境变量和动态链接库:
    sudo gedit /etc/profile
    然后再打开的文件末尾加上(“=”前后不要有空格)
    export PATH=/usr/local/cuda/bin:$PATH

    保存之后创建链接文件:
    sudo vim /etc/ld.so.conf.d/cuda.conf
    这是一个空白文件,添加:
    /usr/local/cuda/lib64
    按下esc键,输入(:wq)保存并退出
    输入如下命令使链接生效
    sudo ldconfig

    4. 安装tensorflow(tensorflow安装比较简单)

    pip install tensorflow==1.4.0

  • 相关阅读:
    灌注和宝石性道法价比分析
    bzoj1912
    bzoj3504
    poj3580
    bzoj1251
    bzoj3223
    bzoj1212
    bzoj3790
    记一次惨痛的比赛
    bzoj2734
  • 原文地址:https://www.cnblogs.com/lipanDL/p/9863269.html
Copyright © 2020-2023  润新知