• 网络模型maskrcnn-benchmark环境搭建


    前言

    哎呀,感觉好久没有更新了,打开博客只有可怜的一篇,还是一个月之前发的。。不是不想写,实在是感觉没有什么具有价值的东西可写,在电脑上笔记倒是记了不少,不过想想感觉都是一些摘抄记录。另外感觉写博客也不是那么容易的事,因为写的东西还要给别人看的,需要好好的梳理内容逻辑,用词措辞等。怎么说呢,慢慢来吧,这才刚刚起步。

    话说为什么要写这篇博文呢?因为实验室的服务器有问题了,最近我一直在装系统,搭环境之类的,和大多数的新手一样,我也是各种百度,各种找博客解决期间遇到的问题。但是,有些操作可能要做多次才能成功,比如装显卡驱动,我是装了卸、卸了装,装了又装。。。每一次都要重复的去网上查找方法命令。经过多次折磨,终于想要把装搭的方法、过程记录一下。之前我觉得这些没必要写,因为网上都有,现在我明白了,为了以后可能再次经历这个过程,我决定把方法记录下来,那下一次就会方便多了,或许也可以方便他人。

    正文

    之前服务器的问题是开不了机,每次开机直接黑屏,只显示一行:/dev/nvme0nlp2:clean 1199789/14188544files, 40674657/56741376blocks,连命令行Ctrl Alt F1都进不去,试了一些办法以及找大佬帮忙也不行,最后只能重装系统,装的 ubuntu16.4LTS 。

    目标配置

    我想要搭建的环境是用来跑深度学习模型maskrcnn-benchmark,采用docker安装,那么就需要显卡驱动,cuda,cudnn,pytorch,docker,nvidia-docker等。

    • 本机配置:ubuntun16.4LTS,显卡 RTX2080Ti

    安装显卡驱动

    1. 首先去官网下载适用于自己的驱动版本,我下载的是 NVIDIA-Linux-x86_64-430.40.run

    2. 禁用 nouveau 。

      • sudo vim /etc/modprobe.d/blacklist.conf,插入
      blacklist nouveau
      options nouveau modeset=0
      
      • 然后sudo update-initramfs -u ,重启
      • ctrl alt F1进入命令行执行sudo service lightdm stop

      • 然后卸载原有驱动sudo /usr/bin/nvidia-uninstall,不过从下图来看好像 .run 文件安装的不用卸载,官网文档上面有其它格式文件的卸载方法

        1567580948921

      • sudo chmod a+x NVIDIA-Linux-x86_64-430.40.run

      • sudo ./NVIDIA-Linux-x86_64-430.40.run -no-x-check -no-nouveau-check -no-opengl-files

      • 安装选项:continue,continue,32-bit compatibility libraries? NO,nvidia-xconfig update your configuration...? YES。这块记不清了,不确定的网上搜一搜。

      • reboot 重启
      • nvidia-smi 查看一下是否安装成功

    安装cuda

      • 官网下载适合版本的cuda,我下了cuda_10.0.130_410.48_linux.run

        1567580973070

      • gcc --version 查看gcc版本,有版本要求

    1. sudo sh cuda_10.0.130_410.48_linux.run 安装选项accept no y y y y y

    2. 环境设置

      sudo vim ~/.bashrc 在最下面添加

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64 # 根据版本修改
      export PATH=$PATH:/usr/local/cuda-10.0/bin
      

      source ~/.bashrc

      • nvcc -V 查看cuda信息

      • cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery

        sudo make

        ./deviceQuery

        出现Result = PASS则成功安装

    3. 另外,卸载cuda

      cd /usr/local/cuda/bin

      sudo ./uninstall_cuda_10.1.pl

    安装cudnn

    1. 官网下载与cuda版本匹配的cudnn版本,我下的是cudnn-10.0-linux-x64-v7.6.0.64.tgz cuDNNv7.1.4 Library for linux

    2. sudo tar -zxvf ./cudnn-9.0-linux-x64-v7.1.tgz

      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 /usr/local/cuda/lib64/libcudnn*

      贴出官方文档以备参考

    3. 查看cudnn cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

    安装pytorch

    1. 直接上官网选择合适的版本,根据给的命令下载安装即可

    2. 还可以离线安装,下载地址:https://anaconda.org/pytorch/pytorch/files。

      下载之后执行conda install --offline pytorch-1.2.0 py3.7_cuda10.0.130_cudnn7.6.2_0.tar.bz2

    安装docker

    wget -qO- https://get.docker.com/ | sh

    sudo usermod -aG docker xxx xxx是用户名

    newgrp docker

    sudo service docker start

    docker run hello-world

    更多docker操作参考:RUNOOB

    安装nvidia-docker

    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    
    sudo apt-get update
    
    • sudo apt-get install nvidia-docker2
    • sudo pkill -SIGHUP dockerd

    docker安装maskrcnn-benchmark

    • 项目地址:maskrcnn-benchmark

      nvidia-docker build -t maskrcnn-benchmark --build-arg CUDA=10.0 --build-arg CUDNN=7 docker/

      安装出错的原因是最新版本的torchvision不再支持pytorch1.2以下的版本,因此需要更改docker/Dockerfile中安装torchvision的命令为

      RUN git clone https://github.com/pytorch/vision.git 
       && cd vision 
       && git fetch && git fetch --tags && git checkout v0.3.0      # <=== add this line
       && python setup.py install
      

      以上解决方法来源于issue#1056,不过后面官方应该会解决这个问题吧,就是不知道是什么时候。。

    • 根据上面得到的maskrcnn-benchmark镜像创建容器

      docker run -ti -v 主机映射目录:容器映射目录 --shm-size=64g --runtime=nvidia -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all maskrcnn-benchmark

    结语

    哎呀,写一篇博文不容易啊,尤其还是这种教程形式的博文。以上基本就是我整个的安装的方法、过程。注意,以上方法在我这边的服务器上面均有效,并不敢保证在其他所有计算机上都有效。。这个博文还是记录的性质多一些,如果能给其他人以帮助那最好不过了。

  • 相关阅读:
    基本Dos命令
    安装java开发环境
    windouws常用快捷键
    elasticsearch(ES)
    使用kibana操作elasticsearch(es)
    Dubbo的负载均衡
    springboot结合Dubbo的使用
    Dubbo
    zookeeper-理解
    springboot结合FTP服务器实现文件上传
  • 原文地址:https://www.cnblogs.com/QuintinLiu/p/11465311.html
Copyright © 2020-2023  润新知