超详细整理Detectron2目标检测源码在Win10下的环境配置

  • Post author:
  • Post category:其他




前言

有好多好多小伙伴都最近在问题主,深度学习为什么那么少人在win下配置,也找不到详细的一篇从头讲到尾的保证成功的环境配置,这岂不是卡死一大片深度学习小白?

不慌不慌,题主这一次超级详细超级基础的整理了Detectron2的环境配置,并且是在windows 10 下进行的,并且所有的代码都亲自跑过,完全从0开始讲解配置,下面贴出题主的设备和系统。

请各位谨记,完完全全按照我的顺序来是没有问题滴~ 亲测!

文中所涉及到的文件以及下载较慢的文件都放在网盘资源里,文末自取哦~

系 统:

Windows10


所用电脑:

联想拯救者Y7000P 2019


GPU型号:

NVIDIA GeForce GTX 1660 Ti


安装所需:

NVIDIA驱动 + CUDA + CuDNN


软件前需:

Anaconda3+pycharm



第一部分、NVIDIA显卡驱动


  1. 显卡驱动


    NVIDIA驱动下载的网址为:


    https://www.nvidia.cn/Download/index.aspx?lang=cn


    如下图所示,从中选择自己电脑装载的GPU型号,以及电脑里的操作系统型号。

    NVIDIA驱动程序下载
    搜索并下载对应自己显卡驱动型号的驱动程序

    在这里插入图片描述
    顺着步骤完成安装即可(easy~)


  2. CUDA

成功安装完显卡驱动之后呢,就需要安装CUDA了。这里笼统的描述下CUDA和显卡驱动之间的关系。


CUDA

:是Nvidia推出的只能用于自家GPU的并行计算框架。只有安装这个框架才能够进行复杂的并行计算。主流的深度学习框架也都是基于CUDA进行GPU并行加速的,几乎无一例外。还有一个叫做cudnn,是针对深度卷积神经网络的加速库。

也就是CUDA建立在驱动之上,所以先装驱动嘛~

CUDA 下载网址为:


https://developer.nvidia.com/cuda-toolkit-archive


从中选择合适的型号下载。

对于我们后续要使用的detectron2和Windows10系统而言,我们这里考虑到后续与pytorch 的兼容,我们这里选用的是

pytorch=1.6.0 cuda=10.1

这里有些小伙伴可能会有疑问,因为detectron2的官方标配应该是pytorch=1.4.0 ,cuda=10.0。

而题主发现实际上在windows10下,cuda10.0最高只支持pytorch 1.2.0 考虑到低版本可能出现问题,所以最终选择的detectron2在windows10下的配置是

pytorch=1.6.0 cuda=10.1

在这里插入图片描述

在网站中对应选择需要的CUDA版本号,我们在这里选择的是10.1(没有update) 接着在win10下安装。

在这里插入图片描述

等待安装完成即可,到这里都不会有什么问题~


  1. cuDNN


    cuDNN下载安装为:


    https://developer.nvidia.com/rdp/cudnn-download


    需要先注册个账号,然后免费下载。这里注意选择和自己的CUDA版本号相匹配的。

在这里插入图片描述

在这里插入图片描述

之后选择对应的win10,下载完成后可以看到如下图三个文件夹bin,include和lib

在这里插入图片描述

下载完成之后把 cuDNN 库压缩包里对应的bin,include,lib的文件放到NVIDIA GPU Computing Toolkit\CUDA\v10.1中进行文件夹替换

一般来说找不到 NVIDIA GPU Computing Toolkit 的小伙伴可以去C盘 Program Files 找下

在这里插入图片描述

替换完成以后,打开win10 cmd窗口(windows键+R,然后输入cmd回车)

紧接着输入直接输入

nvcc -V

即可确认CUDA是否安装成功,并且版本是否正确

在这里插入图片描述
从上图我们可以看到我们所安装的CUDA的版本号,这样我们的第一部分显卡驱动部分就大功告成了~



第二部分、Anaconda虚拟环境搭建

Anaconda对于环境库包的管理非常方便很适合深度这样复杂环境的配置。这里默认大家都已经安装好了Anaconda3,这个的安装十分方便官网下载,跟着步骤安装就可以完成,不会有任何问题~

还是附一下Anaconda 的官网链接:


https://www.anaconda.com/products/individual


打开滑动到最下方下载对应系统的版本即可


  1. 虚拟环境创建


    Anaconda中虚拟环境的创建命令,注意这里我们需要配置的python环境是3.6版本。同样的在安装完Anaconda3之后,直接按照之前的方法打开cmd窗口,输入以下指令:
conda create -n detectron2 python=3.6
# Anaconda 创建环境的一般命令
conda create -n your_name python=x.x

anaconda命令创建python版本为x.x,名字为your_name的虚拟环境。

your_name文件可以在Anaconda安装目录envs文件下找到

之后就会出现下图Package Plan界面

在这里插入图片描述

接着会让你安装python3.6相关依赖,输入y即可

在这里插入图片描述

继续等待其安装完成,直至出现如下界面,接着,我们要激活我们新创建的环境,因为我们刚刚只是创建了,现在要予以激活,才能把我们对应的库装入到我们希望配置的环境中去

在这里插入图片描述
紧接着再输入

conda activate detectron2

在这里插入图片描述

在C盘之前出现detectron2的字样代表激活成功。这里一定要注意,每一次重启cmd都需要重新激活一次我们的虚拟环境,千万不要踩坑了呐~有好多小伙伴以为activate了一次就以为是永久的了,在这里注意一下,并不是永久的!!

我们之后都是需要在虚拟环境里安装库的,不然都是白费呐!


  1. detectron2所需库的配置


    (1)首先我们安装最基本的2个库numpy,matplotlib.这里就不过多赘述安装过程了。直接

    pip/conda install numpy matplotlib

    即可

    (2)安装opencv-python,这一步是因为题主后续是训练自己的数据集的所以需要图片的读入,如果不需要训练自己的数据集,opencv安装可以跳过哦~ 对于安装opencv-python这里题主推荐几种方法:


    方法1

    :直接

    pip install opencv-python

    一般来说就可以成功,相对来说下载比较缓慢,而且经常可能下载会断orz

    在这里插入图片描述


    方法二

    :在

    https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

    下载对应的python版本和windows系统opencv的whl文件,这里我们选择的是opencv_python-4.4.0-cp36-win_amd64.whl

    在这里插入图片描述

    下载完成后我们把它放到桌面,之后继续在cmd窗口里进行操作。我们在cmd窗口里输入

    cd desktop

    而后输入,注意这里还是要在我们构建的detectron2环境下安装哦,不然是无效的,如果不小心关闭了之前的cmd窗口,记得每开一次都要重新activate一下detectron2的环境。这里是个小坑,大家注意。

pip install opencv_python-4.4.0-cp36-win_amd64.whl

显示如下:

在这里插入图片描述

(3)

安装pillow,cython库

pip install pillow cython

(4)

Pytorch-gpu版 安装


首先进入pytorch官网

https://pytorch.org/


在这里插入图片描述

选择好对应的gpu版pytorch,有小伙伴可能在这里有疑问,为什么不选conda而要选用pip,题主只能这么说,题主用conda老是装不上gpu版 torch,测试了几次,发现用pip相对来说稳定一些,这里就回到了开题时候说的,pytorch=1.6.0,配合cuda=10.1通过题主后续的一系列测试,发现在detectron2上可以完美运行。所以小伙伴们可以放心大胆的进行配置~

当然啦,也不是说conda一定有问题,可能是题主当时有问题~

在这里插入图片描述

直接在虚拟环境中输入相应的语句,等待其安装。

这里一定要

注意



先安装对应版本的pytorch

和torchvision,

再去安装detectron2

,因为每次安装完pytorch后,detectron2通常需要重装!!所以这里务必注意顺序!!!不然的话,很容易出现 ”

ImportError: cannot import name _C

’”这个报错,如果出现这个报错,那么就需要重新安装一次detectron2,但是如果detectron2是在pytorch安装后安装就没有问题。

这里这个小坑可以注意一下!

安装完成之后我们在cmd中输入python

python

import torch
torch.cuda.is_available()

exit()

如果提示True,那么恭喜你大功告成,pytorch-gpu版安装完成,之后输入exit()退出python

在这里插入图片描述
到这里一旦有显示True

那我们的pytorch部分就配置完毕,gpu版得pytorch也大功告成~

(5)detectron2安装

在安装detectron2之前,还需要安装pycocotools,继续cmd,detectron2环境下继续安装:

pip install git+https://github.com/philferriere/cocoapi.git

这里不用原始源是因为原始源不支持windows所以这里放的是支持windows的github地址。

在这里各位小伙伴如果报错如下:

在这里插入图片描述

那么就是说git没有安装,之后我们在cmd中先输入:

pip install git

如果这里pip也报错,那么就直接使用

conda install git

即可

之后继续运行pycocotools的安装语句,等待其完成,这里只要显示了Cloning一般不会失败,只有可能会掉网。

在这里插入图片描述

当然在这里也可以自己下载好对应网址的github,然后放在桌面,找到PythonAPI地址,之后输入

pip install -e.

千万不要漏了e后面的点!!!

在这里插入图片描述

Pycocotools安装完成后,继续在cmd窗口中输入

pip install git+https://github.com/facebookresearch/detectron2.git

安装detectron2(和安装pycocotools一样,可以直接pip或者是下载好到桌面之后找到setup.py所在pip install -e.)

在这里插入图片描述
安装完成后,我们在cmd窗口里输入

conda list

这时候看到列表里已经有我们装好的detectron2的库

在这里插入图片描述
这时候detectron2也大功告成了~



第三部分、Pycharm运行

紧接着我们在pycharm中,把我们新创建的环境添加到编译环境里。File-settings-Project:BDD_back

在这里插入图片描述

这里会先显示<

No interpreter

>,接着点右侧那个齿轮,选择

Add…

,跳出

Add Python Interpreter

之后选择

Conda Environment

,接着选择

Existing environment


在这里插入图片描述

接着我们把Interpteter展开选择我们刚刚新建立的detectron2这一项

在这里插入图片描述

确认即可,至此pycharm配置完毕

然后运行我们的训练程序,有如下输出:

在这里插入图片描述
在这里插入图片描述

显然的我们的全部环境配置完毕,可以在windows系统下快乐的利用gpu跑detectron2的模型了~并且还不会和原有的任何库冲突,是不是超级棒!

这里再放一张在ubuntu16.04下跑的测试图,看下效果,实际上windows训练完测试是一样的啦~只是懒得等了就放一下之前跑的图

在这里插入图片描述

在这里插入图片描述

效果还是相当ok滴~



写在后面的话

写这篇文章的目的,更多的还是希望给更多的cv入门小白一个正确的合理的配置环境的顺序,题主自己电脑也是如此配置的,在写文章的之前还特意全部重新又装过一遍,发现都ok,没有什么问题,只要按照上面那个顺序执行,就一定不会有问题~

好啦,这一次的超详细整理就到这里了~



链接

百度网盘链接:


https://pan.baidu.com/s/10LaJdfisi9Vl4euOHOJ4Ng

提取码:40mr

在这里插入图片描述

盘里是直接给你们下载好的detectron2 和 windows10支持的pycocotools

如果大家喜欢这样超详细的整理 还请大家给点支持呐!

下一篇 打算详细的写一写如何构造自己的符合COCO的数据集,如何训练自己的数据集,题主这里是利用了现在较大的无人驾驶(BDD)的数据集进行训练的 有兴趣的小伙伴可以追下更新哦~



版权声明:本文为weixin_43582457原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。