前言
目标检测的模型还是很多的,要挨个挨个学还是有点吃力(精力旺盛可忽略),所以这里总结一下当前流行的目标检测的框架:darknet yolov4,mmdetection2.0,detectron2.0。至于这三个框架怎么去选择,我的答案是只有你真正懂了,上手试了这几个框架之后你才能比较它们之间的优劣。
1. mmdetection2.0 配置
我的环境:WIN10,CUDA10.1,cuDNN7.6.4,Anaconda,VS2019(这个必须有),OpenCV3.4.10,GTX1660(6G内存)
1.1 虚拟环境
至于为什么要创建一个虚拟环境,起作用主要有以下几个:
- 虚拟环境可以搭建独立的python运行环境, 使得单个项目的运行环境与其它项目互不影响。
- 可以避免一个环境造成得安装包过的多,导致环境加载缓慢。
创建一个没有存在过的虚拟环境:
conda create -n mmd2 python=3.7
激活虚拟环境:
conda activate mmd2
1.2 安装pytorch
conda install pytorch=1.3 torchvision cudatoolkit=10.1
这里pytorch只能是1.3版本的,太高会运行不成功,这也是为什么要创建虚拟环境的原因。
1.3 安装一些依赖包
pip install cython opencv-python pillow matplotlib numpy==1.17.5
1.4 修改文件内部的一些参数(非常重要)
修改C:\Users\lee\Anaconda3\envs\mmd2\Lib\site-packages\torch\utils\cpp_extension.py
185行:match = re.search(r'(\d+)\.(\d+)\.(\d+)', compiler_info.decode("utf8","ignore").strip())
下面这一步如果你是VS2019可以不用更改
在C:\Users\lee\Anaconda3\envs\mmd2\Lib\site-packages\torch\include\c10\util
替换 flat_hash_map.h
在C:\Users\lee\Anaconda3\envs\mmd2\Lib\site-packages\torch\include\c10\util
替换 order_preserving_flat_hash_map.h
1.5 安装mmcv
mmcv这个库就是用于计算机视觉研究的基础 Python 库,支持 MMLAB 中的许多研究项目(本文用的mmdetection)
pip install mmcv
或者
git clone https://github.com/open