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

前言

有好多好多小伙伴都最近在问题主,深度学习为什么那么少人在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)的数据集进行训练的 有兴趣的小伙伴可以追下更新哦~

猜你喜欢

转载自blog.csdn.net/weixin_43582457/article/details/108525053