589 lines
9.7 KiB
Plaintext
589 lines
9.7 KiB
Plaintext
name: "LtoAB"
|
|
|
|
layer {
|
|
name: "data_l"
|
|
type: "Input"
|
|
top: "data_l"
|
|
input_param {
|
|
shape { dim: 1 dim: 1 dim: 224 dim: 224 }
|
|
}
|
|
}
|
|
|
|
# *****************
|
|
# ***** conv1 *****
|
|
# *****************
|
|
layer {
|
|
name: "bw_conv1_1"
|
|
type: "Convolution"
|
|
bottom: "data_l"
|
|
top: "conv1_1"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 64
|
|
pad: 1
|
|
kernel_size: 3
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu1_1"
|
|
type: "ReLU"
|
|
bottom: "conv1_1"
|
|
top: "conv1_1"
|
|
}
|
|
layer {
|
|
name: "conv1_2"
|
|
type: "Convolution"
|
|
bottom: "conv1_1"
|
|
top: "conv1_2"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 64
|
|
pad: 1
|
|
kernel_size: 3
|
|
stride: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu1_2"
|
|
type: "ReLU"
|
|
bottom: "conv1_2"
|
|
top: "conv1_2"
|
|
}
|
|
layer {
|
|
name: "conv1_2norm"
|
|
type: "BatchNorm"
|
|
bottom: "conv1_2"
|
|
top: "conv1_2norm"
|
|
batch_norm_param{ }
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
}
|
|
# *****************
|
|
# ***** conv2 *****
|
|
# *****************
|
|
layer {
|
|
name: "conv2_1"
|
|
type: "Convolution"
|
|
# bottom: "conv1_2"
|
|
bottom: "conv1_2norm"
|
|
# bottom: "pool1"
|
|
top: "conv2_1"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 128
|
|
pad: 1
|
|
kernel_size: 3
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu2_1"
|
|
type: "ReLU"
|
|
bottom: "conv2_1"
|
|
top: "conv2_1"
|
|
}
|
|
layer {
|
|
name: "conv2_2"
|
|
type: "Convolution"
|
|
bottom: "conv2_1"
|
|
top: "conv2_2"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 128
|
|
pad: 1
|
|
kernel_size: 3
|
|
stride: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu2_2"
|
|
type: "ReLU"
|
|
bottom: "conv2_2"
|
|
top: "conv2_2"
|
|
}
|
|
layer {
|
|
name: "conv2_2norm"
|
|
type: "BatchNorm"
|
|
bottom: "conv2_2"
|
|
top: "conv2_2norm"
|
|
batch_norm_param{ }
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
}
|
|
# *****************
|
|
# ***** conv3 *****
|
|
# *****************
|
|
layer {
|
|
name: "conv3_1"
|
|
type: "Convolution"
|
|
# bottom: "conv2_2"
|
|
bottom: "conv2_2norm"
|
|
# bottom: "pool2"
|
|
top: "conv3_1"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 256
|
|
pad: 1
|
|
kernel_size: 3
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu3_1"
|
|
type: "ReLU"
|
|
bottom: "conv3_1"
|
|
top: "conv3_1"
|
|
}
|
|
layer {
|
|
name: "conv3_2"
|
|
type: "Convolution"
|
|
bottom: "conv3_1"
|
|
top: "conv3_2"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 256
|
|
pad: 1
|
|
kernel_size: 3
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu3_2"
|
|
type: "ReLU"
|
|
bottom: "conv3_2"
|
|
top: "conv3_2"
|
|
}
|
|
layer {
|
|
name: "conv3_3"
|
|
type: "Convolution"
|
|
bottom: "conv3_2"
|
|
top: "conv3_3"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 256
|
|
pad: 1
|
|
kernel_size: 3
|
|
stride: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu3_3"
|
|
type: "ReLU"
|
|
bottom: "conv3_3"
|
|
top: "conv3_3"
|
|
}
|
|
layer {
|
|
name: "conv3_3norm"
|
|
type: "BatchNorm"
|
|
bottom: "conv3_3"
|
|
top: "conv3_3norm"
|
|
batch_norm_param{ }
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
}
|
|
# *****************
|
|
# ***** conv4 *****
|
|
# *****************
|
|
layer {
|
|
name: "conv4_1"
|
|
type: "Convolution"
|
|
# bottom: "conv3_3"
|
|
bottom: "conv3_3norm"
|
|
# bottom: "pool3"
|
|
top: "conv4_1"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
stride: 1
|
|
pad: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu4_1"
|
|
type: "ReLU"
|
|
bottom: "conv4_1"
|
|
top: "conv4_1"
|
|
}
|
|
layer {
|
|
name: "conv4_2"
|
|
type: "Convolution"
|
|
bottom: "conv4_1"
|
|
top: "conv4_2"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
stride: 1
|
|
pad: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu4_2"
|
|
type: "ReLU"
|
|
bottom: "conv4_2"
|
|
top: "conv4_2"
|
|
}
|
|
layer {
|
|
name: "conv4_3"
|
|
type: "Convolution"
|
|
bottom: "conv4_2"
|
|
top: "conv4_3"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
stride: 1
|
|
pad: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu4_3"
|
|
type: "ReLU"
|
|
bottom: "conv4_3"
|
|
top: "conv4_3"
|
|
}
|
|
layer {
|
|
name: "conv4_3norm"
|
|
type: "BatchNorm"
|
|
bottom: "conv4_3"
|
|
top: "conv4_3norm"
|
|
batch_norm_param{ }
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
}
|
|
# *****************
|
|
# ***** conv5 *****
|
|
# *****************
|
|
layer {
|
|
name: "conv5_1"
|
|
type: "Convolution"
|
|
# bottom: "conv4_3"
|
|
bottom: "conv4_3norm"
|
|
# bottom: "pool4"
|
|
top: "conv5_1"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
stride: 1
|
|
pad: 2
|
|
dilation: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu5_1"
|
|
type: "ReLU"
|
|
bottom: "conv5_1"
|
|
top: "conv5_1"
|
|
}
|
|
layer {
|
|
name: "conv5_2"
|
|
type: "Convolution"
|
|
bottom: "conv5_1"
|
|
top: "conv5_2"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
stride: 1
|
|
pad: 2
|
|
dilation: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu5_2"
|
|
type: "ReLU"
|
|
bottom: "conv5_2"
|
|
top: "conv5_2"
|
|
}
|
|
layer {
|
|
name: "conv5_3"
|
|
type: "Convolution"
|
|
bottom: "conv5_2"
|
|
top: "conv5_3"
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
# param {lr_mult: 0 decay_mult: 0}
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
stride: 1
|
|
pad: 2
|
|
dilation: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu5_3"
|
|
type: "ReLU"
|
|
bottom: "conv5_3"
|
|
top: "conv5_3"
|
|
}
|
|
layer {
|
|
name: "conv5_3norm"
|
|
type: "BatchNorm"
|
|
bottom: "conv5_3"
|
|
top: "conv5_3norm"
|
|
batch_norm_param{ }
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
}
|
|
# *****************
|
|
# ***** conv6 *****
|
|
# *****************
|
|
layer {
|
|
name: "conv6_1"
|
|
type: "Convolution"
|
|
bottom: "conv5_3norm"
|
|
top: "conv6_1"
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
pad: 2
|
|
dilation: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu6_1"
|
|
type: "ReLU"
|
|
bottom: "conv6_1"
|
|
top: "conv6_1"
|
|
}
|
|
layer {
|
|
name: "conv6_2"
|
|
type: "Convolution"
|
|
bottom: "conv6_1"
|
|
top: "conv6_2"
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
pad: 2
|
|
dilation: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu6_2"
|
|
type: "ReLU"
|
|
bottom: "conv6_2"
|
|
top: "conv6_2"
|
|
}
|
|
layer {
|
|
name: "conv6_3"
|
|
type: "Convolution"
|
|
bottom: "conv6_2"
|
|
top: "conv6_3"
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
pad: 2
|
|
dilation: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu6_3"
|
|
type: "ReLU"
|
|
bottom: "conv6_3"
|
|
top: "conv6_3"
|
|
}
|
|
layer {
|
|
name: "conv6_3norm"
|
|
type: "BatchNorm"
|
|
bottom: "conv6_3"
|
|
top: "conv6_3norm"
|
|
batch_norm_param{ }
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
}
|
|
# *****************
|
|
# ***** conv7 *****
|
|
# *****************
|
|
layer {
|
|
name: "conv7_1"
|
|
type: "Convolution"
|
|
bottom: "conv6_3norm"
|
|
top: "conv7_1"
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
pad: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu7_1"
|
|
type: "ReLU"
|
|
bottom: "conv7_1"
|
|
top: "conv7_1"
|
|
}
|
|
layer {
|
|
name: "conv7_2"
|
|
type: "Convolution"
|
|
bottom: "conv7_1"
|
|
top: "conv7_2"
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
pad: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu7_2"
|
|
type: "ReLU"
|
|
bottom: "conv7_2"
|
|
top: "conv7_2"
|
|
}
|
|
layer {
|
|
name: "conv7_3"
|
|
type: "Convolution"
|
|
bottom: "conv7_2"
|
|
top: "conv7_3"
|
|
convolution_param {
|
|
num_output: 512
|
|
kernel_size: 3
|
|
pad: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu7_3"
|
|
type: "ReLU"
|
|
bottom: "conv7_3"
|
|
top: "conv7_3"
|
|
}
|
|
layer {
|
|
name: "conv7_3norm"
|
|
type: "BatchNorm"
|
|
bottom: "conv7_3"
|
|
top: "conv7_3norm"
|
|
batch_norm_param{ }
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
param {lr_mult: 0 decay_mult: 0}
|
|
}
|
|
# *****************
|
|
# ***** conv8 *****
|
|
# *****************
|
|
layer {
|
|
name: "conv8_1"
|
|
type: "Deconvolution"
|
|
bottom: "conv7_3norm"
|
|
top: "conv8_1"
|
|
convolution_param {
|
|
num_output: 256
|
|
kernel_size: 4
|
|
pad: 1
|
|
dilation: 1
|
|
stride: 2
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu8_1"
|
|
type: "ReLU"
|
|
bottom: "conv8_1"
|
|
top: "conv8_1"
|
|
}
|
|
layer {
|
|
name: "conv8_2"
|
|
type: "Convolution"
|
|
bottom: "conv8_1"
|
|
top: "conv8_2"
|
|
convolution_param {
|
|
num_output: 256
|
|
kernel_size: 3
|
|
pad: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu8_2"
|
|
type: "ReLU"
|
|
bottom: "conv8_2"
|
|
top: "conv8_2"
|
|
}
|
|
layer {
|
|
name: "conv8_3"
|
|
type: "Convolution"
|
|
bottom: "conv8_2"
|
|
top: "conv8_3"
|
|
convolution_param {
|
|
num_output: 256
|
|
kernel_size: 3
|
|
pad: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "relu8_3"
|
|
type: "ReLU"
|
|
bottom: "conv8_3"
|
|
top: "conv8_3"
|
|
}
|
|
# *******************
|
|
# ***** Softmax *****
|
|
# *******************
|
|
layer {
|
|
name: "conv8_313"
|
|
type: "Convolution"
|
|
bottom: "conv8_3"
|
|
top: "conv8_313"
|
|
convolution_param {
|
|
num_output: 313
|
|
kernel_size: 1
|
|
stride: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "conv8_313_rh"
|
|
type: "Scale"
|
|
bottom: "conv8_313"
|
|
top: "conv8_313_rh"
|
|
scale_param {
|
|
bias_term: false
|
|
filler { type: 'constant' value: 2.606 }
|
|
}
|
|
}
|
|
layer {
|
|
name: "class8_313_rh"
|
|
type: "Softmax"
|
|
bottom: "conv8_313_rh"
|
|
top: "class8_313_rh"
|
|
}
|
|
# ********************
|
|
# ***** Decoding *****
|
|
# ********************
|
|
layer {
|
|
name: "class8_ab"
|
|
type: "Convolution"
|
|
bottom: "class8_313_rh"
|
|
top: "class8_ab"
|
|
convolution_param {
|
|
num_output: 2
|
|
kernel_size: 1
|
|
stride: 1
|
|
dilation: 1
|
|
}
|
|
}
|
|
layer {
|
|
name: "Silence"
|
|
type: "Silence"
|
|
bottom: "class8_ab"
|
|
} |