我正在使用Caffe的DeepLab_v2版本来进行语义分割。我可以使用imagenet模型对ResNet101进行微调,但我无法使用自定义数据从头开始训练模型。有没有人有类似的经验并设法解决这个问题?
这就是ResNet的功能块,我目前正用于培训:
layer {
bottom: "data"
top: "conv1"
name: "conv1"
type: "Convolution"
param {
name: "conv1_0"
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 2
bias_term: false
weight_filler {
type: "msra"
}
}
}
layer {
bottom: "conv1"
top: "conv1"
name: "bn_conv1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
param {
name: "bn_conv1_0"
lr_mult: 0
}
param {
name: "bn_conv1_1"
lr_mult: 0
}
param {
name: "bn_conv1_2"
lr_mult: 0
}
}
layer {
bottom: "conv1"
top: "conv1"
name: "scale_conv1"
type: "Scale"
scale_param {
bias_term: true
filler {
value: 0.5
}
bias_filler {
value: -2
}
}
param {
name: "scale_conv1_0"
lr_mult: 0
}
param {
name: "scale_conv1_1"
lr_mult: 0
}
}
layer {
top: "conv1"
bottom: "conv1"
name: "conv1_relu"
type: "ReLU"
}
我尝试了各种变体,包括use_global_stats: false
。我能够训练上面这种类型的单个块,但是当我尝试使用所有101层时,模型不再会聚。
有什么想法吗?