input: "data_norm" input_shape { dim: 1 dim: 3 #dim: 448 #dim: 448 dim: 288 dim: 288 } layer { name: "stem_conv1_conv" type: "Convolution" bottom: "data_norm" top: "Convolution1" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "stem_conv1_bn" type: "BatchNorm" bottom: "Convolution1" top: "Convolution1" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "stem_conv1_sc" type: "Scale" bottom: "Convolution1" top: "Convolution1" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "stem_conv1_relu" type: "ReLU" bottom: "Convolution1" top: "Convolution1" } layer { name: "stem_conv2_conv" type: "Convolution" bottom: "Convolution1" top: "Convolution2" convolution_param { num_output: 24 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "stem_conv2_bn" type: "BatchNorm" bottom: "Convolution2" top: "Convolution2" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "stem_conv2_sc" type: "Scale" bottom: "Convolution2" top: "Convolution2" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "stem_conv2_relu" type: "ReLU" bottom: "Convolution2" top: "Convolution2" } layer { name: "stem_conv3_conv" type: "Convolution" bottom: "Convolution2" top: "Convolution3" convolution_param { num_output: 32 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "stem_conv3_bn" type: "BatchNorm" bottom: "Convolution3" top: "Convolution3" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "stem_conv3_sc" type: "Scale" bottom: "Convolution3" top: "Convolution3" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "stem_conv3_relu" type: "ReLU" bottom: "Convolution3" top: "Convolution3" } layer { name: "res2_1_stu_conv1_conv" type: "Convolution" bottom: "Convolution3" top: "Convolution4" convolution_param { num_output: 32 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res2_1_stu_conv1_bn" type: "BatchNorm" bottom: "Convolution4" top: "Convolution4" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res2_1_stu_conv1_sc" type: "Scale" bottom: "Convolution4" top: "Convolution4" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res2_1_stu_conv1_relu" type: "ReLU" bottom: "Convolution4" top: "Convolution4" } layer { name: "res2_1_stu_conv2_conv" type: "Convolution" bottom: "Convolution4" top: "Convolution5" convolution_param { num_output: 32 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res2_1_stu_conv2_bn" type: "BatchNorm" bottom: "Convolution5" top: "Convolution5" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res2_1_stu_conv2_sc" type: "Scale" bottom: "Convolution5" top: "Convolution5" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res2_1_stu_conv2_relu" type: "ReLU" bottom: "Convolution5" top: "Convolution5" } layer { name: "res2_1_stu_eltsum" type: "Eltwise" bottom: "Convolution5" bottom: "Convolution3" top: "Eltwise1" eltwise_param { operation: SUM } } layer { name: "res2_2_stu_conv1_conv" type: "Convolution" bottom: "Eltwise1" top: "Convolution6" convolution_param { num_output: 32 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res2_2_stu_conv1_bn" type: "BatchNorm" bottom: "Convolution6" top: "Convolution6" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res2_2_stu_conv1_sc" type: "Scale" bottom: "Convolution6" top: "Convolution6" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res2_2_stu_conv1_relu" type: "ReLU" bottom: "Convolution6" top: "Convolution6" } layer { name: "res2_2_stu_conv2_conv" type: "Convolution" bottom: "Convolution6" top: "Convolution7" convolution_param { num_output: 32 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res2_2_stu_conv2_bn" type: "BatchNorm" bottom: "Convolution7" top: "Convolution7" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res2_2_stu_conv2_sc" type: "Scale" bottom: "Convolution7" top: "Convolution7" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res2_2_stu_conv2_relu" type: "ReLU" bottom: "Convolution7" top: "Convolution7" } layer { name: "res2_2_stu_eltsum" type: "Eltwise" bottom: "Convolution7" bottom: "Eltwise1" top: "Eltwise2" eltwise_param { operation: SUM } } layer { name: "res3_1_stu_conv1_conv" type: "Convolution" bottom: "Eltwise2" top: "Convolution8" convolution_param { num_output: 64 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res3_1_stu_conv1_bn" type: "BatchNorm" bottom: "Convolution8" top: "Convolution8" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res3_1_stu_conv1_sc" type: "Scale" bottom: "Convolution8" top: "Convolution8" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res3_1_stu_conv1_relu" type: "ReLU" bottom: "Convolution8" top: "Convolution8" } layer { name: "res3_1_stu_conv2_conv" type: "Convolution" bottom: "Convolution8" top: "Convolution9" convolution_param { num_output: 64 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res3_1_stu_conv2_bn" type: "BatchNorm" bottom: "Convolution9" top: "Convolution9" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res3_1_stu_conv2_sc" type: "Scale" bottom: "Convolution9" top: "Convolution9" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res3_1_stu_conv2_relu" type: "ReLU" bottom: "Convolution9" top: "Convolution9" } layer { name: "res3_1_stu_projconv_conv" type: "Convolution" bottom: "Eltwise2" top: "Convolution10" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 2 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res3_1_stu_projconv_bn" type: "BatchNorm" bottom: "Convolution10" top: "Convolution10" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res3_1_stu_projconv_sc" type: "Scale" bottom: "Convolution10" top: "Convolution10" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res3_1_stu_projconv_relu" type: "ReLU" bottom: "Convolution10" top: "Convolution10" } layer { name: "res3_1_stu_eltsum" type: "Eltwise" bottom: "Convolution9" bottom: "Convolution10" top: "Eltwise3" eltwise_param { operation: SUM } } layer { name: "res3_2_stu_conv1_conv" type: "Convolution" bottom: "Eltwise3" top: "Convolution11" convolution_param { num_output: 64 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res3_2_stu_conv1_bn" type: "BatchNorm" bottom: "Convolution11" top: "Convolution11" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res3_2_stu_conv1_sc" type: "Scale" bottom: "Convolution11" top: "Convolution11" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res3_2_stu_conv1_relu" type: "ReLU" bottom: "Convolution11" top: "Convolution11" } layer { name: "res3_2_stu_conv2_conv" type: "Convolution" bottom: "Convolution11" top: "Convolution12" convolution_param { num_output: 64 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res3_2_stu_conv2_bn" type: "BatchNorm" bottom: "Convolution12" top: "Convolution12" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res3_2_stu_conv2_sc" type: "Scale" bottom: "Convolution12" top: "Convolution12" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res3_2_stu_conv2_relu" type: "ReLU" bottom: "Convolution12" top: "Convolution12" } layer { name: "res3_2_stu_eltsum" type: "Eltwise" bottom: "Convolution12" bottom: "Eltwise3" top: "Eltwise4" eltwise_param { operation: SUM } } layer { name: "res4_1_stu_conv1_conv" type: "Convolution" bottom: "Eltwise4" top: "Convolution13" convolution_param { num_output: 128 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res4_1_stu_conv1_bn" type: "BatchNorm" bottom: "Convolution13" top: "Convolution13" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res4_1_stu_conv1_sc" type: "Scale" bottom: "Convolution13" top: "Convolution13" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res4_1_stu_conv1_relu" type: "ReLU" bottom: "Convolution13" top: "Convolution13" } layer { name: "res4_1_stu_conv2_conv" type: "Convolution" bottom: "Convolution13" top: "Convolution14" convolution_param { num_output: 128 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res4_1_stu_conv2_bn" type: "BatchNorm" bottom: "Convolution14" top: "Convolution14" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res4_1_stu_conv2_sc" type: "Scale" bottom: "Convolution14" top: "Convolution14" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res4_1_stu_conv2_relu" type: "ReLU" bottom: "Convolution14" top: "Convolution14" } layer { name: "res4_1_stu_projconv_conv" type: "Convolution" bottom: "Eltwise4" top: "Convolution15" convolution_param { num_output: 128 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 2 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res4_1_stu_projconv_bn" type: "BatchNorm" bottom: "Convolution15" top: "Convolution15" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res4_1_stu_projconv_sc" type: "Scale" bottom: "Convolution15" top: "Convolution15" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res4_1_stu_projconv_relu" type: "ReLU" bottom: "Convolution15" top: "Convolution15" } layer { name: "res4_1_stu_eltsum" type: "Eltwise" bottom: "Convolution14" bottom: "Convolution15" top: "Eltwise5" eltwise_param { operation: SUM } } layer { name: "res4_2_stu_conv1_conv" type: "Convolution" bottom: "Eltwise5" top: "Convolution16" convolution_param { num_output: 128 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res4_2_stu_conv1_bn" type: "BatchNorm" bottom: "Convolution16" top: "Convolution16" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res4_2_stu_conv1_sc" type: "Scale" bottom: "Convolution16" top: "Convolution16" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res4_2_stu_conv1_relu" type: "ReLU" bottom: "Convolution16" top: "Convolution16" } layer { name: "res4_2_stu_conv2_conv" type: "Convolution" bottom: "Convolution16" top: "Convolution17" convolution_param { num_output: 128 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res4_2_stu_conv2_bn" type: "BatchNorm" bottom: "Convolution17" top: "Convolution17" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res4_2_stu_conv2_sc" type: "Scale" bottom: "Convolution17" top: "Convolution17" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res4_2_stu_conv2_relu" type: "ReLU" bottom: "Convolution17" top: "Convolution17" } layer { name: "res4_2_stu_eltsum" type: "Eltwise" bottom: "Convolution17" bottom: "Eltwise5" top: "Eltwise6" eltwise_param { operation: SUM } } layer { name: "res5_1_stu_conv1_conv" type: "Convolution" bottom: "Eltwise6" top: "Convolution18" convolution_param { num_output: 192 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res5_1_stu_conv1_bn" type: "BatchNorm" bottom: "Convolution18" top: "Convolution18" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res5_1_stu_conv1_sc" type: "Scale" bottom: "Convolution18" top: "Convolution18" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res5_1_stu_conv1_relu" type: "ReLU" bottom: "Convolution18" top: "Convolution18" } layer { name: "res5_1_stu_conv2_conv" type: "Convolution" bottom: "Convolution18" top: "Convolution19" convolution_param { num_output: 192 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res5_1_stu_conv2_bn" type: "BatchNorm" bottom: "Convolution19" top: "Convolution19" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res5_1_stu_conv2_sc" type: "Scale" bottom: "Convolution19" top: "Convolution19" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res5_1_stu_conv2_relu" type: "ReLU" bottom: "Convolution19" top: "Convolution19" } layer { name: "res5_1_stu_projconv_conv" type: "Convolution" bottom: "Eltwise6" top: "Convolution20" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 2 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res5_1_stu_projconv_bn" type: "BatchNorm" bottom: "Convolution20" top: "Convolution20" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res5_1_stu_projconv_sc" type: "Scale" bottom: "Convolution20" top: "Convolution20" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res5_1_stu_projconv_relu" type: "ReLU" bottom: "Convolution20" top: "Convolution20" } layer { name: "res5_1_stu_eltsum" type: "Eltwise" bottom: "Convolution19" bottom: "Convolution20" top: "Eltwise7" eltwise_param { operation: SUM } } layer { name: "res5_2_stu_conv1_conv" type: "Convolution" bottom: "Eltwise7" top: "Convolution21" convolution_param { num_output: 192 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res5_2_stu_conv1_bn" type: "BatchNorm" bottom: "Convolution21" top: "Convolution21" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res5_2_stu_conv1_sc" type: "Scale" bottom: "Convolution21" top: "Convolution21" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res5_2_stu_conv1_relu" type: "ReLU" bottom: "Convolution21" top: "Convolution21" } layer { name: "res5_2_stu_conv2_conv" type: "Convolution" bottom: "Convolution21" top: "Convolution22" convolution_param { num_output: 192 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "res5_2_stu_conv2_bn" type: "BatchNorm" bottom: "Convolution22" top: "Convolution22" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "res5_2_stu_conv2_sc" type: "Scale" bottom: "Convolution22" top: "Convolution22" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "res5_2_stu_conv2_relu" type: "ReLU" bottom: "Convolution22" top: "Convolution22" } layer { name: "res5_2_stu_eltsum" type: "Eltwise" bottom: "Convolution22" bottom: "Eltwise7" top: "Eltwise8" eltwise_param { operation: SUM } } layer { name: "fcn_s32_pre_conv" type: "Convolution" bottom: "Eltwise8" top: "Convolution23" convolution_param { num_output: 128 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "fcn_s32_pre_bn" type: "BatchNorm" bottom: "Convolution23" top: "Convolution23" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "fcn_s32_pre_sc" type: "Scale" bottom: "Convolution23" top: "Convolution23" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "fcn_s32_pre_relu" type: "ReLU" bottom: "Convolution23" top: "Convolution23" } layer { name: "fcn_s32_conv" type: "Convolution" bottom: "Convolution23" top: "Convolution24" convolution_param { num_output: 128 bias_term: false pad: 2 kernel_size: 5 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "fcn_s32_bn" type: "BatchNorm" bottom: "Convolution24" top: "Convolution24" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "fcn_s32_sc" type: "Scale" bottom: "Convolution24" top: "Convolution24" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "up_s16" type: "Interp" bottom: "Convolution24" top: "Interp1" interp_param { height: 18 width: 18 } } layer { name: "lat_s16_conv" type: "Convolution" bottom: "Eltwise6" top: "Convolution25" convolution_param { num_output: 128 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "lat_s16_bn" type: "BatchNorm" bottom: "Convolution25" top: "Convolution25" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "lat_s16_sc" type: "Scale" bottom: "Convolution25" top: "Convolution25" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "Eltwise9" type: "Eltwise" bottom: "Interp1" bottom: "Convolution25" top: "Eltwise9" eltwise_param { operation: SUM } } layer { name: "ReLU24" type: "ReLU" bottom: "Eltwise9" top: "Eltwise9" } layer { name: "fcn_s16_pre_conv" type: "Convolution" bottom: "Eltwise9" top: "Convolution26" convolution_param { num_output: 96 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "fcn_s16_pre_bn" type: "BatchNorm" bottom: "Convolution26" top: "Convolution26" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "fcn_s16_pre_sc" type: "Scale" bottom: "Convolution26" top: "Convolution26" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "fcn_s16_pre_relu" type: "ReLU" bottom: "Convolution26" top: "Convolution26" } layer { name: "fcn_s16_conv" type: "Convolution" bottom: "Convolution26" top: "Convolution27" convolution_param { num_output: 128 bias_term: false pad: 2 kernel_size: 5 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "fcn_s16_bn" type: "BatchNorm" bottom: "Convolution27" top: "Convolution27" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "fcn_s16_sc" type: "Scale" bottom: "Convolution27" top: "Convolution27" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "up_s8" type: "Interp" bottom: "Convolution27" top: "Interp2" interp_param { height: 36 width: 36 } } layer { name: "lat_s8_conv" type: "Convolution" bottom: "Eltwise4" top: "Convolution28" convolution_param { num_output: 128 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "lat_s8_bn" type: "BatchNorm" bottom: "Convolution28" top: "Convolution28" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "lat_s8_sc" type: "Scale" bottom: "Convolution28" top: "Convolution28" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "Eltwise10" type: "Eltwise" bottom: "Interp2" bottom: "Convolution28" top: "Eltwise10" eltwise_param { operation: SUM } } layer { name: "ReLU26" type: "ReLU" bottom: "Eltwise10" top: "Eltwise10" } layer { name: "fcn_s8_pre_conv" type: "Convolution" bottom: "Eltwise10" top: "Convolution29" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "fcn_s8_pre_bn" type: "BatchNorm" bottom: "Convolution29" top: "Convolution29" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "fcn_s8_pre_sc" type: "Scale" bottom: "Convolution29" top: "Convolution29" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "fcn_s8_pre_relu" type: "ReLU" bottom: "Convolution29" top: "Convolution29" } layer { name: "fcn_s8_conv" type: "Convolution" bottom: "Convolution29" top: "Convolution30" convolution_param { num_output: 128 bias_term: false pad: 2 kernel_size: 5 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "fcn_s8_bn" type: "BatchNorm" bottom: "Convolution30" top: "Convolution30" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "fcn_s8_sc" type: "Scale" bottom: "Convolution30" top: "Convolution30" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "up_s4" type: "Interp" bottom: "Convolution30" top: "Interp3" interp_param { height: 72 width: 72 } } layer { name: "lat_s4_conv" type: "Convolution" bottom: "Eltwise2" top: "Convolution31" convolution_param { num_output: 128 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "lat_s4_bn" type: "BatchNorm" bottom: "Convolution31" top: "Convolution31" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } batch_norm_param { moving_average_fraction: 0.9 } } layer { name: "lat_s4_sc" type: "Scale" bottom: "Convolution31" top: "Convolution31" param { lr_mult: 1.0 decay_mult: 0 } param { lr_mult: 1.0 decay_mult: 0 } scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "Eltwise11" type: "Eltwise" bottom: "Interp3" bottom: "Convolution31" top: "Eltwise11" eltwise_param { operation: SUM } } layer { name: "ReLU28" type: "ReLU" bottom: "Eltwise11" top: "Eltwise11" } layer { name: "class_out_1c" type: "Convolution" bottom: "Eltwise11" top: "class_out" param { lr_mult: 10 decay_mult: 1 } param { lr_mult: 20 decay_mult: 1 } convolution_param { num_output: 2 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } #layer { # name: "score" # type: "Interp" # bottom: "class_out" # top: "score" # interp_param { # height: 288 # width: 288 # } #} #layer { # name: "prob" # type: "Softmax" # bottom: "score" # #bottom: "class_out" # top: "prob" #}