Window下配置Deep_Sort_Pytorch

1.Deep_Sort_Pytorch

Deep_Sort_Pytorch是一份PyTorch實現的多目標跟蹤的開源庫,該代碼實現的是廣爲人知的deep sort多目標跟蹤算法,算法原作者的實現是基於TensorFlow的,作者用PyTorch實現了RE-ID(目標重識別)模塊,並將目標檢測模型從Faster RCNN 替換爲YOLOv3。作者提供了預訓練模型,不過如果你要自己訓練RE-ID模型的話也是支持的。
Github:https://github.com/ZQPei/deep_sort_pytorch
在這裏插入圖片描述

2.Window下安裝注意事項

1.首先要安裝Python3,原來的python2可以不用刪除,保證命令行響應的是python3就行了(將python3的位置放置在電腦Path變量的前面就ok,保證首先檢索到python3)
在這裏插入圖片描述2.安裝要求的包

pip install -r requirements.txt

推薦採用,防止包安裝在python2下面,如果僅安裝了一個版本的python則無所謂了。

pip3 install -r requirements.txt

安裝torch時需要考慮一下cuda的版本,因爲cuda9.2不支持VS2019的編譯器,後面無法編譯cuda的版本。下圖是pytorch官網給的安裝指令,可以根據配置自動生成:
在這裏插入圖片描述3.依賴的包都安裝ok了,然後可以下載一些配置文件,作者也提供了百度網盤的下載地址。

3.編譯遇到的問題

安照github的說明,需要運行build.sh文件,如果window下沒有安裝sh工具,打開該文件,你會發現裏面是一條python編譯的指令,

在這裏插入圖片描述
可以進到ext目錄下,直接在終端原型裏面那句指令,這時候可能會出現以下幾個問題。

問題1

torch\lib\site-packages\torch\utils\cpp_extension.py:189: UserWarning: Error checking compiler version for cl: [WinError 2] 系統找不到指定的文件。
warnings.warn('Error checking compiler version for {}: {}'.format(compiler, error))

解決方案:在終端提前運行一下環境配置bat,如果是2019版的可以執行

call "安裝地址\VC\Auxiliary\Build\vcvars64.bat"

這裏涉及到了python setuptools模塊編譯的一些問題可以參考另一篇文章

call完之後,如果出現中文提示,那運行的時候會出現下面一個錯誤:

問題2

\torch\utils\cpp_extension.py:188: UserWarning: Error checking compiler version for cl: 'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte

這裏需要修改cpp_extension.py,該文件在python的安裝目錄裏面,將默認的編碼格式換成gbk就能解決該問題。
在這裏插入圖片描述

問題3

編譯因爲錯誤停止,搜索給出的提示信息,你會在裏面發現一句:

c10/util/variant.h(1187): error C2872: “std”: 不明確的符號

在這裏插入圖片描述

這個問題的出現主要是因爲VS編譯器版本的原因,之前用的是VS15自帶的編輯器,之後安裝了Microsoft Build Tools for Visual Studio 2019(參看上面提到的另一篇博客),這個問題解決了,但這導致了一個新問題:
在這裏插入圖片描述由於電腦安裝的CUDA版本是9.2,無法與19版Microsoft Build Tools 兼容,因此沒有編譯gpu的版本,僅僅編譯了cpu的版本。
運行時,在 yolov3_deepsort.py 的目錄裏面運行:

python yolov3_deepsort.py [VIDEO_PATH]

由於沒有gpu,速度感覺有點慢,不過還是可以看出效果的:
在這裏插入圖片描述

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