本专栏之前博文详细介绍了mmdetection3d的安装和验证过程。在后续运行该框架下的算法模型时,我们将采用调试的模式对模型关键程序部分进行逐行解析,进而加深对模型自身的理解。
为了加快算法模型的调试效率,这里记录一下mmdetection3d中的几个关键的调试断点位置。
三维目标检测模型训练入口文件路径为mmdetection-master/mmdet/models/detectors/base.py。断点设置在-函数train_step(self, data, optimizer)的losses = self(**data)所在行。
程序运行到1中断点时,通过不断步入操作会进入到第二个断点设置位置,所在文件为mmcv->runner->fp16_utils.py,断点设置在函数auto_fp16_wrapper(old_func)的return old_func(*args, **kwargs)所在行。
程序运行到2中断点时,通过不断步入操作会进入到第三个断点设置位置,所在文件为mmdetection3d-master/mmdet3d/models/detectors/base.py,断点位置设置在函数forward(self, return_loss=True, **kwargs)的return self.forward_train(**kwargs)所在行。
找到第3个断点之后,在后续程序调试过程中可取消前两个断点,直接保留第3个断点即可。在第3个断点继续进行程序步入操作时,程序会跳转到模型训练文件的主函数入口,即可进行模型结构的层层解析。
更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。