【乾貨】:配置環境anaconda3並安裝最新版mmdetection

引言

之前寫過關於mmdetection的安裝和訓練,最近在另一臺服務器上重新配置環境,安裝mmdetection的時候,按照原來的博客安裝配置,出現了一些問題,特此來重新記錄一下安裝配置過程,也順便糾正一下之前博客中出現的問題,或者模糊不清的東西。

參考幾篇我自己之前寫的博客,這次這篇是一個大整合。

安裝Anaconda3

  • 去官網下載相應的版本,下載完成後,得到一個shell腳本文件,執行該文件(文件名可能因爲版本不同有所差異):
bash Anaconda3-5.2.0-Linux-x86_64.sh

或者直接把下載地址拷貝下來,用wget下載(聽說會比較慢???)

wget https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh

然後再執行上面的bash指令

  • 進入安裝程序,提示輸入“ENTER”繼續

  • 按回車後,進入用戶協議閱讀,再按回車,一直按,按到出現如下提示,輸入yes並回車

  • 最後還有一個回答yes or no 的 ,是問你是否要init conda,選擇yes,就可以不用配環境了,不選擇的話,還得自己在.bashrc(如果你是root用戶,就是)裏面去配置anaconda3的環境,賊麻煩。
    注:注意的是,這個回答,如果你沒選的話,會直接默認no,所以安裝到最後的時候,認真一點,記得回答yes,會省去很多麻煩 。

  • 驗證: 輸入conda info,沒有說conda不是內部命令,就說明安裝好了。or 輸入python命令,出現anaconda的標識。

使用

除安裝即有的默認環境外,有時我們需要根據不同的項目使用不同的python版本。原生python如何切換版本?改環境變量、改軟連接,略麻煩。而使用Anaconda就能很方便得管理各種python環境。
例如,現在需要一個新的名爲“test”的python3.7環境,使用如下:

創建虛擬環境
輸入如下命令

conda create -n test python=3.7

離線斷網情況下,新建環境可加參數進行離線安裝:

conda create -n test python=3.7 --offline

切換虛擬環境

source activate test
# conda activate test

也可查看當前全部虛擬環境,選擇自己需要的環境進行切換,比如年紀大了忘了自己建的環境名是什麼的時候:

conda env list

安裝Pytorch

先創建一個虛擬環境open-mmlab

conda create -n open-mmlab python=3.7

切換虛擬環境

conda activate open-mmlab

然後就是安裝pytorch
推薦使用清華源

這裏就不羅嗦了。
我上面的博客,安裝的pytorch版本是1.1.0的版本,建議要修改,因爲1.1.0的版本,mmdetection就不能使用了。
使用下面的命令,pytorch的版本就會安裝成新版的,對應到你cuda版本就是10.版本的

conda install pytorch cudatoolkit=10.1 torchvision -c pytorch

如果cuda是9.2版本的,就是用下面命令

conda install pytorch=1.3.1 cudatoolkit=9.2 torchvision=0.4.2 -c pytorch

去掉-c pytorch 就是使用清華鏡像源的pytorch下載。

查看cuda版本:

cat /usr/local/cuda/version.txt

安裝mmdetection

v2版本的mmdetection要求torch版本爲1.3,那對應的cuda就得10.0
(9.2的版本不知道可不可以,沒試過,但是9.0的版本肯定不行(親測),如果使用cuda爲9.0的,torch的版本就必須降低,降低後去使用mmdetection會出錯,運行不了,解決思路就是升級cuda和torch,或者用v1版本的mmdetection)
這裏安裝的話,照着官網來就行了
在這裏插入圖片描述
具體安裝pytorch上面已經說清楚了,也可以直接去官網看。
拉取mmdetection資源庫

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection

安裝構建要求,然後安裝mmdetection

pip install -r requirements/build.txt
pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI"
python setup.py develop #pip install -v -e .  

不推薦使用(誰用誰後悔系列)

pip install -v -e .

這個命令使用的話,以後你在mmdetection的所有改動,都必須使用這個命令進行更改。
因爲使用這個命令,等於將mmdetection install 進了你的anaconda3的庫中,每次你跑mmdetection,用的代碼都是anaconda3 的“內置庫”了,那麼你每次修改完代碼,都得更新anaconda3中的mmdetection庫,不然你在本地如何修改代碼,訓練起來都不會奏效。具體可以去了解一下python的包管理(畢竟我覺得我自己解釋得不太官方)。

注:在我之前寫的博客中,也需要手動安裝mmcv,但是我安裝新的mmdetection的時候,github上並沒有安裝mmcv的命令,猜測應該是在安裝構建需求的時候安裝好了吧,我根據上面的安裝,是沒有問題。具體怎麼訓練,怎麼測試,新手的話,可以看看上面的博客。如果有問題,歡迎下面留言談論,互相學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章