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)
Window下配置Deep_Sort_Pytorch_第1张图片2.安装要求的包

pip install -r requirements.txt

推荐采用,防止包安装在python2下面,如果仅安装了一个版本的python则无所谓了。

pip3 install -r requirements.txt

安装torch时需要考虑一下cuda的版本,因为cuda9.2不支持VS2019的编译器,后面无法编译cuda的版本。下图是pytorch官网给的安装指令,可以根据配置自动生成:
Window下配置Deep_Sort_Pytorch_第2张图片3.依赖的包都安装ok了,然后可以下载一些配置文件,作者也提供了百度网盘的下载地址。

3.编译遇到的问题

安照github的说明,需要运行build.sh文件,如果window下没有安装sh工具,打开该文件,你会发现里面是一条python编译的指令,

Window下配置Deep_Sort_Pytorch_第3张图片
可以进到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就能解决该问题。
Window下配置Deep_Sort_Pytorch_第4张图片

问题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,速度感觉有点慢,不过还是可以看出效果的:
Window下配置Deep_Sort_Pytorch_第5张图片

你可能感兴趣的:(python)