layer { name: "data" type: "Data" top: "data" include { phase: TRAIN } transform_param { mean_value: 69 mean_value: 57 mean_value: 59 mean_value: 59 mean_value: 64 mean_value: 46 mean_value: 0 } data_param { source: "/home/leo/database/train/data/" batch_size: 8 backend: LMDB } } layer { name: "data" type: "Data" top: "data" include { phase: TEST } transform_param { mean_value: 69 mean_value: 57 mean_value: 59 mean_value: 59 mean_value: 64 mean_value: 46 mean_value: 0 } data_param { source: "/home/leo/database/test/data/" batch_size: 4 backend: LMDB } } layer { name: "landsat_scenes" type: "Slice" bottom: "data" top: "landsat_scenes" top: "label" slice_param { slice_point: 6 axis: 1 } } layer { name: "Convolution1" type: "Convolution" bottom: "landsat_scenes" top: "Convolution1" convolution_param { num_output: 16 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm1" type: "BatchNorm" bottom: "Convolution1" top: "BatchNorm1" } layer { name: "Scale1" type: "Scale" bottom: "BatchNorm1" top: "BatchNorm1" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "conv_s1" type: "ReLU" bottom: "BatchNorm1" top: "BatchNorm1" } layer { name: "pool_s1" type: "Pooling" bottom: "BatchNorm1" top: "pool_s1" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "Convolution2" type: "Convolution" bottom: "pool_s1" top: "Convolution2" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm2" type: "BatchNorm" bottom: "Convolution2" top: "BatchNorm2" } layer { name: "Scale2" type: "Scale" bottom: "BatchNorm2" top: "BatchNorm2" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU1" type: "ReLU" bottom: "BatchNorm2" top: "BatchNorm2" } layer { name: "Concat1" type: "Concat" bottom: "BatchNorm2" bottom: "pool_s1" top: "Concat1" concat_param { axis: 1 } } layer { name: "Convolution3" type: "Convolution" bottom: "Concat1" top: "Convolution3" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm3" type: "BatchNorm" bottom: "Convolution3" top: "BatchNorm3" } layer { name: "Scale3" type: "Scale" bottom: "BatchNorm3" top: "BatchNorm3" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU2" type: "ReLU" bottom: "BatchNorm3" top: "BatchNorm3" } layer { name: "Concat2" type: "Concat" bottom: "BatchNorm3" bottom: "Concat1" top: "Concat2" concat_param { axis: 1 } } layer { name: "Convolution4" type: "Convolution" bottom: "Concat2" top: "Convolution4" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm4" type: "BatchNorm" bottom: "Convolution4" top: "BatchNorm4" } layer { name: "Scale4" type: "Scale" bottom: "BatchNorm4" top: "BatchNorm4" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s2" type: "ReLU" bottom: "BatchNorm4" top: "BatchNorm4" } layer { name: "concat_s2" type: "Concat" bottom: "pool_s1" bottom: "BatchNorm4" top: "concat_s2" concat_param { axis: 1 } } layer { name: "pool_s2" type: "Pooling" bottom: "concat_s2" top: "pool_s2" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "Convolution5" type: "Convolution" bottom: "pool_s2" top: "Convolution5" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm5" type: "BatchNorm" bottom: "Convolution5" top: "BatchNorm5" } layer { name: "Scale5" type: "Scale" bottom: "BatchNorm5" top: "BatchNorm5" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU3" type: "ReLU" bottom: "BatchNorm5" top: "BatchNorm5" } layer { name: "Concat3" type: "Concat" bottom: "BatchNorm5" bottom: "pool_s2" top: "Concat3" concat_param { axis: 1 } } layer { name: "Convolution6" type: "Convolution" bottom: "Concat3" top: "Convolution6" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm6" type: "BatchNorm" bottom: "Convolution6" top: "BatchNorm6" } layer { name: "Scale6" type: "Scale" bottom: "BatchNorm6" top: "BatchNorm6" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU4" type: "ReLU" bottom: "BatchNorm6" top: "BatchNorm6" } layer { name: "Concat4" type: "Concat" bottom: "BatchNorm6" bottom: "Concat3" top: "Concat4" concat_param { axis: 1 } } layer { name: "Convolution7" type: "Convolution" bottom: "Concat4" top: "Convolution7" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm7" type: "BatchNorm" bottom: "Convolution7" top: "BatchNorm7" } layer { name: "Scale7" type: "Scale" bottom: "BatchNorm7" top: "BatchNorm7" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s3" type: "ReLU" bottom: "BatchNorm7" top: "BatchNorm7" } layer { name: "concat_s3" type: "Concat" bottom: "pool_s2" bottom: "BatchNorm7" top: "concat_s3" concat_param { axis: 1 } } layer { name: "pool_s3" type: "Pooling" bottom: "concat_s3" top: "pool_s3" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "Convolution8" type: "Convolution" bottom: "pool_s3" top: "Convolution8" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm8" type: "BatchNorm" bottom: "Convolution8" top: "BatchNorm8" } layer { name: "Scale8" type: "Scale" bottom: "BatchNorm8" top: "BatchNorm8" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU5" type: "ReLU" bottom: "BatchNorm8" top: "BatchNorm8" } layer { name: "Concat5" type: "Concat" bottom: "BatchNorm8" bottom: "pool_s3" top: "Concat5" concat_param { axis: 1 } } layer { name: "Convolution9" type: "Convolution" bottom: "Concat5" top: "Convolution9" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm9" type: "BatchNorm" bottom: "Convolution9" top: "BatchNorm9" } layer { name: "Scale9" type: "Scale" bottom: "BatchNorm9" top: "BatchNorm9" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU6" type: "ReLU" bottom: "BatchNorm9" top: "BatchNorm9" } layer { name: "Concat6" type: "Concat" bottom: "BatchNorm9" bottom: "Concat5" top: "Concat6" concat_param { axis: 1 } } layer { name: "Convolution10" type: "Convolution" bottom: "Concat6" top: "Convolution10" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm10" type: "BatchNorm" bottom: "Convolution10" top: "BatchNorm10" } layer { name: "Scale10" type: "Scale" bottom: "BatchNorm10" top: "BatchNorm10" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s4" type: "ReLU" bottom: "BatchNorm10" top: "BatchNorm10" } layer { name: "concat_s4" type: "Concat" bottom: "pool_s3" bottom: "BatchNorm10" top: "concat_s4" concat_param { axis: 1 } } layer { name: "pool_s4" type: "Pooling" bottom: "concat_s4" top: "pool_s4" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "Convolution11" type: "Convolution" bottom: "pool_s4" top: "Convolution11" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm11" type: "BatchNorm" bottom: "Convolution11" top: "BatchNorm11" } layer { name: "Scale11" type: "Scale" bottom: "BatchNorm11" top: "BatchNorm11" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU7" type: "ReLU" bottom: "BatchNorm11" top: "BatchNorm11" } layer { name: "Concat7" type: "Concat" bottom: "BatchNorm11" bottom: "pool_s4" top: "Concat7" concat_param { axis: 1 } } layer { name: "Convolution12" type: "Convolution" bottom: "Concat7" top: "Convolution12" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm12" type: "BatchNorm" bottom: "Convolution12" top: "BatchNorm12" } layer { name: "Scale12" type: "Scale" bottom: "BatchNorm12" top: "BatchNorm12" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU8" type: "ReLU" bottom: "BatchNorm12" top: "BatchNorm12" } layer { name: "Concat8" type: "Concat" bottom: "BatchNorm12" bottom: "Concat7" top: "Concat8" concat_param { axis: 1 } } layer { name: "Convolution13" type: "Convolution" bottom: "Concat8" top: "Convolution13" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm13" type: "BatchNorm" bottom: "Convolution13" top: "BatchNorm13" } layer { name: "Scale13" type: "Scale" bottom: "BatchNorm13" top: "BatchNorm13" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s5" type: "ReLU" bottom: "BatchNorm13" top: "BatchNorm13" } layer { name: "concat_s5" type: "Concat" bottom: "pool_s4" bottom: "BatchNorm13" top: "concat_s5" concat_param { axis: 1 } } layer { name: "pool_s5" type: "Pooling" bottom: "concat_s5" top: "pool_s5" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "Convolution14" type: "Convolution" bottom: "pool_s5" top: "Convolution14" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm14" type: "BatchNorm" bottom: "Convolution14" top: "BatchNorm14" } layer { name: "Scale14" type: "Scale" bottom: "BatchNorm14" top: "BatchNorm14" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU9" type: "ReLU" bottom: "BatchNorm14" top: "BatchNorm14" } layer { name: "Concat9" type: "Concat" bottom: "BatchNorm14" bottom: "pool_s5" top: "Concat9" concat_param { axis: 1 } } layer { name: "Convolution15" type: "Convolution" bottom: "Concat9" top: "Convolution15" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm15" type: "BatchNorm" bottom: "Convolution15" top: "BatchNorm15" } layer { name: "Scale15" type: "Scale" bottom: "BatchNorm15" top: "BatchNorm15" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU10" type: "ReLU" bottom: "BatchNorm15" top: "BatchNorm15" } layer { name: "Concat10" type: "Concat" bottom: "BatchNorm15" bottom: "Concat9" top: "Concat10" concat_param { axis: 1 } } layer { name: "Convolution16" type: "Convolution" bottom: "Concat10" top: "Convolution16" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm16" type: "BatchNorm" bottom: "Convolution16" top: "BatchNorm16" } layer { name: "Scale16" type: "Scale" bottom: "BatchNorm16" top: "BatchNorm16" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s6" type: "ReLU" bottom: "BatchNorm16" top: "BatchNorm16" } layer { name: "concat_s6" type: "Concat" bottom: "pool_s5" bottom: "BatchNorm16" top: "concat_s6" concat_param { axis: 1 } } layer { name: "pool_s6" type: "Pooling" bottom: "concat_s6" top: "pool_s6" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "Convolution17" type: "Convolution" bottom: "pool_s6" top: "Convolution17" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm17" type: "BatchNorm" bottom: "Convolution17" top: "BatchNorm17" } layer { name: "Scale17" type: "Scale" bottom: "BatchNorm17" top: "BatchNorm17" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU11" type: "ReLU" bottom: "BatchNorm17" top: "BatchNorm17" } layer { name: "Concat11" type: "Concat" bottom: "BatchNorm17" bottom: "pool_s6" top: "Concat11" concat_param { axis: 1 } } layer { name: "Convolution18" type: "Convolution" bottom: "Concat11" top: "Convolution18" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm18" type: "BatchNorm" bottom: "Convolution18" top: "BatchNorm18" } layer { name: "Scale18" type: "Scale" bottom: "BatchNorm18" top: "BatchNorm18" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU12" type: "ReLU" bottom: "BatchNorm18" top: "BatchNorm18" } layer { name: "Concat12" type: "Concat" bottom: "BatchNorm18" bottom: "Concat11" top: "Concat12" concat_param { axis: 1 } } layer { name: "Convolution19" type: "Convolution" bottom: "Concat12" top: "Convolution19" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm19" type: "BatchNorm" bottom: "Convolution19" top: "BatchNorm19" } layer { name: "Scale19" type: "Scale" bottom: "BatchNorm19" top: "BatchNorm19" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s7" type: "ReLU" bottom: "BatchNorm19" top: "BatchNorm19" } layer { name: "concat_s7" type: "Concat" bottom: "pool_s6" bottom: "BatchNorm19" top: "concat_s7" concat_param { axis: 1 } } layer { name: "pool_s7" type: "Pooling" bottom: "concat_s7" top: "pool_s7" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "Convolution20" type: "Convolution" bottom: "pool_s7" top: "Convolution20" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm20" type: "BatchNorm" bottom: "Convolution20" top: "BatchNorm20" } layer { name: "Scale20" type: "Scale" bottom: "BatchNorm20" top: "BatchNorm20" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU13" type: "ReLU" bottom: "BatchNorm20" top: "BatchNorm20" } layer { name: "Concat13" type: "Concat" bottom: "BatchNorm20" bottom: "pool_s7" top: "Concat13" concat_param { axis: 1 } } layer { name: "Convolution21" type: "Convolution" bottom: "Concat13" top: "Convolution21" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm21" type: "BatchNorm" bottom: "Convolution21" top: "BatchNorm21" } layer { name: "Scale21" type: "Scale" bottom: "BatchNorm21" top: "BatchNorm21" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU14" type: "ReLU" bottom: "BatchNorm21" top: "BatchNorm21" } layer { name: "Concat14" type: "Concat" bottom: "BatchNorm21" bottom: "Concat13" top: "Concat14" concat_param { axis: 1 } } layer { name: "Convolution22" type: "Convolution" bottom: "Concat14" top: "Convolution22" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm22" type: "BatchNorm" bottom: "Convolution22" top: "BatchNorm22" } layer { name: "Scale22" type: "Scale" bottom: "BatchNorm22" top: "BatchNorm22" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s8" type: "ReLU" bottom: "BatchNorm22" top: "BatchNorm22" } layer { name: "concat_s8" type: "Concat" bottom: "pool_s7" bottom: "BatchNorm22" top: "concat_s8" concat_param { axis: 1 } } layer { name: "pool_s8" type: "Pooling" bottom: "concat_s8" top: "pool_s8" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "Convolution23" type: "Convolution" bottom: "pool_s8" top: "Convolution23" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm23" type: "BatchNorm" bottom: "Convolution23" top: "BatchNorm23" } layer { name: "Scale23" type: "Scale" bottom: "BatchNorm23" top: "BatchNorm23" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU15" type: "ReLU" bottom: "BatchNorm23" top: "BatchNorm23" } layer { name: "Concat15" type: "Concat" bottom: "BatchNorm23" bottom: "pool_s8" top: "Concat15" concat_param { axis: 1 } } layer { name: "Convolution24" type: "Convolution" bottom: "Concat15" top: "Convolution24" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm24" type: "BatchNorm" bottom: "Convolution24" top: "BatchNorm24" } layer { name: "Scale24" type: "Scale" bottom: "BatchNorm24" top: "BatchNorm24" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU16" type: "ReLU" bottom: "BatchNorm24" top: "BatchNorm24" } layer { name: "Concat16" type: "Concat" bottom: "BatchNorm24" bottom: "Concat15" top: "Concat16" concat_param { axis: 1 } } layer { name: "Convolution25" type: "Convolution" bottom: "Concat16" top: "Convolution25" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm25" type: "BatchNorm" bottom: "Convolution25" top: "BatchNorm25" } layer { name: "Scale25" type: "Scale" bottom: "BatchNorm25" top: "BatchNorm25" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s9" type: "ReLU" bottom: "BatchNorm25" top: "BatchNorm25" } layer { name: "concat_s9" type: "Concat" bottom: "pool_s8" bottom: "BatchNorm25" top: "concat_s9" concat_param { axis: 1 } } layer { name: "pool_s9" type: "Pooling" bottom: "concat_s9" top: "pool_s9" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "Convolution26" type: "Convolution" bottom: "pool_s9" top: "Convolution26" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm26" type: "BatchNorm" bottom: "Convolution26" top: "BatchNorm26" } layer { name: "Scale26" type: "Scale" bottom: "BatchNorm26" top: "BatchNorm26" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU17" type: "ReLU" bottom: "BatchNorm26" top: "BatchNorm26" } layer { name: "Concat17" type: "Concat" bottom: "BatchNorm26" bottom: "pool_s9" top: "Concat17" concat_param { axis: 1 } } layer { name: "Convolution27" type: "Convolution" bottom: "Concat17" top: "Convolution27" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm27" type: "BatchNorm" bottom: "Convolution27" top: "BatchNorm27" } layer { name: "Scale27" type: "Scale" bottom: "BatchNorm27" top: "BatchNorm27" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU18" type: "ReLU" bottom: "BatchNorm27" top: "BatchNorm27" } layer { name: "Concat18" type: "Concat" bottom: "BatchNorm27" bottom: "Concat17" top: "Concat18" concat_param { axis: 1 } } layer { name: "Convolution28" type: "Convolution" bottom: "Concat18" top: "Convolution28" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm28" type: "BatchNorm" bottom: "Convolution28" top: "BatchNorm28" } layer { name: "Scale28" type: "Scale" bottom: "BatchNorm28" top: "BatchNorm28" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s10" type: "ReLU" bottom: "BatchNorm28" top: "BatchNorm28" } layer { name: "upsample_s10" type: "Deconvolution" bottom: "BatchNorm28" top: "upsample_s10" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 4 group: 16 stride: 2 weight_filler { type: "bilinear" } } } layer { name: "concat_s9d" type: "Concat" bottom: "upsample_s10" bottom: "concat_s9" top: "concat_s9d" concat_param { axis: 1 } } layer { name: "Convolution29" type: "Convolution" bottom: "concat_s9d" top: "Convolution29" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm29" type: "BatchNorm" bottom: "Convolution29" top: "BatchNorm29" } layer { name: "Scale29" type: "Scale" bottom: "BatchNorm29" top: "BatchNorm29" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU19" type: "ReLU" bottom: "BatchNorm29" top: "BatchNorm29" } layer { name: "Concat19" type: "Concat" bottom: "BatchNorm29" bottom: "concat_s9d" top: "Concat19" concat_param { axis: 1 } } layer { name: "Convolution30" type: "Convolution" bottom: "Concat19" top: "Convolution30" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm30" type: "BatchNorm" bottom: "Convolution30" top: "BatchNorm30" } layer { name: "Scale30" type: "Scale" bottom: "BatchNorm30" top: "BatchNorm30" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU20" type: "ReLU" bottom: "BatchNorm30" top: "BatchNorm30" } layer { name: "Concat20" type: "Concat" bottom: "BatchNorm30" bottom: "Concat19" top: "Concat20" concat_param { axis: 1 } } layer { name: "Convolution31" type: "Convolution" bottom: "Concat20" top: "Convolution31" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm31" type: "BatchNorm" bottom: "Convolution31" top: "BatchNorm31" } layer { name: "Scale31" type: "Scale" bottom: "BatchNorm31" top: "BatchNorm31" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s9d" type: "ReLU" bottom: "BatchNorm31" top: "BatchNorm31" } layer { name: "upsample_s9" type: "Deconvolution" bottom: "BatchNorm31" top: "upsample_s9" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 4 group: 16 stride: 2 weight_filler { type: "bilinear" } } } layer { name: "concat_s8d" type: "Concat" bottom: "upsample_s9" bottom: "concat_s8" top: "concat_s8d" concat_param { axis: 1 } } layer { name: "Convolution32" type: "Convolution" bottom: "concat_s8d" top: "Convolution32" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm32" type: "BatchNorm" bottom: "Convolution32" top: "BatchNorm32" } layer { name: "Scale32" type: "Scale" bottom: "BatchNorm32" top: "BatchNorm32" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU21" type: "ReLU" bottom: "BatchNorm32" top: "BatchNorm32" } layer { name: "Concat21" type: "Concat" bottom: "BatchNorm32" bottom: "concat_s8d" top: "Concat21" concat_param { axis: 1 } } layer { name: "Convolution33" type: "Convolution" bottom: "Concat21" top: "Convolution33" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm33" type: "BatchNorm" bottom: "Convolution33" top: "BatchNorm33" } layer { name: "Scale33" type: "Scale" bottom: "BatchNorm33" top: "BatchNorm33" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU22" type: "ReLU" bottom: "BatchNorm33" top: "BatchNorm33" } layer { name: "Concat22" type: "Concat" bottom: "BatchNorm33" bottom: "Concat21" top: "Concat22" concat_param { axis: 1 } } layer { name: "Convolution34" type: "Convolution" bottom: "Concat22" top: "Convolution34" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm34" type: "BatchNorm" bottom: "Convolution34" top: "BatchNorm34" } layer { name: "Scale34" type: "Scale" bottom: "BatchNorm34" top: "BatchNorm34" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s8d" type: "ReLU" bottom: "BatchNorm34" top: "BatchNorm34" } layer { name: "upsample_s8" type: "Deconvolution" bottom: "BatchNorm34" top: "upsample_s8" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 4 group: 16 stride: 2 weight_filler { type: "bilinear" } } } layer { name: "concat_s7d" type: "Concat" bottom: "upsample_s8" bottom: "concat_s7" top: "concat_s7d" concat_param { axis: 1 } } layer { name: "Convolution35" type: "Convolution" bottom: "concat_s7d" top: "Convolution35" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm35" type: "BatchNorm" bottom: "Convolution35" top: "BatchNorm35" } layer { name: "Scale35" type: "Scale" bottom: "BatchNorm35" top: "BatchNorm35" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU23" type: "ReLU" bottom: "BatchNorm35" top: "BatchNorm35" } layer { name: "Concat23" type: "Concat" bottom: "BatchNorm35" bottom: "concat_s7d" top: "Concat23" concat_param { axis: 1 } } layer { name: "Convolution36" type: "Convolution" bottom: "Concat23" top: "Convolution36" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm36" type: "BatchNorm" bottom: "Convolution36" top: "BatchNorm36" } layer { name: "Scale36" type: "Scale" bottom: "BatchNorm36" top: "BatchNorm36" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU24" type: "ReLU" bottom: "BatchNorm36" top: "BatchNorm36" } layer { name: "Concat24" type: "Concat" bottom: "BatchNorm36" bottom: "Concat23" top: "Concat24" concat_param { axis: 1 } } layer { name: "Convolution37" type: "Convolution" bottom: "Concat24" top: "Convolution37" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm37" type: "BatchNorm" bottom: "Convolution37" top: "BatchNorm37" } layer { name: "Scale37" type: "Scale" bottom: "BatchNorm37" top: "BatchNorm37" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s7d" type: "ReLU" bottom: "BatchNorm37" top: "BatchNorm37" } layer { name: "upsample_s7" type: "Deconvolution" bottom: "BatchNorm37" top: "upsample_s7" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 4 group: 16 stride: 2 weight_filler { type: "bilinear" } } } layer { name: "concat_s6d" type: "Concat" bottom: "upsample_s7" bottom: "concat_s6" top: "concat_s6d" concat_param { axis: 1 } } layer { name: "Convolution38" type: "Convolution" bottom: "concat_s6d" top: "Convolution38" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm38" type: "BatchNorm" bottom: "Convolution38" top: "BatchNorm38" } layer { name: "Scale38" type: "Scale" bottom: "BatchNorm38" top: "BatchNorm38" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU25" type: "ReLU" bottom: "BatchNorm38" top: "BatchNorm38" } layer { name: "Concat25" type: "Concat" bottom: "BatchNorm38" bottom: "concat_s6d" top: "Concat25" concat_param { axis: 1 } } layer { name: "Convolution39" type: "Convolution" bottom: "Concat25" top: "Convolution39" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm39" type: "BatchNorm" bottom: "Convolution39" top: "BatchNorm39" } layer { name: "Scale39" type: "Scale" bottom: "BatchNorm39" top: "BatchNorm39" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU26" type: "ReLU" bottom: "BatchNorm39" top: "BatchNorm39" } layer { name: "Concat26" type: "Concat" bottom: "BatchNorm39" bottom: "Concat25" top: "Concat26" concat_param { axis: 1 } } layer { name: "Convolution40" type: "Convolution" bottom: "Concat26" top: "Convolution40" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm40" type: "BatchNorm" bottom: "Convolution40" top: "BatchNorm40" } layer { name: "Scale40" type: "Scale" bottom: "BatchNorm40" top: "BatchNorm40" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s6d" type: "ReLU" bottom: "BatchNorm40" top: "BatchNorm40" } layer { name: "upsample_s6" type: "Deconvolution" bottom: "BatchNorm40" top: "upsample_s6" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 4 group: 16 stride: 2 weight_filler { type: "bilinear" } } } layer { name: "concat_s5d" type: "Concat" bottom: "upsample_s6" bottom: "concat_s5" top: "concat_s5d" concat_param { axis: 1 } } layer { name: "Convolution41" type: "Convolution" bottom: "concat_s5d" top: "Convolution41" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm41" type: "BatchNorm" bottom: "Convolution41" top: "BatchNorm41" } layer { name: "Scale41" type: "Scale" bottom: "BatchNorm41" top: "BatchNorm41" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU27" type: "ReLU" bottom: "BatchNorm41" top: "BatchNorm41" } layer { name: "Concat27" type: "Concat" bottom: "BatchNorm41" bottom: "concat_s5d" top: "Concat27" concat_param { axis: 1 } } layer { name: "Convolution42" type: "Convolution" bottom: "Concat27" top: "Convolution42" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm42" type: "BatchNorm" bottom: "Convolution42" top: "BatchNorm42" } layer { name: "Scale42" type: "Scale" bottom: "BatchNorm42" top: "BatchNorm42" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU28" type: "ReLU" bottom: "BatchNorm42" top: "BatchNorm42" } layer { name: "Concat28" type: "Concat" bottom: "BatchNorm42" bottom: "Concat27" top: "Concat28" concat_param { axis: 1 } } layer { name: "Convolution43" type: "Convolution" bottom: "Concat28" top: "Convolution43" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm43" type: "BatchNorm" bottom: "Convolution43" top: "BatchNorm43" } layer { name: "Scale43" type: "Scale" bottom: "BatchNorm43" top: "BatchNorm43" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s5d" type: "ReLU" bottom: "BatchNorm43" top: "BatchNorm43" } layer { name: "upsample_s5" type: "Deconvolution" bottom: "BatchNorm43" top: "upsample_s5" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 4 group: 16 stride: 2 weight_filler { type: "bilinear" } } } layer { name: "concat_s4d" type: "Concat" bottom: "upsample_s5" bottom: "concat_s4" top: "concat_s4d" concat_param { axis: 1 } } layer { name: "Convolution44" type: "Convolution" bottom: "concat_s4d" top: "Convolution44" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm44" type: "BatchNorm" bottom: "Convolution44" top: "BatchNorm44" } layer { name: "Scale44" type: "Scale" bottom: "BatchNorm44" top: "BatchNorm44" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU29" type: "ReLU" bottom: "BatchNorm44" top: "BatchNorm44" } layer { name: "Concat29" type: "Concat" bottom: "BatchNorm44" bottom: "concat_s4d" top: "Concat29" concat_param { axis: 1 } } layer { name: "Convolution45" type: "Convolution" bottom: "Concat29" top: "Convolution45" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm45" type: "BatchNorm" bottom: "Convolution45" top: "BatchNorm45" } layer { name: "Scale45" type: "Scale" bottom: "BatchNorm45" top: "BatchNorm45" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU30" type: "ReLU" bottom: "BatchNorm45" top: "BatchNorm45" } layer { name: "Concat30" type: "Concat" bottom: "BatchNorm45" bottom: "Concat29" top: "Concat30" concat_param { axis: 1 } } layer { name: "Convolution46" type: "Convolution" bottom: "Concat30" top: "Convolution46" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm46" type: "BatchNorm" bottom: "Convolution46" top: "BatchNorm46" } layer { name: "Scale46" type: "Scale" bottom: "BatchNorm46" top: "BatchNorm46" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s4d" type: "ReLU" bottom: "BatchNorm46" top: "BatchNorm46" } layer { name: "upsample_s4" type: "Deconvolution" bottom: "BatchNorm46" top: "upsample_s4" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 4 group: 16 stride: 2 weight_filler { type: "bilinear" } } } layer { name: "concat_s3d" type: "Concat" bottom: "upsample_s4" bottom: "concat_s3" top: "concat_s3d" concat_param { axis: 1 } } layer { name: "Convolution47" type: "Convolution" bottom: "concat_s3d" top: "Convolution47" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm47" type: "BatchNorm" bottom: "Convolution47" top: "BatchNorm47" } layer { name: "Scale47" type: "Scale" bottom: "BatchNorm47" top: "BatchNorm47" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU31" type: "ReLU" bottom: "BatchNorm47" top: "BatchNorm47" } layer { name: "Concat31" type: "Concat" bottom: "BatchNorm47" bottom: "concat_s3d" top: "Concat31" concat_param { axis: 1 } } layer { name: "Convolution48" type: "Convolution" bottom: "Concat31" top: "Convolution48" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm48" type: "BatchNorm" bottom: "Convolution48" top: "BatchNorm48" } layer { name: "Scale48" type: "Scale" bottom: "BatchNorm48" top: "BatchNorm48" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU32" type: "ReLU" bottom: "BatchNorm48" top: "BatchNorm48" } layer { name: "Concat32" type: "Concat" bottom: "BatchNorm48" bottom: "Concat31" top: "Concat32" concat_param { axis: 1 } } layer { name: "Convolution49" type: "Convolution" bottom: "Concat32" top: "Convolution49" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm49" type: "BatchNorm" bottom: "Convolution49" top: "BatchNorm49" } layer { name: "Scale49" type: "Scale" bottom: "BatchNorm49" top: "BatchNorm49" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s3d" type: "ReLU" bottom: "BatchNorm49" top: "BatchNorm49" } layer { name: "upsample_s3" type: "Deconvolution" bottom: "BatchNorm49" top: "upsample_s3" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 4 group: 16 stride: 2 weight_filler { type: "bilinear" } } } layer { name: "concat_s2d" type: "Concat" bottom: "upsample_s3" bottom: "concat_s2" top: "concat_s2d" concat_param { axis: 1 } } layer { name: "Convolution50" type: "Convolution" bottom: "concat_s2d" top: "Convolution50" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm50" type: "BatchNorm" bottom: "Convolution50" top: "BatchNorm50" } layer { name: "Scale50" type: "Scale" bottom: "BatchNorm50" top: "BatchNorm50" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU33" type: "ReLU" bottom: "BatchNorm50" top: "BatchNorm50" } layer { name: "Concat33" type: "Concat" bottom: "BatchNorm50" bottom: "concat_s2d" top: "Concat33" concat_param { axis: 1 } } layer { name: "Convolution51" type: "Convolution" bottom: "Concat33" top: "Convolution51" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm51" type: "BatchNorm" bottom: "Convolution51" top: "BatchNorm51" } layer { name: "Scale51" type: "Scale" bottom: "BatchNorm51" top: "BatchNorm51" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "ReLU34" type: "ReLU" bottom: "BatchNorm51" top: "BatchNorm51" } layer { name: "Concat34" type: "Concat" bottom: "BatchNorm51" bottom: "Concat33" top: "Concat34" concat_param { axis: 1 } } layer { name: "Convolution52" type: "Convolution" bottom: "Concat34" top: "Convolution52" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm52" type: "BatchNorm" bottom: "Convolution52" top: "BatchNorm52" } layer { name: "Scale52" type: "Scale" bottom: "BatchNorm52" top: "BatchNorm52" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "subnet_s2d" type: "ReLU" bottom: "BatchNorm52" top: "BatchNorm52" } layer { name: "upsample_s2" type: "Deconvolution" bottom: "BatchNorm52" top: "upsample_s2" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 4 group: 16 stride: 2 weight_filler { type: "bilinear" } } } layer { name: "concat_s1d" type: "Concat" bottom: "upsample_s2" bottom: "BatchNorm1" top: "concat_s1d" concat_param { axis: 1 } } layer { name: "Convolution53" type: "Convolution" bottom: "concat_s1d" top: "Convolution53" convolution_param { num_output: 16 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "msra" } } } layer { name: "BatchNorm53" type: "BatchNorm" bottom: "Convolution53" top: "BatchNorm53" } layer { name: "Scale53" type: "Scale" bottom: "BatchNorm53" top: "BatchNorm53" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "conv_s1d" type: "ReLU" bottom: "BatchNorm53" top: "BatchNorm53" } layer { name: "score" type: "Convolution" bottom: "BatchNorm53" top: "score" convolution_param { num_output: 5 bias_term: true pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "msra" } bias_filler { type: "constant" } } } layer { name: "loss" type: "SoftmaxWithLoss" bottom: "score" bottom: "label" top: "loss" loss_param { ignore_label: 5 weight_by_label_freqs: true class_weighting: 0.064 class_weighting: 0.21 class_weighting: 2.12 class_weighting: 1.95 class_weighting: 1 } include { phase: TRAIN } } layer { name: "accuracy" type: "Accuracy" bottom: "score" bottom: "label" top: "accuracy" include { phase: TEST } } layer { name: "prob" type: "Softmax" bottom: "score" top: "prob" include { phase: TEST } } layer { type: 'Python' name: 'evaluation' top: 'IoU' bottom: 'prob' bottom: 'label' python_param { module: 'python_confmat' layer: 'PythonConfMat' param_str: '{"test_iter":10000}' } include { phase: TEST } }