input: "img" input_dim: 1 input_dim: 1 input_dim: 112 input_dim: 112 layer { name: "pre_1_conv" type: "Convolution" bottom: "img" top: "pre_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 8 bias_term: true pad: 0 kernel_size: 5 stride: 2 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "pre_1_bn" type: "BatchNorm" bottom: "pre_1_conv" top: "pre_1_conv" } layer { name: "pre_1_scale" type: "Scale" bottom: "pre_1_conv" top: "pre_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "pre_1_relu" type: "ReLU" bottom: "pre_1_conv" top: "pre_1_conv" } layer { name: "pre_2_conv" type: "Convolution" bottom: "pre_1_conv" top: "pre_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 8 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "pre_2_bn" type: "BatchNorm" bottom: "pre_2_conv" top: "pre_2_conv" } layer { name: "pre_2_scale" type: "Scale" bottom: "pre_2_conv" top: "pre_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "pre_2_relu" type: "ReLU" bottom: "pre_2_conv" top: "pre_2_conv" } layer { name: "pre_pool" type: "Pooling" bottom: "pre_2_conv" top: "pre_pool" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "stage_1_1_conv" type: "Convolution" bottom: "pre_pool" top: "stage_1_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_1_1_bn" type: "BatchNorm" bottom: "stage_1_1_conv" top: "stage_1_1_conv" } layer { name: "stage_1_1_scale" type: "Scale" bottom: "stage_1_1_conv" top: "stage_1_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "stage_1_1_relu" type: "ReLU" bottom: "stage_1_1_conv" top: "stage_1_1_conv" } layer { name: "stage_1_2_conv" type: "Convolution" bottom: "stage_1_1_conv" top: "stage_1_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_1_2_bn" type: "BatchNorm" bottom: "stage_1_2_conv" top: "stage_1_2_conv" } layer { name: "stage_1_2_scale" type: "Scale" bottom: "stage_1_2_conv" top: "stage_1_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "stage_1_2_relu" type: "ReLU" bottom: "stage_1_2_conv" top: "stage_1_2_conv" } layer { name: "stage_1_pool" type: "Pooling" bottom: "stage_1_2_conv" top: "stage_1_pool" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "stage_2_1_conv" type: "Convolution" bottom: "stage_1_pool" top: "stage_2_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_2_1_bn" type: "BatchNorm" bottom: "stage_2_1_conv" top: "stage_2_1_conv" } layer { name: "stage_2_1_scale" type: "Scale" bottom: "stage_2_1_conv" top: "stage_2_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "stage_2_1_relu" type: "ReLU" bottom: "stage_2_1_conv" top: "stage_2_1_conv" } layer { name: "stage_2_2_conv" type: "Convolution" bottom: "stage_2_1_conv" top: "stage_2_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_2_2_bn" type: "BatchNorm" bottom: "stage_2_2_conv" top: "stage_2_2_conv" } layer { name: "stage_2_2_scale" type: "Scale" bottom: "stage_2_2_conv" top: "stage_2_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "stage_2_2_relu" type: "ReLU" bottom: "stage_2_2_conv" top: "stage_2_2_conv" } layer { name: "stage_2_pool" type: "Pooling" bottom: "stage_2_2_conv" top: "stage_2_pool" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "stage_3_1_conv" type: "Convolution" bottom: "stage_2_pool" top: "stage_3_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 64 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_3_1_bn" type: "BatchNorm" bottom: "stage_3_1_conv" top: "stage_3_1_conv" } layer { name: "stage_3_1_scale" type: "Scale" bottom: "stage_3_1_conv" top: "stage_3_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "stage_3_1_relu" type: "ReLU" bottom: "stage_3_1_conv" top: "stage_3_1_conv" } layer { name: "stage_3_2_conv" type: "Convolution" bottom: "stage_3_1_conv" top: "stage_3_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 64 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_3_2_bn" type: "BatchNorm" bottom: "stage_3_2_conv" top: "stage_3_2_conv" } layer { name: "stage_3_2_scale" type: "Scale" bottom: "stage_3_2_conv" top: "stage_3_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "stage_3_2_relu" type: "ReLU" bottom: "stage_3_2_conv" top: "stage_3_2_conv" } layer { name: "stage_3_pool" type: "Pooling" bottom: "stage_3_2_conv" top: "stage_3_pool" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "stage_4_1_conv" type: "Convolution" bottom: "stage_3_pool" top: "stage_4_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 128 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_4_1_bn" type: "BatchNorm" bottom: "stage_4_1_conv" top: "stage_4_1_conv" } layer { name: "stage_4_1_scale" type: "Scale" bottom: "stage_4_1_conv" top: "stage_4_1_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "stage_4_1_relu1" type: "ReLU" bottom: "stage_4_1_conv" top: "stage_4_1_conv" } layer { name: "stage_4_2_conv" type: "Convolution" bottom: "stage_4_1_conv" top: "stage_4_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 128 bias_term: true pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_4_2_bn" type: "BatchNorm" bottom: "stage_4_2_conv" top: "stage_4_2_conv" } layer { name: "stage_4_2_scale" type: "Scale" bottom: "stage_4_2_conv" top: "stage_4_2_conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } scale_param { bias_term: true } } layer { name: "stage_4_2_relu1" type: "ReLU" bottom: "stage_4_2_conv" top: "stage_4_2_conv" } layer { name: "stage_4_pool" type: "Pooling" bottom: "stage_4_2_conv" top: "stage_4_pool" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "stage_4_1_fc" type: "InnerProduct" bottom: "stage_4_pool" top: "stage_4_1_fc" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 128 bias_term: true weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_4_1_relu" type: "ReLU" bottom: "stage_4_1_fc" top: "stage_4_1_fc" } layer { name: "stage_4_2_fc" type: "InnerProduct" bottom: "stage_4_1_fc" top: "stage_4_2_fc" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 128 bias_term: true weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "stage_4_2_relu" type: "ReLU" bottom: "stage_4_2_fc" top: "stage_4_2_fc" } layer { name: "shape_81" type: "InnerProduct" bottom: "stage_4_2_fc" top: "shape_81" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 10 bias_term: true weight_filler { type: "gaussian" mean: 0 std: 0.01 } bias_filler { type: "constant" value: 0 } } }