yolov3-tiny 配置文件详解(待更新)

1、batch/subdivisions是一次送入训练器的样本数量,也就是说把batch个样本分成subdivisions次送入训练器。将一个批量的样本分多次送入训练器,可以节省内存。每batch个样本代表完成一次权重参数更新

2、decay是权重衰减正则项,每一次学习的过程中,将学习后的参数按照固定比例进行降低,防止过拟合,默认值0.0005。

3、steps=4800,5400scales=.1,.1表示迭代到4800次时,学习率在learning_rate(0.001)的基础上衰减10倍,45000次迭代时,学习率又会在前一个学习率的基础上衰减十倍。

4、anchors定义了anchor的宽高,以像素为单位。只有mask索引到的anchors才会在当前yolo层中被使用。如果不设置anchors,默认是0.5。num=anchors数量。例如

mask = 0, 1, 2

anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326

mask数量是3,anchors数量是9,即num=9。mask定义第0,1,2个anchors在当前yolo层中被使用,其宽高分别是[10,13],[16,30],[33,23]。mask数量也是每个grid预测的boundingbox数。另外,每一个yolo层前的最后一个卷积层的filters=(mask数量)*(classes+4+1)。

只需要修改带有mask具体值的[yolo]上面的那个->[convolutional]里面的->filters才需要修改为:3*(classese+5)在仅本文的实例中有两处yolo和filters需要修改!!

[net]
# Testing//测试模式,这行就是注释掉的,训练模式时意义下同。
# batch=1//批量梯度下降法中每个批量的样本数量。详解见1
# subdivisions=1//详解见1
# Training//训练模式,就是注释掉的。
batch=32//详解见1。建议按照显存来选,详细配置说明见图1
subdivisions=16//同上
width=416//输入图像的分辨率
height=416//同上
channels=3//通道数
momentum=0.9//动量梯度下降法的动量参数,默认0.9
decay=0.0005//详解见2
angle=0//几何变换参数
saturation = 1.5//分别对应HSV三个颜色通道的调整参数,下两行同意义
exposure = 1.5
hue=.1

learning_rate=0.001//权值更新的基础变化率,默认0.001
burn_in=1000//在迭代次数小于此值时,学习率(learning_rate)有更新策略
max_batches = 6000//最大权重更新次数。classes*2000,但不得少于训练图像的数量且不小于6000
policy=steps//当迭代次数大于此值时,才采用此值的更新策略
steps=4800,5400//max_batches的80%和90%
scales=.1,.1//学习率变化量表。详解见3

[convolutional]
batch_normalize=1
filters=16
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=2

[convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky

[maxpool]
size=2
stride=1

[convolutional]
batch_normalize=1
filters=1024
size=3
stride=1
pad=1
activation=leaky

###########

[convolutional]
batch_normalize=1
filters=256
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky

[convolutional]
size=1
stride=1
pad=1
filters=18//只需要修改带有mask具体值的[yolo]上面的->[convolutional]里面的->filters才需要修改为:3*(classese+5)
activation=linear



[yolo]
mask = 3,4,5
anchors = 10,14,  23,27,  37,58,  81,82,  135,169,  344,319//详解见4
classes=1
num=6
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1

[route]
layers = -4

[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky

[upsample]
stride=2

[route]
layers = -1, 8

[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky

[convolutional]
size=1
stride=1
pad=1
filters=18
activation=linear

[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

发表回复 0

Your email address will not be published. Required fields are marked *