Python3.6.8 + Pytorch1.4.0 + CUDA10.0 + openCV4.2.0 配置mmtracking

Posted weixin_49446796

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3.6.8 + Pytorch1.4.0 + CUDA10.0 + openCV4.2.0 配置mmtracking相关的知识,希望对你有一定的参考价值。

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-pythonopencv-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.8Pytorch1.4.0CUDA的版本是10.1的,但是之后我们会安装cudatoolkit==10.0gcc版本是5.4.0的,查看gcc版本的方法:gcc -v

2.2 安装cudatoolkit

于是开始mmtracking的安装,在此处我们没有选择使用虚拟环境,而是直接利用base环境。pytorchtorchvision请自行安装,官方教程中有详细的讲解,注意版本的匹配即可。在官方教程的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.0mmcv之前版本的网站中最多仅支持到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:若出现其他报错,可查阅相关解决方法,也可以在评论区里留言,大家互相帮助,相互讨论,恕博主能力尚浅,本文到此结束,这是本人的第一篇文章,其中的不足希望大家多多包涵,也可以给我提提建议,感谢观看。

以上是关于Python3.6.8 + Pytorch1.4.0 + CUDA10.0 + openCV4.2.0 配置mmtracking的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7安装Python3.6.8

CentOS7 安装Python3.6.8

python3.6.8 安装pyqt4失败如何解决?

Centos7 django+uwsgi+nginx+python3.6.8部署

Pytorch1.4 中文文档教程

Anaconda 配置各版本 Pytorch 深度学习环境