目标检测训练框架
研究lufficc/SSD源码时,发现其实现了一个目标检测训练框架,进行深入研究后整理成一个新的训练框架
研究lufficc/SSD源码时,发现其实现了一个目标检测训练框架,进行深入研究后整理成一个新的训练框架
阅读源码时发现torchvision提供了许多边界框操作,包括
NMSIoU计算在线文档:torchvision.ops
源码地址:torchvision/ops/boxes.py
当前torchvision版本:0.6.0a0+82fd1c8
之前学习IoU的概念并且实现了预测框和对应真值边界框之间的计算 - [目标检测]IoU
不过预设的条件是每个真值边界框仅和单个预测边界框进行比对,参考box_utils.py计算每个真值边界框和每个预测边界框的IoU
之前在[数据集][PASCAL VOC]07+12中需要额外下载、解压数据集才能进一步实现VOC 07+12的集合。今天发现了PyTorch的voc.py集成了2007测试集,同时可以结合ConcatDataset一起使用
相关实现:zjykzj/vocdev
4月份实现了YOLO_v1算法,学习新的模型ResNet/GoogLeNet/SqueezeNet/DenseNet/SSD,同时小结了评估标准,包括mAP/Flops/Params Size/FPS/Top-k accuracy
本周学习了如何寻找最优学习率/权重衰减,以及进行warmup+CosineAnnearling加速模型训练,同时加强了数据预处理,包括随机擦除/颜色抖动/Ten Crops测试等
本周继续SSD算法的学习和实现,同时开始新模型和训练方法的学习。本月期待完成新工作的寻找
论文A DISCIPLINED APPROACH TO NEURAL NETWORK HYPER-PARAMETERS: PART 1 – LEARNING RATE, BATCH SIZE, MOMENTUM, AND WEIGHT DECAY给出了关于学习率、批量大小、动量和权重衰减的训练方法。下面学习如何找到最优权重衰减值
如何寻找最优学习率?
论文Cyclical Learning Rates for Training Neural Networks提出了周期学习率调度方法,让学习率在合理的边界值之间循环变化(不再单调递减)
论文Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour使用warmup进行学习率的调整,能够帮助模型的训练