FairMOT复现
作者:互联网
FairMOT复现
根据https://www.bilibili.com/video/BV1RD4y1S7ws
这位UP主的教程将代码跑通,在此记录一下。
环境
-
显卡:
3060
-
cuda版本:
11.2
-
pytorch版本:
1.9.0
-
python版本:
注意请使用python3.7
,之前用1.8报过一些numpy的版本错误问题。 -
编译器:Pycharm
3060cuda配置可以参考这篇文章https://blog.csdn.net/sinat_37151390/article/details/123305448?spm=1001.2014.3001.5501
直接贴上安装pytorch和对应cuda版本命令
pip --no-cache-dir install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
步骤
- 先下载上面链接B站教程中公众号提供的FairMOT压缩包
-
下载这个版本的DCNv2_latest:
https://github.com/jinfagang/DCNv2_latest
下载下来将其命名为DCNv2
将up主提供的FairMOT中的DCNv2
替换掉 -
然后创建环境:
第三句命令其实可以使用自己的版本,up主说的使用非10.0的kit可能会有编译错误,但是使用原来up主提供的DCN文件夹我也没编译成功
conda create -n FairMOT python=3.7
conda activate FairMOT
!!!(conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch)
pip install -r requirements.txt
-
!!! 等报错了再覆盖,这一步可以先不做,等最后出错了在覆盖最保险。覆盖的时候先把原flat_hash_map.h备份好,我是直接把原flat_hash_map.h压缩包了
D:\ProgramData\Anaconda3\envs\FairMOT\Lib\site-packages\torch\include\c10\util
覆盖flat_hash_map.h -
进入文件夹编译
DCNv2
cd E:\PytorchPro\FairMOT-master\src\lib\models\networks\DCNv2
输入命令:python setup.py build develop -
进入文件夹编译
DCNv2_new
cd E:\PytorchPro\FairMOT-master\src\lib\models\networks\DCNv2_new
输入命令:python setup.py build develop
-
进入文件夹编译
bbox
cd E:\PytorchPro\FairMOT-master\cython_bbox-0.1.3
输入命令:python setup.py build develop -
把
dla34-ba72cf86.pth
复制到C:\Users\Trust\.cache\torch\checkpoints
在项目这个位置如果没有
checkpoints
这个文件夹,自己新建一个,在我的torch文件夹下面只有一个Hub
里面有一个checkpoints
文件夹,我在两个文件夹都放了。 -
如果和我一样是在pycharm里面跑的,将
lib
设置一下,不然找不到包。
- 最后启动项目,进入src目录输入:
python demo.py mot --load_model ../models/all_dla34.pth --input-video ../videos/MOT16-03.mp4 --output-root ../videos --conf_thres 0.4
到后面平均FPS
9-10的样子。
完结!
标签:python,DCNv2,torch,--,文件夹,复现,FairMOT 来源: https://blog.csdn.net/sinat_37151390/article/details/123593193