参考链接:
object detection api调参详解(兼SSD算法参数详解)
https://copyfuture.com/blogs-details/20200630233052263i2qwtu5rloywtv1
文章详细介绍了ssd_mobilenet_v1_pets.config中的参数含义与配置建议,大部分还是正确的可供参考。
这与我训练中使用的ssd_mobilenet_v2_coco.config文件基本类似。
下面简单补充几点:
1,anchor_generator参数的配置。
其中默认参数如下:
min_scale: 0.2
max_scale: 0.95
修改建议:对训练集中的box宽度进行统计,进行相应修改。
2, post_processing
该部分参数也可以根据需要调整。
batch_non_max_suppression {
score_threshold: 1e-8
iou_threshold: 0.6
max_detections_per_class: 100 #每个类别可保留的检测框的最大数目。
max_total_detections: 100 #所有类别可保留的检测框的最大数目。
}
score_converter: SIGMOID # 检测分数的转换器类型选择
3,train_config: 最重要的修改部分:训练参数
{
batch_size: 48 # 越大越好,只要你的算力和显存大小满足。
optimizer {
rms_prop_optimizer: { #优化器的选择,还可以尝试使用,momentum_optimizer或者adam_optimizer
learning_rate: {
exponential_decay_learning_rate { #学习率的变化,除了指数型变化外,还有momentum_optimizer,adam_optimizer这两种优化方式。
initial_learning_rate: 0.004# 初始学习率
decay_steps: 800720 #学习率变化周期
decay_factor: 0.95 #衰减率
}
}
momentum_optimizer_value: 0.9 # 冲量 在学习率比较小时,较大的冲量(冲量不超过1)可以加速收敛。
decay: 0.9
epsilon: 1.0
}
}
4,fine_tune_checkpoint
设置预训练模型的路径,用于精调,并非用于0步训练时使用。
待补充ing