Ubuntu16.04+cuda9.2+anaconda安装mmdetection

        0.写在前面:由于网上配置mmdetection及其相关环境的教程较少,有的教程距今(2019.5.30)也有一段时间了,相关配置方法可能发生了变化,我大约花了一周的时间才完成了mmdetection的配置。平时学习过程中看了这么多博客,获得了不少帮助,因此一直想把自己配置mmdetection的整个过程总结出来,一是方便自己以后可能需要再次配置,二是希望能给需要配置它的童鞋一些帮助。由于写本文章时距配置环境有一段时间了,具体的过程可能不完全正确,请根据实际情况应变。本文中主要参考的博客与教程有:

          NVIDIA显卡驱动+Cuda安装:NVIDIA显卡与驱动程序对应版本查询及驱动下载

                                                          CUDA9.2官方下载页面

                                                          Ubuntu16.04 安装 CUDA9.2(总结一些新手容易遇到的问题)(很棒的详细教程)

                                                          NVIDIA CUDA各版本下载链接(更新至2019-3-7,包含最新10.1版本)

          安装NCCL:安装NCCL2.1.15     

                               ubuntu安装nccl

          Pytorch的安装:PyTorch 深度学习【一】Ubuntu16.04 下安装 PyTorch     

                                     pip更换国内镜像源   

                                     PyTorch官网下载whl文件地址

          anaconda的安装与使用:Anaconda介绍、安装及使用教程

          安装pycharm:Ubuntu 16.04 安装 PyCharm    ubuntu16.04安装pycharm,并设置快捷启动方式

          Ubuntu系统备份:Ubuntu16.04系统的备份与还原

       1.mmdetection是什么:mmdetection是一款集成了目标检测大部分方法的第三方库,官方的GitHub地址是:mmdetecion

       2.安装mmdetection需要的先决环境:

  • Ubuntu16.04/18.04或CentOS7.2
  • 与计算机GPU(若有)型号相匹配的NVIDIA显卡驱动
  • Cuda 9.0+
  • NCCL 2+
  • PyTorch1.0+或PyTorch-nightly
  • mmcv

       官方给出的要求截图如下,我使用的环境组合是Ubuntu16.04+NVIDIA显卡驱动+Cuda9.2+NCCL2.1.15+PyTorch1.1.0+anaconda3(anaconda自带python3.7,推荐使用anaconda管理系统上的不同Python环境,可以使不同环境有各自的依赖库,互不干扰)(GCC不用自己额外配置)

 

        3.了解了安装mmdetection之前需要哪些东西,那么现在就正式开始安装吧!

        3.1安装Ubuntu16.04

             一开始我还在虚拟机上尝试安装,后来得知虚拟机上没法直接利用到硬件的驱动进行计算加速,于是删除虚拟机安装了双系统,需要在Linux上进行深度学习的同学们就直接安装双系统吧,不用考虑虚拟机了。具体安装双系统可以在网上查一查相关教程,在使用同学已经有的引导盘的情况下,我只花了5分钟就安装好啦。

        3.2进行新系统的相关配置

             安装完新系统,可以根据个人喜好对新系统进行相关配置,如桌面背景看起来舒服点,检查检查中文输入法是否可用等等,更重要的是更新系统apt软件的下载源,否则使用apt下载软件非常慢,apt的换源可参考:

             ubuntu16.04 更新源详细操作步骤   ubuntu16.04更换和配置阿里源(详细)换源完成后在终端更新系统的apt软件:

             sudo apt-get update以及sudo apt-get upgrade。另外个人总感觉Ubuntu系统的网卡驱动有问题,连校园网总是时不时断开,这导致我下载后面相关的依赖项时极其崩溃,后来强行用手机热点下载的。

        3.3安装NVIDIA显卡驱动与CUDA

             NVIDIA显卡驱动与CUDA的安装方法参考:

                                               NVIDIA显卡与驱动程序对应版本查询及驱动下载

                                                          CUDA9.2官方下载页面

                                                          Ubuntu16.04 安装 CUDA9.2(总结一些新手容易遇到的问题)(很棒的教程,照着一步步基本无问题)

                                                          NVIDIA CUDA各版本下载链接(更新至2019-3-7,包含最新10.1版本)

                         由于我几乎是Linux新手,所以Linux使用的过程中还是闹了不少笑话,在安装显卡驱动与CUDA的过程中,我遇到的坑有:

                         

                    3.4安装NCCL

                         安装NCCL参考:安装NCCL2.1.15    ubuntu安装nccl  安装NCCL可能是我最顺利的过程,一点错误也没出,        mmdetection也没有明显的使用到NCCL的地方,导致我怀疑它对于mmdetection的安装到底有用没有用.....不过既然官方文档明确说明了需要NCCL2.0+,那就装上吧。

                    3.5安装anaconda

              anaconda的安装与使用参考:Anaconda介绍、安装及使用教程,非常详细很棒的教程。

         3.6使用anaconda创建名为mmdetection的环境,并为环境安装Pytorch和Torchvision

              我安装的Pytorch版本是1.1.0,Torchvision版本是0.2.2。

              首先有一个问题,网上大多数安装Pytorch的教程都是使用conda进行安装,不过如果使用conda安装,国外源非常之慢,再加上Ubuntu时不时断网,且没有继续上次位置进行下载的功能,所以基本不能完成下载。那么就按照网上的教程为     conda添加国内的源吧!不过呢,国内的源如清华源,中科大源都因为没有取得anaconda公司授权,就在我安装的半个月前很不幸的不能使用了。除开查核资料的过程,安装Pytorch的过程可以说是我耗时最久的过程了,最终我的办法是,使用pip进行Pytorch的安装,为pip添加国内的源,先下载Pytorch的whl文件,然后在本地安装,安装Pytorch官方网页所说,                          下载whl文件的方式如下:在mmdetection环境下,终端输入:

pip install torch==1.1.0 -f https://download.pytorch.org/whl/cu92/stable

 以上命令的含义是安装 Pytorch的1.1.0 CUDA9.2适用版本。官方网页中指定的是torch=1.0.1,我自己改为了1.1.0,因为               下载1.0.1版本后最后编写python代码测试mmdetection能否使用时,发现torch1.0.1版本已经不适用了(库函数代码中无                 mmdetection调用的属性,有一点坑)。

 由于是使用pip安装Pytorch,pip不会自动下载Pytorch的相关依赖库,所以安装完Pytorch之后还需要安装numpy,                         torchvision,大致就是pip install torchvision==0.2.2     pip install numpy。

相关参考资料有:

           PyTorch 深度学习【一】Ubuntu16.04 下安装 PyTorch     

           pip更换国内镜像源   

            PyTorch官网下载whl文件地址

安装结束后,可以conda list以及pip list查看mmdetection环境已安装的依赖库中是否包含torch和torchvision,以及输入                  python,然后在python解释器下输入from torch import *   from torchvision import *测试Pytorch是否安装成功。

 3.7安装mmcv

         到这里基本就快接近完成了,胜利就在前方!先安装git,ubuntu 16.04 安装git的方法,然后安装mmcv:

git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
pip install .

          要注意cd mmcv时要根据自己电脑上的路径进入到mmcv目录下。

 3.8最后一步,安装mmdetection

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
./compile.sh
python setup.py install

             git clone是在当前目录下进行的,在哪个目录下载mmcv和mmdetection是可以自己选择的,不过要正确的进入mmcv或  mmdetection目录。

             OK!终于完成!

4.0测试mmdetection是否安装成功

               写到这里,我发现我忘记说安装pycharm的事了...安装pycharm见:buntu 16.04 安装 PyCharm    

               ubuntu16.04安装pycharm,并设置快捷启动方式

               安装完pycharm后,使用pycharm创建test项目进行测试,创建项目时,使用anaconda的mmdetection环境

          然后在项目目录下复制入config文件夹,config文件夹来自:

         然后同样在项目目录添加faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth文件。faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth可以在线下载,但是从亚马逊服务器下载非常之慢,所以可以直接指定本地已提前准备好的.pth文件。.pth文件可以从这位博主的博客中进入百度网盘下载,检测(1)跑通mmdetection

        然后也在项目目录下准备待识别的目标图片,这里我准备的是名为airPlane.jpg的图片。

        好了,终于可以输入代码进行测试了,新建test.py文件输入以下代码:

from mmdet.apis import init_detector, inference_detector, show_result

config_file = 'configs/faster_rcnn_r50_fpn_1x.py'
checkpoint_file = 'faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth'

# build the model from a config file and a checkpoint file
model = init_detector(config_file, checkpoint_file)

# test a single image and show the results
img = 'airPlane.jpg'  # or img = mmcv.imread(img), which will only load it once
result = inference_detector(model, img)
show_result(img, result, model.CLASSES)

# test a list of images and write the results to image files
imgs = ['test1.jpg', 'test2.jpg']
for i, result in enumerate(inference_detector(model, imgs, device='cuda:0')):
    show_result(imgs[i], result, model.CLASSES, out_file='result_{}.jpg'.format(i))

运行代码!终于得到了如下结果!

5.0进行系统备份以便下次直接使用

     由于花费一周时间配置,终于配置完成后我很希望能将相关环境备份下来,以便不时之需,备份Ubuntu系统参照:

     Ubuntu16.04系统的备份与还原​​

6.0写在后面

     由于本文写时,距离配置过程已经过去了大约半月,所以部分细节可能有些模糊或者不正确,还需要结合自己的情况有一定思考,希望配置mmdetection的你迅速成功。​​​​​

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值