[net]
# Testing
#batch=64
#subdivisions=8
# Training
batch=64
subdivisions=4
width=416
height=416
channels=1
momentum=0.9
decay=0.0005
angle=45
saturation = 1.5
exposure = 1.5
hue=.1
learning_rate=0.001
burn_in=1000
max_batches = 500200
policy=steps
steps=400000,450000
scales=.1,.1
[net] 部分各参数的含义
batch
批处理大小,
subdivisions
如果内存不足,将batch大小再分成这么多个batch处理
width/height/channels
输入图像的长宽和波段数
momentum
冲量系数
decay
weight decay
权值衰减,为了防止过度拟合而设置的一个参数,
每次迭代以一个小因子降低每个权值。
angle
增加训练数据量,图片角度变化,单位为度,生成新图片的时候随机旋转±这个角度内的任意值。
saturation/exposure/hue
增加训练数据量的方法,饱和度/曝光/色相的调整
learning_rate
学习率,决定参数移动到最优值的速度的快慢,学习率太大,会导致错过最优解而无法收敛。学习率太小,会导致训练速度太慢,也可能陷入局部最优解。
burn_in
如果设置这个参数,学习率就不是按照设置的learning_rate来训练的,而是根据训练的迭代次数动态更新的,更新公式为:lr = base_lr * power(batch_num/burn_in,pwr)
max_batches
最大迭代次数
policy
调整学习率的策略,有以下几种:
CONSTANT, STEP, EXP, POLY,STEPS, SIG, RANDOM
steps
学习率变化时候的迭代次数,当迭代次数到达设置的迭代次数的时候,学习率将会重新调整,只有policy设置为steps的时候才会生效。
scales
学习率变化的比率,累计相乘,变化时机由steps参数决定。
[yolo]
mask = 0,1,2
anchors = 10,14, 23,27, 37,58, 81,82, 135,169, 344,319
classes=1
num=6
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1
[yolo]部分参数的含义
anchors
预测框的初始宽高
jitter
通过抖动增加噪声来抑制过拟合
random
设置为1的时候会启用Multi-Scale Traning,随机使用不同尺寸的图片进行训练,如果为0,每次训练大小与输入大小一致。