yolov3中yolov3-voc.cfg文件中参数理解-笔记
[net]
# Testing #测试模式
batch=1
subdivisions=1
# Training #训练模式 每次前向图片的数目=batch/subdivisions
# batch=64 #关于batch与subdivision:
#在训练输出中,训练迭代包括8组,这些batch样本又被平均分成subdivision=8次送入网络参与训练,以减轻内存占用的压力
# subdivisions=16 #batch越大,训练效果越好,subdivision越大,占用内存压力越小
width=416 #网络输入的宽、高、通道数
height=416
channels=3 #这三个参数中,要求width==height, 并且为32的倍数,大分辨率可以检测到更加细小的物体,从而影响precision
momentum=0.9 #动量,影响梯度下降到最优的速度,一般默认0.9
decay=0.0005 #权重衰减正则系数,防止过拟合
angle=0 #旋转角度,从而生成更多训练样本
saturation = 1.5 #调整饱和度,从而生成更多训练样本
exposure = 1.5 #调整曝光度,从而生成更多训练样本
hue=.1 #调整色调,从而生成更多训练样本
learning_rate=0.001 #学习率 ,决定了权值更新的速度,学习率大,更新的就快,但太快容易越过最优值,而学习率太小又更新的慢,效率低,
#一般学习率随着训练的进行不断更改,先高一点,然后慢慢降低,一般在0.01--0.001
burn_in=1000 #学习率控制的参数,在迭代次数小于burn_in时,其学习率的更新有一种方式,大于burn_in时,才采用policy的更新方式
max_batches = 50200 #迭代次数,1000次以内,每训练100次保存一次权重,1000次以上,每训练10000次保存一次权重
policy=steps #学习率策略,学习率下降的方式
steps=40000,45000 #学习率变动步长
scales=.1,.1 #学习率变动因子
#如迭代到40000次时,学习率衰减十倍,45000次迭代时,学习率又会在前一个学习率的基础上衰减十倍
[convolutional]
batch_normalize=1 #BN
filters=32 #卷积核数目
size=3 #卷积核尺寸
stride=1 #做卷积运算的步长
pad=1 #如果pad为0,padding由 padding参数指定。
#如果pad为1,padding大小为size/2,padding应该是对输入图像左边缘拓展的像素数量
activation=leaky #激活函数类型
# Downsample
[convolutional]
batch_normalize=1
filters=64
size=3
stride=2
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=32
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky
[shortcut]
from=-3
activation=linear #借鉴了resnet网络的shortcut方式可以加深网络
# Downsample
[convolutional]
batch_normalize=1
filters=128
size=3
stride=2
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky
[shortcut]
from=-3
activation=linear
[convolutional]
batch_normalize=1
filters=64
siz