在PyCharm上運行FairMOT(win10)


效果圖(github項目原圖)

有新問題會及時寫上(有任何該項目部署的問題可以私信我或者在評論區交流)

1. 下載FairMOT源碼

FairMOT從出現開始,在多目標跟蹤的多項競賽都拿到了"State of the Art",如下表

Dataset	MOTA	IDF1	IDS	MT	ML	FPS
2DMOT15	60.6	64.7	591	47.6%	11.0%	30.5
MOT16	74.9	72.8	1074	44.7%	15.9%	25.9
MOT17	73.7	72.3	3303	43.2%	17.3%	25.9
MOT20	61.8	67.3	5243	68.8%	7.6%	13.2

作者的開發環境是ubuntu,如果想要在windows上運行該項目,會有些坑(對於我這種初學者就是折磨),因此記錄一下環境搭建的過程。

github地址_FairMOT_

使用命令下載:

git clone https://github.com/ifzhang/FairMOT.githttps://github.com/ifzhang/FairMOT.git

或者直接自己下載壓縮文件解壓到你的工作目錄中

2. 環境搭建(作為菜鳥最艱辛的路程)

Anaconda安裝

Anaconda的安裝請參考其他教程。

創建虛擬環境

注意你的Anaconda對應的Python版本,我的對應的python版本是3.8.5

2020年12月3日的FairMOT最新版本中, python 3.7 和 pytorch >= 1.2.0。

為了保持和項目作者一樣的環境(減少意料之外的錯誤), 先創建虛擬環境,然后切換到虛擬環境

conda create -n FairMOT
conda activate FairMOT

安裝 pytorch

這里一定要注意區分幾個概念

cuda 與 cudatoolkit

在windows環境下,如果你有一塊獨立顯卡(目前只要是台式機基本都會有),那么你肯定需要安裝你的獨立顯卡對應的顯卡驅動版本

比如我的顯卡是 GeForce GTX 1660 Super, 我的顯卡驅動程序版本是 457.30

這個安裝的 CUDA Toolkit 是Nvidia官方提供的,它的版本需求並不是我們安裝PyTorch時候的需求

Nvidia 官方提供安裝的 CUDA Toolkit 包含了進行 CUDA 相關程序開發的編譯、調試等過程相關的所有組件。

但對於 Pytorch 之類的深度學習框架而言,其在大多數需要使用 GPU 的情況中只需要使用 CUDA 的動態鏈接庫支持程序的運行( Pytorch 本身與 CUDA 相關的部分是提前編譯好的 )

就像常見的可執行程序一樣,不需要重新進行編譯過程,只需要其所依賴的動態鏈接庫存在即可正常運行。

故而,Anaconda 在安裝 Pytorch 等會使用到 CUDA 的框架時,會自動為用戶安裝 cudatoolkit,其主要包含應用程序在使用 CUDA 相關的功能時所依賴的動態鏈接庫。

在安裝了 cudatoolkit 后,只要系統上存在與當前的 cudatoolkit 所兼容的 Nvidia 驅動,則已經編譯好的 CUDA 相關的程序就可以直接運行,而不需要安裝完整的 Nvidia 官方提供的 CUDA Toolkit .

一般情況下Nvidia官方提供的cuda版本大於你PyTorch所需的cudatoolkit版本即可!

安裝

根據FairMOT項目的環境安裝PyTorch,要求 python 3.7 and pytorch >= 1.2.0

conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

國內的朋友可能會遇到下載速度慢的情況,設置conda源,我用的是清華源

添加源並設置超時時間(網絡不好的情況很容易超時安裝失敗)

conda config --add http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --set show_channel_urls yes
conda config --set remote_connect_timeout_secs 1000

3. 安裝環境依賴

cd ${FAIRMOT_ROOT}
pip install -r requirements.txt

在windows下這個命令一次是絕對無法完成的,除非你之前就搭建過類似的環境。

我出現的錯誤有如下幾個

'cl.exe' not found

首先確保你安裝了C++編譯工具,我直接安裝了VS2019社區版。一定要選擇上C++編譯工具。

在你的系統添加環境變量,我的安裝位置如下

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x64\cl.exe

因此在Path下添加

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x64

之后確保你的Anaconda有權限執行你的windows系統環境的命令

一開始我的 Anaconda base環境(必須是管理員模式)是可以執行cl.exe的,但是新創建的FairMOT環境無法執行

我的解決辦法是base環境下進入到所在文件夾,然后切換到我們創建的新環境,再執行,就能在虛擬環境使用cl.exe

(可能是我的系統環境變量只在當前用戶添加了的原因)

DCNv2在windows上編譯

將下載的DCNv2放在如下路徑(對應修改自己的)

E:\FairMOT\src\lib\models\networks\DCNv2

進入到上面的路徑執行如下口令編譯即可

python setup.py build develop

DCNv2 的 testcpu.py 和 testcuda.py

cpu上測試得到報錯

是因為DCNv2使用的是雙精度浮點數,需要修改對應文件即可。

Windows下必須安裝cudatoolkit才可以使用在運行時調用gpu

在windows下安裝cython-bbox

報錯如下:

cl: 命令行 error D8021 :無效的數值參數“/Wno-cpp”

下載對應的cython-bbox壓縮包,解壓到你的環境目錄(任意),然后在你的環境中切換到解壓縮目錄,修改如下一行,然后再執行安裝即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM