mmdetection 安装与配置
mmdetection是商汤和香港大学联合发布的用于深度学习训练的工具,拥有更快捷、更高效、更易于管理的模式。
[mmdetection Github地址:](https://github.com/open-mmlab/mmdetection)
在安装之前,先讲讲需要那些库文件:
linux
cuda = 9.0(注意,一定要是9.0,在安装之前试了试10.0发现最后无法编译通过)
cudnn = 7+
gcc = 5.4.0
ananconda3(我一直认为anaconda是学习深度学习的好帮手,集合真的省了不少事)
mmcv (是同一团队开发的视觉工具:(https://github.com/open-mmlab/mmcv))
Cython
opencv-python
torch = 1.0+
torchvision = 0.3
pycocotool
下面开始正式安装
下载
先从上述的地址中clone下来两个关键包:mmcv和mmdetection
也可以使用linux命令直接下载:
git clone https://github.com/open-mmlab/mmdetection.git
git clone https://github.com/open-mmlab/mmcv.git
之后先安装依赖包:
anaconda3:
[Linux地址:](https://www.anaconda.com/download/#linux)
按照需求下载对应版本,只有放在对应目录下输入:
bash Anaconda3-2019.07-Linux-x86_64.sh
一直选择yes就可以完成安装。在安装过程中要记住anaconda3的安装路径。
安装完成后输入:python 如果显示:
代表安装成功。
安装其他依赖包
可以使用:`conda install name`来安装。也可以下载.whl文件后离线安装
例如opencv-python离线下载地址:
(https://pypi.org/search/?q=opencv-python)
选则对应的文件下载就可以了。
关于torch的安装:
可以去主页查看对应版本:(https://pytorch.org)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190802150055436.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMDA4MzMz,size_16,color_FFFFFF,t_70)
cocoAPI安装:
因为会用到coco数据集所以要安装对应的api,coco不支持conda的镜像直接安装所以要去git下载对应的包进行离线安装
[API](https://github.com/cocodataset/cocoapi)
下载之后进入PythonAPI后
python setup.py install
就可以了
mmcv
mmcv是香港团队开发的关于图像处理的一系列包。这个包内含有框架处理图像的函数,所有需要安装
git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
pip install -e .
一定注意最后边有个’.'这个一定要加。
mmdetection安装
cd mmdetection
python setup.py develop
这网址中作者也提到如果需要经常运用mmdetection这个工具的话,要执行上述的代码,而且在以后改变版本或者更改配置之后都要重新执行一遍。
demo
在mmdetection目录下放入几张图片。新建test.py 运行:
from mmdet.apis import init_detector, inference_detector, show_result
import mmcv
config_file = 'configs/faster_rcnn_r50_fpn_1x.py'
checkpoint_file = 'faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth'
# build the model from a config file and a checkpoint file
model = init_detector(config_file, checkpoint_file, device='cuda:0')
# test a single image and show the results
img = 'timg.jpg' # or img = mmcv.imread(img), which will only load it once
result = inference_detector(model, img)
show_result(img, result, model.CLASSES)
这里是单张图片的测试代码。多张的可以去官网查询。关于自己数据集训练的,之后会发布。