zoukankan      html  css  js  c++  java
  • 新工作站搭建深度学习环境Ubuntu16.04+cuda9/10+cudnn7+tensorflow1.12+anaconda3

    0前言:

    使用新的工作站,显卡navida 2080,从零开始搭建深度学习环境

    1安装linux操作系统

    使用u盘做一个用ubuntu16.04系统,(上网搜索怎么做系统盘)

    注意:

    装机之前,电脑一定要联网。

    开机,按enter 按F1进入bios(不同电脑配置可能不同),bios 的boot可能需要配置(setup中startup),U盘启动方式,有两种,一种是UEFI,另一种是LEGACY。如果二者都有,就什么不用做。一般都有UEFI,没有UEFI 的话,可能要降低系统版本。

    选择第一个ubuntu系统,可以直接安装16.04。这里选择的是进入第二个,进入ubuntu 的系统,然后在系统中安装16.04

    进入U盘中的ubuntu16.04的系统中后,

    点击安装ubuntu16.04系统到电脑。

    (ubuntu系统分区,可以给ubuntu系统分区,这里以为是新电脑,就先不分区了。)

    如果要查看系统显卡,和我一样是新电脑,无法直接看到,可以使用指令查询。

    参考网址中的方法一。

    https://blog.csdn.net/maizousidemao/article/details/88821949

    2编译内核。

    先更新源:

    sudo apt-get update

    uname –r 查看本机内核版本

    (在源上寻找内核源码名称)apt-cache search Linux-source

    如下图:

    sudo apt-get install linux-source-4.4.0 

    (执行这条命令就会自动下载并安装适合本机系统内核的Linux-source-4.4.0这个内核源码)

    解压下载的压缩包,在/usr/src/linux-source-4.4.0/

    可以使用ls查看在其中的4.4.内核压缩包linux-source-4.4.0.tar.bz2是否存在。

    直接解压到home文件夹下(非根目录下)

    cd进入到U盘目录下,将已经配置好的.config文件(这个是隐藏文件,看不到,使用指令ls -all可以看到)(.config文件的生成相当于参考链接中的5,6,7步)。

    执行

    cp /media/dftc/Ubuntu 16.0/.config  ~/linux-source-4.4.0/  

    其中的(路径根据自己的情况更改)

    make -j20

    执行过程较长

    在执行的过程中,会报错,请根据提示安装一些配置,以消除错误。

    例如:

     

    (根据错误提示百度解决命令)

    这个指令可以解决上面的报错:

    sudo apt-get install libssl-dev

    安装模块的驱动:

    sudo make modules_install

    系统安装:

    sudo make install

    提示done 完成

    更新系统引导

    cd /boot/grub
    
    sudo update-grub

    重启  reboot

    重启后如果进入的还是4.15的内核:

    解决方法:百度ubuntu系统引导修复。参考链接https://blog.csdn.net/chekongfu/article/details/84872841

    3安装英伟达驱动。

    重启后进入 advance。。。(第二个),然后进入ubuntu4.4.223

    删除所有英伟达驱动

    $sudo apt-get remove --purge nvidia*

    安装英伟达显卡驱动

    首先

    cd /lib/modules/4.4.223/kernel/drivers/gpu/drm/nouveau/
    重命名,使文件失效
    sudo mv nouveau.ko nouveau.ko.org

    把启动文件系统更新sudo  update-initramfs -u

    reboot重启:

    重启ubuntu后发现分辨率降低,字体变大,表明卸载nouveau成功。

    重启后选第二个advance,进入4.4.223.recover中,(最后一个),在这里可以直接拿到root权限。

    cd 到驱动安装文件所在的目录下。

    执行命令 

    sudo chmod 777 ./NVIDIA-Linux-x86_64-440.82.run 
    
    sudo  ./NVIDIA-Linux-x86_64-440.82.run

    安装过程中,会出现选择界面(提示xconfig。。。。。),选择NO。

    安装完成后reboot重启,系统率变成正常,说明安装成功。

    4安装无线网卡

    复制安装文件rtl8192eu-linux-driver-realtek-4.4.x到目录下,(稍后贴上安装包网盘地址)

    cd到安装文件目录rtl8192eu-linux-driver-realtek-4.4.x下

    make
    
    sudo make install

    如果找不到,执行命令lsusb

    加入重新开机后,找不到无线网卡,重新执行命令sudo make install,就可以。

    5,安装cuda9;

     参考链接:https://blog.csdn.net/wanzhen4330/article/details/81699769

    (1)下载安装包:首先去英伟达官网下载cuda安装包https://developer.nvidia.com/cuda-toolkit-archive

    cuda_9.0.176_384.81_linux.run

    (2)安装cuda。

    执行如下命令:

    sudo sh cuda_9.0.176_384.81_linux.run

    然后用一本书的书角压住回车键,直到服务条款显示到100%。接着按下面的步骤选择:

    accept

    n(不要安装driver)

    y

    :这个是默认路径,直接回车就行。

    y

    y(n也可以)

    安装完成后,设置环境变量。

    (3)设置环境变量。

    打开主目录下的 .bashrc文件添加如下路径,

    sudo gedit ./.bashrc

    在最后面添加这三句。

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    export PATH=$PATH:/usr/local/cuda/bin
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

    终端运行:source ~/.bashrc

    关机终端界面,重新打开

    检查:nvcc --version,如果显示下面的文子就说明安装成功了。 (图片来自网络)

    6,安装cudnn;

     参考链接:https://blog.csdn.net/wanzhen4330/article/details/81699769

    (1)下载安装文件

    按需求下载cudnn的安装文件https://developer.nvidia.com/rdp/cudnn-archive

    将cudnn解压后,出现一个cuda的文件夹。

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

    之后加压的文件cuda就可以删除了

    (3)查看cudnn版本

    在终端输入

    cat /usr/local/cuda-9.0/include/cudnn.h | grep CUDNN_MAJOR -A 2

    如果出现下图所示版本信息,说明安装成功。 (图片来自网络)

    cuda9.0,在运行yolo预测的时候,可能无法出现预测框,可以安装cuda10,cudnn10.方法同上。

     切换cuda版本   tensorflow1.12使用cuda9.0    yolo,tensorflow1.14等使用cuda10.0

    cd /usr/local

    删除之前的软链接

    sudo rm -rf cuda

    重新创建软连接到9.0

    sudo ln -sf cuda-9.0 cuda

    7安装java环境

    参考链接https://blog.csdn.net/sangewuxie/article/details/80958611

    下载安装包 JDK-8U231

    解压到home下

    cd/usr
    
    sudo mkdir java
    
    sudo chmod 777 java
    
    cd ~

    复制到文件夹sudo cp -r jdk1.8.0_231/ /usr/java

    配置环境变量

    sudo gedit /etc/profile

    复制下面几句到文件内容下面。

    export JAVA_HOME=/usr/java/jdk1.8.0_231
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    export JRE_HOME=$JAVA_HOME/jre

    尝试java

    1.source /etc/profile更新当前终端环境变量。

    2,reboot重启

    3.java -version 

    8,安装s32V,安装后install更新;

    官网下载安装包S32DS.3.2_linux.x86_64.bin        (已经下载好了)

    进入NXP官网,下载S32V安装指导。按照已经下载好的文件安装。(已经下载好了)

    libs32bz2-1.0有问题,解决方法参考链接:https://blog.csdn.net/ljttianqin/article/details/77367759

    sudo apt-get install lib32z1 lib32ncurses5 libbz2-1.0:i386 lib32stdc++6

    第四步(Table4)openjdk不要安装。跳过

    其余按照步骤安装,全部都是yes

    最后 

     sh ./ S32DS.3.2_linux.x86_64.bin

        (前面不要加sudo) 

    然后打开

    进到桌面端,找到S32V,进入最后一层文件夹下,右键运行,

    在指令段./s  Tab键  即可打开。

    安装更新。

    安装完成之后,

     

    安装RTX,

    将VSDK_S32V2_RTM_1_5_0(已经有了)文件复制合并到,nxp/......路径下

     打开之后更新,这一步时间较长。。

    9安装anaconda

    网上资料参考:

    [安装教程] linux创建conda虚拟环境_博客-CSDN博客_linux conda创建虚拟环境  https://blog.csdn.net/clksjx/article/details/84192626

    下载anaconda安装包,Anaconda3-2020.02-linux-x86_64.sh   (已经下载了)

    sudo chmod 777 ./Anaconda3-2020.02-linux-x86_64.sh
    
    ./Anaconda3-2020.02-linux-x86_64.sh

    一直按enter指导出现yes or no

    yes

    yes。。

    一直yes

    装完之后,重新打开终端即可。

    10,安装eiq环境。

    $ cd /home/lanyou/.conda/
    
     $ conda activate
    
    $ conda env

    退到跟目录:

    $ sudo chown -R lanyou anaconda3
    
    $ conda env create -n eiq_auto -f /home/lanyou/NXP/S32DS.3.2/S32DS/software/VSDK_S32V2_RTM_1_5_0/s32v234_sdk/tools/eiq_auto/environment.yml       

         这一步时间比较久,耐心等待

    $conda activate eiq_auto

    添加路径

    $export PYTHONPATH=$PYTHONPATH:/your/path/to/s32v234_sdk/tools

     11,安装tensorflow1.12-gpu源码编译。

    安装bazel

    参考链接:https://www.cnblogs.com/hayley111/p/12887853.html

    将下载好的tensorflow1.12.0复制到home下面。

    cd tensorflow-1.12.0

    创建工具:

    bazel build tensorflow/contrib/lite/toco:toco

    它会自动下载一些相关依赖项。

    其他需要安装的内容(待补充ing)

     参考链接:https://www.cnblogs.com/hayley111/p/13037616.html

    源码编译如果不成功。可以尝试pip安装,方法如下:

    参考链接:https://blog.csdn.net/patience_of_study/article/details/82779424

    1,前提是显卡驱动、cuda、cudnn、anaconda都已经按照前面的安装完毕,并且版本正确

    2,进入虚拟环境 

    source activate eiq_auto

    3,升级pip

    pip install --upgrade pip

    4,安装tensorflow

    pip install --ignore-installed --upgrade https://download.tensorflow.google.cn/linux/gpu/tensorflow_gpu-1.12.0-cp36-cp36m-linux_x86_64.whl

    网址要根据你下载的tf版本不同而改变。

    安装过程中,可能会遇到下载报错,一般都是网络问题,请更换网络,多尝试几次。

    报错例如下图:

    如果网络没有问题,下载的过程中还是经常报错,有可能是你的临时栈太小了,查看指令如下:

    ulimit -a

    重点查看core file size和stack size这两项,可以做如下修改:

    ulimit -c unlimited
    ulimit -s 204800

    然后重新执行安装指令,不出意外的话,应该能顺利安装成功,成功的界面如下:

     在虚拟环境中,可以使用conda list指令查看自己安装的tf版本是否正确,如下:

    也可以在虚拟环境中进入python,查看tf的安装版本和路径,指令如下:

    import tensorflow as tf
    tf.__version__
    tf.__path__

    12,安装拼音输入法。(如果需要)

    system setting 中进入language support,

    它会自动applying changes下载

    然后关闭,重新打开

    然后将ibus改为fcitx

    reboot重启

    右上角出现小企鹅或者小键盘,

    将搜狗拼音输入法的安装包复制到home下。

    安装命令

    sudo dpkg -i sogoupinyin_2.3.1.0112_amd64.deb

     或者直接双击打开即可

    reboot重启即可

    (有可能用几次会崩溃,需要重新配置,可百度,可咨询惠源)

    13硬盘分区(如果需要)

     将2T硬盘分为4个盘

    可以使用大白兔工具等,具体百度一下即可找到,这里不再多说。

    总结,

    这个过程比较繁琐,也比较耗时,在安装过程中遇到错,不要慌,百度解决。不过我上面写的这么详细,问题不大。祝大家都能顺利搭建好环境,顺利开展工作。

  • 相关阅读:
    Codeforces 837F Prefix Sums
    Codeforces 822E Liar dp + SA (看题解)
    Codeforces 989D A Shade of Moonlight
    Codeforces 887D Ratings and Reality Shows
    Codeforces 666E E
    Codeforces 436E Cardboard Box (看题解)
    Codeforces 342D Xenia and Dominoes 状压dp
    js倒计时
    $.extends 继承原理
    js点击回到顶部2
  • 原文地址:https://www.cnblogs.com/vincent212212/p/13180772.html
Copyright © 2011-2022 走看看