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" }