Python3.6.8 + Pytorch1.4.0 + CUDA10.0 + openCV4.2.0 配置mmtracking
寫這篇文章起因是我和師兄為了參加一個多目標跟蹤的比賽,比賽官方要求的配置是CUDA10.0,我在網上找了很久才最終解決了環境的配置,饒了很多彎路,所以我想寫這篇文章幫助有共同需求的人,
一、初始環境
我們利用自己配置的一個docker鏡像vpmaster/centertrack:v1創建一個新的容器,使用命令:docker images

由于需要使用CUDA,因此利用命令:nvidia-docker run -it 712a7e232354 /bin/bash進入容器,
進入后發現并不是base環境,因此采用命令:source /opt/conda/bin/activate使其進入base環境,如圖,

可以先看一下容器內的環境,使用命令pip list



可以看到我們這個環境里面其實已經裝了很多包了,此處可以看出我們的torch版本是1.4.0的,OpenCV的版本是4.5.3.56的,但是可以發現我們這個環境里的opencv-python-headless包的版本是4.2.0.34的,查閱了相關資料發現使用OpenCV==4.2.0.34的版本比較合適,因此將其進行安裝,在安裝之前可以先添加清華源以節約時間,使用命令:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

順便升級一下pip以便接下來的操作,使用命令:pip install pip -U,

之后安裝opencv-python==4.2.0.34,使用命令:pip install opencv-python==4.2.0.34

而opencv-python和opencv-contrib-python包是成對出現的,因此需要安裝相同版本的opencv-contrib-python包,使用命令:pip install opencv-contrib-python==4.2.0.34

同時發現這里的numpy版本是1.15.4的,后續發現會出現numpy版本過低的報錯,因此這里先將numpy的版本安裝至1.17.4,使用命令:pip install numpy==1.17.4

以上我們就做好了前期環境的準備,
二、mmtracking的安裝
這個鏈接是mmtracking的官方教程檔案,該檔案給我帶來了較大的幫助:mmtracking的GitHub官方檔案
這里會對官方檔案的一些內容進行介紹

2.1 安裝的先決條件
首先看一下官方檔案中安裝mmtracking的先決條件:
這里我們的系統是Ubuntu18.04的,Python3.6.8、Pytorch1.4.0、CUDA的版本是10.1的,但是之后我們會安裝cudatoolkit==10.0,gcc版本是5.4.0的,查看gcc版本的方法:gcc -v
2.2 安裝cudatoolkit
于是開始mmtracking的安裝,在此處我們沒有選擇使用虛擬環境,而是直接利用base環境,pytorch和torchvision請自行安裝,官方教程中有詳細的講解,注意版本的匹配即可,在官方教程的3. 之前,我們只需要安裝cudatoolkit==10.0即可,使用命令:conda install cudatoolkit=10.0

2.3 安裝mmcv-full
官方檔案里這一步只有一個命令,但是由于版本的不同如果只按照官方檔案進行操作就會導致最后的驗證無法通過,于是根據MMCV的官方安裝教程和mmtracking官方教程中對mmcv-full版本的要求大于等于1.3.8,小于1.4.0 的要求,因此選擇安裝mmcv-full==1.3.8,使用命令:pip install mmcv-full==1.3.8 -f https://download.openmmlab.com/mmcv/dist/cu100/torch1.4.0/index.html

編譯程序可能較為漫長,大家多些耐心,步驟肯定沒有問題,
這里博主已經給大家踩過很多坑了,包括了torch1.4.0+CUDA10.0在mmcv之前版本的網站中最多僅支持到mmcv-full==1.2.1等,博主當時也是抱著試一試的態度,結果完美過了,大家跟著步驟來就是了,

出現這段話就說明你安裝mmcv-full成功了,
2.4 安裝MMDetection
由于mmtracking的限制,這里安裝的是mmdet==2.14.0,使用命令:pip install mmdet==2.14.0


同樣,出現以上這段話即說明mmdet安裝成功,
2.5 安裝mmtracking
接下來可以按照mmtracking官方教程的步驟5. 開始進行,即使用命令:git clone https://github.com/open-mmlab/mmtracking.git

上圖是完成后的結果,這句話完成后你的環境里會多出一個叫做mmtracking的檔案夾,可以使用命令:ls查看,

如果沒有連上git,則需要看看你的git配置,使用命令:git config --global -l
如果其中有例如 https_proxy = … 的代理內容,則可以使用命令:
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
將其進行洗掉,然后再執行git clone https://github.com/open-mmlab/mmtracking.git,否則你可能需要查找其他方法,以通過這步了,這里有一篇文章對我有所幫助,這是鏈接,
完成git后,就可以使用命令:
cd mmtracking
pip install -r requirements/build.txt
pip install -v -e . # or "python setup.py develop"
這里比較建議一行一行執行
第三句話可能會產生較多的Warning,沒有關系,只要最后出現下圖所示的陳述句則說明你成功了,

2.6 驗證
使用命令:python demo/demo_mot.py configs/mot/deepsort/sort_faster-rcnn_fpn_4e_mot17-private.py --input demo/demo.mp4 --output mot.mp4
若出現以下界面,說明mmtracking已經安裝完成

博主在自己重新安裝后出現了有關opencv的錯誤,錯誤名為:ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory 使用以下命令進行解決:
apt-get install python-tk
apt-get install python-opencv -y --allow-unauthenticated
這里也建議單行運行,然后重新使用命令:python demo/demo_mot.py configs/mot/deepsort/sort_faster-rcnn_fpn_4e_mot17-private.py --input demo/demo.mp4 --output mot.mp4
即可解決,
ps:若出現其他報錯,可查閱相關解決方法,也可以在評論區里留言,大家互相幫助,相互討論,恕博主能力尚淺,本文到此結束,這是本人的第一篇文章,其中的不足希望大家多多包涵,也可以給我提提建議,感謝觀看,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294860.html
標籤:AI
