有好多好多小伙伴都最近在问题主,深度学习为什么那么少人在win下配置,也找不到详细的一篇从头讲到尾的保证成功的环境配置,这岂不是卡死一大片深度学习小白?
不慌不慌,题主这一次超级详细超级基础的整理了Detectron2的环境配置,并且是在windows 10 下进行的,并且所有的代码都亲自跑过,完全从0开始讲解配置,下面贴出题主的设备和系统。
请各位谨记,完完全全按照我的顺序来是没有问题滴~ 亲测!
文中所涉及到的文件以及下载较慢的文件都放在网盘资源里,文末自取哦~
系 统:Windows10
所用电脑:联想拯救者Y7000P 2019
GPU型号:NVIDIA GeForce GTX 1660 Ti
安装所需:NVIDIA驱动 + CUDA + CuDNN
软件前需:Anaconda3+pycharm
显卡驱动
NVIDIA驱动下载的网址为:
https://www.nvidia.cn/Download/index.aspx?lang=cn
如下图所示,从中选择自己电脑装载的GPU型号,以及电脑里的操作系统型号。
搜索并下载对应自己显卡驱动型号的驱动程序
顺着步骤完成安装即可(easy~)
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下安装。
之后选择对应的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对于环境库包的管理非常方便很适合深度这样复杂环境的配置。这里默认大家都已经安装好了Anaconda3,这个的安装十分方便官网下载,跟着步骤安装就可以完成,不会有任何问题~
还是附一下Anaconda 的官网链接:
https://www.anaconda.com/products/individual
打开滑动到最下方下载对应系统的版本即可
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了一次就以为是永久的了,在这里注意一下,并不是永久的!!
我们之后都是需要在虚拟环境里安装库的,不然都是白费呐!
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
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地址。
在这里各位小伙伴如果报错如下:
pip install git
如果这里pip也报错,那么就直接使用conda install git
即可
之后继续运行pycocotools的安装语句,等待其完成,这里只要显示了Cloning一般不会失败,只有可能会掉网。
当然在这里也可以自己下载好对应网址的github,然后放在桌面,找到PythonAPI地址,之后输入
pip install -e.
千万不要漏了e后面的点!!!
pip install git+https://github.com/facebookresearch/detectron2.git
安装detectron2(和安装pycocotools一样,可以直接pip或者是下载好到桌面之后找到setup.py所在pip install -e.)
安装完成后,我们在cmd窗口里输入conda list
这时候看到列表里已经有我们装好的detectron2的库
这时候detectron2也大功告成了~
紧接着我们在pycharm中,把我们新创建的环境添加到编译环境里。File-settings-Project:BDD_back
这里会先显示<No interpreter>,接着点右侧那个齿轮,选择Add…,跳出Add Python Interpreter之后选择Conda Environment,接着选择Existing environment
接着我们把Interpteter展开选择我们刚刚新建立的detectron2这一项
显然的我们的全部环境配置完毕,可以在windows系统下快乐的利用gpu跑detectron2的模型了~并且还不会和原有的任何库冲突,是不是超级棒!
这里再放一张在ubuntu16.04下跑的测试图,看下效果,实际上windows训练完测试是一样的啦~只是懒得等了就放一下之前跑的图
写这篇文章的目的,更多的还是希望给更多的cv入门小白一个正确的合理的配置环境的顺序,题主自己电脑也是如此配置的,在写文章的之前还特意全部重新又装过一遍,发现都ok,没有什么问题,只要按照上面那个顺序执行,就一定不会有问题~
好啦,这一次的超详细整理就到这里了~
百度网盘链接:
https://pan.baidu.com/s/10LaJdfisi9Vl4euOHOJ4Ng
提取码:40mr
盘里是直接给你们下载好的detectron2 和 windows10支持的pycocotools
如果大家喜欢这样超详细的整理 还请大家给点支持呐!
下一篇 打算详细的写一写如何构造自己的符合COCO的数据集,如何训练自己的数据集,题主这里是利用了现在较大的无人驾驶(BDD)的数据集进行训练的 有兴趣的小伙伴可以追下更新哦~