前言
有好多好多小夥伴都最近在問題主,深度學習爲何那麼少人在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)的數據集進行訓練的 有興趣的小夥伴能夠追下更新哦~