前言
有好多好多小伙伴都最近在问题主,深度学习为何那么少人在win下配置,也找不到详细的一篇从头讲到尾的保证成功的环境配置,这岂不是卡死一大片深度学习小白?python
不慌不慌,题主这一次超级详细超级基础的整理了Detectron2的环境配置,而且是在windows 10 下进行的,而且全部的代码都亲自跑过,彻底从0开始讲解配置,下面贴出题主的设备和系统。git
请各位谨记,完彻底全按照个人顺序来是没有问题滴~ 亲测!github
文中所涉及到的文件以及下载较慢的文件都放在网盘资源里,文末自取哦~shell
系 统:Windows10
所用电脑:联想拯救者Y7000P 2019
GPU型号:NVIDIA GeForce GTX 1660 Ti
安装所需:NVIDIA驱动 + CUDA + CuDNN
软件前需:Anaconda3+pycharm
ubuntu
第一部分、NVIDIA显卡驱动
-
显卡驱动
NVIDIA驱动下载的网址为:
https://www.nvidia.cn/Download/index.aspx?lang=cn
以下图所示,从中选择本身电脑装载的GPU型号,以及电脑里的操做系统型号。
搜索并下载对应本身显卡驱动型号的驱动程序
顺着步骤完成安装便可(easy~)
windows -
CUDAapi
成功安装完显卡驱动以后呢,就须要安装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下安装。
等待安装完成便可,到这里都不会有什么问题~
- 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
打开滑动到最下方下载对应系统的版本便可
- 虚拟环境建立
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了一次就觉得是永久的了,在这里注意一下,并非永久的!!
咱们以后都是须要在虚拟环境里安装库的,否则都是白费呐!
-
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)的数据集进行训练的 有兴趣的小伙伴能够追下更新哦~