
mmdetection源码笔记
Activewaste
good good study,day day up
展开
-
mmdetection中:RuntimeError:input is smaller than kernel(shape_check at mmdet/ops/dcn/src/deform_conv)
问题描述RuntimeError:input is smaller than kernel(shape_check at mmdet/ops/dcn/src/deform_conv)前提:在使用mmdetection(v 1.0.0的版本)中的可变形卷积操作时,遇到了这个问题。具体是在MSCOCO test-dev集下跑测试,如果在验证集跑测试的没有出现这个问题。出现这个问题是在test-dev集的第7311张图片上,我们把图片的大小打出来:有一张图片的size出现了2,torch.Size([原创 2020-09-13 17:23:09 · 1567 阅读 · 0 评论 -
mmdetection源码笔记(四):训练模型之train_detector()的解读
引言之前在写mmdetection源码的解读过程时,觉得train_detector()这部分很重要,对于理解整个的训练过程应该时起着非常大的理解作用。然后最近研究工作一直在看和修改mmdetection的其他模块的代码这一块。感觉train_detector()这块内容其实也不是特别重要来着,可能就是一个加强理解的过程。这次还是花了点时间,大致的看了一下,顺便加上自己的一些理解,解释了一下整...原创 2019-11-04 22:43:55 · 4650 阅读 · 6 评论 -
mmdetection源码笔记(二):创建网络模型之cascade_rcnn.py的解读(中)
引言:cascade_rcnn.py文件在moels/detections文件夹下。本次对文件cascade_rcnn.py的代码解读,是根据py配置文件configs/cascade_rcnn_r50_fpn_1x.py的数据信息进行讲解的。moels/detectionscascade_rcnn.py文件中主要的内容如下:__init__() :module的构造函数。init_w...原创 2019-08-18 17:24:22 · 9242 阅读 · 18 评论 -
mmdetection源码笔记(一):train.py解读
刚接触mmdetection,建议不着急看代码,可以先去把config配置文件先去好好了解一下,因为,要改动或者微调,以及复现论文中的精度,基本上都在config文件夹下进行修改数据。【干货】mmdetection使用coco格式的CrowdHuman数据集进行训练及测试(附调参过程)上面这篇文章是博主刚开始接触mmdetection时,复现论文CrowdHuman里fpn精度的过程,里面...原创 2019-08-13 20:50:24 · 11516 阅读 · 12 评论 -
mmdetection源码笔记(二):创建网络模型之registry.py和builder.py解读(上)
引言:在上篇文章中,讲了train.py训练文件,主要是读取命令行函数和主函数main。main主要先做了一些config,work_dir以及log等操作(这些操作都是从命令行获得的,或者从命令行带有的文件里得到的参数等。)。最主要的三个步骤就是调用build_detector()来创建模型,然后同样调用build_dataset()对数据集创建模型,然后在训练检测器train_detect...原创 2019-08-14 16:52:46 · 15143 阅读 · 34 评论 -
mmdetection源码笔记(三):创建数据集模型之datasets/coco.py的解读(上)
引言同样,数据集也是需要build模型的。类CocoDataset是CustomDataset类的子类,而CustomDataset是Dataset的子类。(之前的创建模型,都是torch.nn.module的子类,数据集的创建就不是咯,注意一下)以下是CustomDataset的annotation的格式: Custom dataset for detection: Annotat...原创 2019-08-20 22:28:56 · 5327 阅读 · 2 评论 -
mmdetection源码笔记(三):创建数据集模型之datasets/custom.py的解读(下)
引言custom.py是datasets/coco.py中CocoDataset的父类,主要有以下几个类:load_annotations():在子类中重写了,作用是:加载标注文件中的annotation字典,返回图片信息,比如:info{"filename":"284193,faa9000f2678b5e.jpg"}。(存疑)get_ann_info():在子类中被重写了,作用是:获得...原创 2019-08-22 09:31:31 · 4401 阅读 · 13 评论 -
mmdetection源码笔记(五):测试之test.py的解读
引言在test阶段有以下几个方法:single_gpu_test():顾名思义,就是单GPU测试,该方法在main()中调用,当不分布式测试的时候,则运行次测试方法,该方法的实现中,其实是调用了检测器测试过程的forward()前向计算过程,以cascade_rcnn为例,在cascade_rcnn的父类中的forward()方法中,通过判断test_mode当前处于训练还是测试阶段,来调用...原创 2019-08-22 22:54:39 · 10024 阅读 · 17 评论