name: "incp" input: "data" input_shape { dim: 1 dim: 3 dim: 960 dim: 960 } layer { name: "power-data" bottom: "data" top: "power-data" type: "Power" power_param { power: 1 scale: 0.00392156 shift: -0.4431372 } } layer { name: "incp_conv1_1" type: "Convolution" bottom: "power-data" top: "incp_conv1_1" convolution_param { num_output: 32 bias_term: false pad: 1 kernel_size: 3 stride: 2 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp_conv1_1/bn" type: "BatchNorm" bottom: "incp_conv1_1" top: "incp_conv1_1" 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.999 eps: 0.001 } } layer { name: "incp_conv1_1/scale" type: "Scale" bottom: "incp_conv1_1" top: "incp_conv1_1" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp_conv1_1/relu" type: "ReLU" bottom: "incp_conv1_1" top: "incp_conv1_1" } layer { name: "incp_conv1_2a" type: "Convolution" bottom: "incp_conv1_1" top: "incp_conv1_2a" convolution_param { num_output: 16 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp_conv1_2a/bn" type: "BatchNorm" bottom: "incp_conv1_2a" top: "incp_conv1_2a" 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.999 eps: 0.001 } } layer { name: "incp_conv1_2a/scale" type: "Scale" bottom: "incp_conv1_2a" top: "incp_conv1_2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp_conv1_2a/relu" type: "ReLU" bottom: "incp_conv1_2a" top: "incp_conv1_2a" } layer { name: "incp_conv1_2b" type: "Convolution" bottom: "incp_conv1_2a" top: "incp_conv1_2b" convolution_param { num_output: 32 bias_term: false pad: 1 kernel_size: 3 stride: 2 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp_conv1_2b/bn" type: "BatchNorm" bottom: "incp_conv1_2b" top: "incp_conv1_2b" 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.999 eps: 0.001 } } layer { name: "incp_conv1_2b/scale" type: "Scale" bottom: "incp_conv1_2b" top: "incp_conv1_2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp_conv1_2b/relu" type: "ReLU" bottom: "incp_conv1_2b" top: "incp_conv1_2b" } layer { name: "incp_conv1_/pool" type: "Pooling" bottom: "incp_conv1_1" top: "incp_conv1_/pool" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "incp_conv1_/concat" type: "Concat" bottom: "incp_conv1_/pool" bottom: "incp_conv1_2b" top: "incp_conv1_/concat" concat_param { axis: 1 } } layer { name: "incp_conv1_3" type: "Convolution" bottom: "incp_conv1_/concat" top: "incp_conv1_3" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp_conv1_3/bn" type: "BatchNorm" bottom: "incp_conv1_3" top: "incp_conv1_3" 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.999 eps: 0.001 } } layer { name: "incp_conv1_3/scale" type: "Scale" bottom: "incp_conv1_3" top: "incp_conv1_3" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp_conv1_3/relu" type: "ReLU" bottom: "incp_conv1_3" top: "incp_conv1_3" } layer { name: "incp1_1/branch1a" type: "Convolution" bottom: "incp_conv1_3" top: "incp1_1/branch1a" convolution_param { num_output: 16 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_1/branch1a/bn" type: "BatchNorm" bottom: "incp1_1/branch1a" top: "incp1_1/branch1a" 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.999 eps: 0.001 } } layer { name: "incp1_1/branch1a/scale" type: "Scale" bottom: "incp1_1/branch1a" top: "incp1_1/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_1/branch1a/relu" type: "ReLU" bottom: "incp1_1/branch1a" top: "incp1_1/branch1a" } layer { name: "incp1_1/branch1b" type: "Convolution" bottom: "incp1_1/branch1a" top: "incp1_1/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_1/branch1b/bn" type: "BatchNorm" bottom: "incp1_1/branch1b" top: "incp1_1/branch1b" 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.999 eps: 0.001 } } layer { name: "incp1_1/branch1b/scale" type: "Scale" bottom: "incp1_1/branch1b" top: "incp1_1/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_1/branch1b/relu" type: "ReLU" bottom: "incp1_1/branch1b" top: "incp1_1/branch1b" } layer { name: "incp1_1/branch2a" type: "Convolution" bottom: "incp_conv1_3" top: "incp1_1/branch2a" convolution_param { num_output: 16 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_1/branch2a/bn" type: "BatchNorm" bottom: "incp1_1/branch2a" top: "incp1_1/branch2a" 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.999 eps: 0.001 } } layer { name: "incp1_1/branch2a/scale" type: "Scale" bottom: "incp1_1/branch2a" top: "incp1_1/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_1/branch2a/relu" type: "ReLU" bottom: "incp1_1/branch2a" top: "incp1_1/branch2a" } layer { name: "incp1_1/branch2b" type: "Convolution" bottom: "incp1_1/branch2a" top: "incp1_1/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_1/branch2b/bn" type: "BatchNorm" bottom: "incp1_1/branch2b" top: "incp1_1/branch2b" 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.999 eps: 0.001 } } layer { name: "incp1_1/branch2b/scale" type: "Scale" bottom: "incp1_1/branch2b" top: "incp1_1/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_1/branch2b/relu" type: "ReLU" bottom: "incp1_1/branch2b" top: "incp1_1/branch2b" } layer { name: "incp1_1/branch2c" type: "Convolution" bottom: "incp1_1/branch2b" top: "incp1_1/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_1/branch2c/bn" type: "BatchNorm" bottom: "incp1_1/branch2c" top: "incp1_1/branch2c" 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.999 eps: 0.001 } } layer { name: "incp1_1/branch2c/scale" type: "Scale" bottom: "incp1_1/branch2c" top: "incp1_1/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_1/branch2c/relu" type: "ReLU" bottom: "incp1_1/branch2c" top: "incp1_1/branch2c" } layer { name: "incp1_1/concat" type: "Concat" bottom: "incp_conv1_3" bottom: "incp1_1/branch1b" bottom: "incp1_1/branch2c" top: "incp1_1/concat" concat_param { axis: 1 } } layer { name: "incp1_2/branch1a" type: "Convolution" bottom: "incp1_1/concat" top: "incp1_2/branch1a" convolution_param { num_output: 16 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_2/branch1a/bn" type: "BatchNorm" bottom: "incp1_2/branch1a" top: "incp1_2/branch1a" 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.999 eps: 0.001 } } layer { name: "incp1_2/branch1a/scale" type: "Scale" bottom: "incp1_2/branch1a" top: "incp1_2/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_2/branch1a/relu" type: "ReLU" bottom: "incp1_2/branch1a" top: "incp1_2/branch1a" } layer { name: "incp1_2/branch1b" type: "Convolution" bottom: "incp1_2/branch1a" top: "incp1_2/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_2/branch1b/bn" type: "BatchNorm" bottom: "incp1_2/branch1b" top: "incp1_2/branch1b" 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.999 eps: 0.001 } } layer { name: "incp1_2/branch1b/scale" type: "Scale" bottom: "incp1_2/branch1b" top: "incp1_2/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_2/branch1b/relu" type: "ReLU" bottom: "incp1_2/branch1b" top: "incp1_2/branch1b" } layer { name: "incp1_2/branch2a" type: "Convolution" bottom: "incp1_1/concat" top: "incp1_2/branch2a" convolution_param { num_output: 16 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_2/branch2a/bn" type: "BatchNorm" bottom: "incp1_2/branch2a" top: "incp1_2/branch2a" 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.999 eps: 0.001 } } layer { name: "incp1_2/branch2a/scale" type: "Scale" bottom: "incp1_2/branch2a" top: "incp1_2/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_2/branch2a/relu" type: "ReLU" bottom: "incp1_2/branch2a" top: "incp1_2/branch2a" } layer { name: "incp1_2/branch2b" type: "Convolution" bottom: "incp1_2/branch2a" top: "incp1_2/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_2/branch2b/bn" type: "BatchNorm" bottom: "incp1_2/branch2b" top: "incp1_2/branch2b" 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.999 eps: 0.001 } } layer { name: "incp1_2/branch2b/scale" type: "Scale" bottom: "incp1_2/branch2b" top: "incp1_2/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_2/branch2b/relu" type: "ReLU" bottom: "incp1_2/branch2b" top: "incp1_2/branch2b" } layer { name: "incp1_2/branch2c" type: "Convolution" bottom: "incp1_2/branch2b" top: "incp1_2/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_2/branch2c/bn" type: "BatchNorm" bottom: "incp1_2/branch2c" top: "incp1_2/branch2c" 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.999 eps: 0.001 } } layer { name: "incp1_2/branch2c/scale" type: "Scale" bottom: "incp1_2/branch2c" top: "incp1_2/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_2/branch2c/relu" type: "ReLU" bottom: "incp1_2/branch2c" top: "incp1_2/branch2c" } layer { name: "incp1_2/concat" type: "Concat" bottom: "incp1_1/concat" bottom: "incp1_2/branch1b" bottom: "incp1_2/branch2c" top: "incp1_2/concat" concat_param { axis: 1 } } layer { name: "incp1_3/branch1a" type: "Convolution" bottom: "incp1_2/concat" top: "incp1_3/branch1a" convolution_param { num_output: 16 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_3/branch1a/bn" type: "BatchNorm" bottom: "incp1_3/branch1a" top: "incp1_3/branch1a" 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.999 eps: 0.001 } } layer { name: "incp1_3/branch1a/scale" type: "Scale" bottom: "incp1_3/branch1a" top: "incp1_3/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_3/branch1a/relu" type: "ReLU" bottom: "incp1_3/branch1a" top: "incp1_3/branch1a" } layer { name: "incp1_3/branch1b" type: "Convolution" bottom: "incp1_3/branch1a" top: "incp1_3/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_3/branch1b/bn" type: "BatchNorm" bottom: "incp1_3/branch1b" top: "incp1_3/branch1b" 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.999 eps: 0.001 } } layer { name: "incp1_3/branch1b/scale" type: "Scale" bottom: "incp1_3/branch1b" top: "incp1_3/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_3/branch1b/relu" type: "ReLU" bottom: "incp1_3/branch1b" top: "incp1_3/branch1b" } layer { name: "incp1_3/branch2a" type: "Convolution" bottom: "incp1_2/concat" top: "incp1_3/branch2a" convolution_param { num_output: 16 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_3/branch2a/bn" type: "BatchNorm" bottom: "incp1_3/branch2a" top: "incp1_3/branch2a" 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.999 eps: 0.001 } } layer { name: "incp1_3/branch2a/scale" type: "Scale" bottom: "incp1_3/branch2a" top: "incp1_3/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_3/branch2a/relu" type: "ReLU" bottom: "incp1_3/branch2a" top: "incp1_3/branch2a" } layer { name: "incp1_3/branch2b" type: "Convolution" bottom: "incp1_3/branch2a" top: "incp1_3/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_3/branch2b/bn" type: "BatchNorm" bottom: "incp1_3/branch2b" top: "incp1_3/branch2b" 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.999 eps: 0.001 } } layer { name: "incp1_3/branch2b/scale" type: "Scale" bottom: "incp1_3/branch2b" top: "incp1_3/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_3/branch2b/relu" type: "ReLU" bottom: "incp1_3/branch2b" top: "incp1_3/branch2b" } layer { name: "incp1_3/branch2c" type: "Convolution" bottom: "incp1_3/branch2b" top: "incp1_3/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_3/branch2c/bn" type: "BatchNorm" bottom: "incp1_3/branch2c" top: "incp1_3/branch2c" 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.999 eps: 0.001 } } layer { name: "incp1_3/branch2c/scale" type: "Scale" bottom: "incp1_3/branch2c" top: "incp1_3/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_3/branch2c/relu" type: "ReLU" bottom: "incp1_3/branch2c" top: "incp1_3/branch2c" } layer { name: "incp1_3/concat" type: "Concat" bottom: "incp1_2/concat" bottom: "incp1_3/branch1b" bottom: "incp1_3/branch2c" top: "incp1_3/concat" concat_param { axis: 1 } } layer { name: "incp1_tb" type: "Convolution" bottom: "incp1_3/concat" top: "incp1_tb" convolution_param { num_output: 128 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp1_tb/bn" type: "BatchNorm" bottom: "incp1_tb" top: "incp1_tb" 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.999 eps: 0.001 } } layer { name: "incp1_tb/scale" type: "Scale" bottom: "incp1_tb" top: "incp1_tb" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp1_tb/relu" type: "ReLU" bottom: "incp1_tb" top: "incp1_tb" } layer { name: "incp1_tb/pool" type: "Pooling" bottom: "incp1_tb" top: "incp1_tb/pool" pooling_param { pool: AVE kernel_size: 2 stride: 2 } } layer { name: "incp2_1/branch1a" type: "Convolution" bottom: "incp1_tb/pool" top: "incp2_1/branch1a" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_1/branch1a/bn" type: "BatchNorm" bottom: "incp2_1/branch1a" top: "incp2_1/branch1a" 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.999 eps: 0.001 } } layer { name: "incp2_1/branch1a/scale" type: "Scale" bottom: "incp2_1/branch1a" top: "incp2_1/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_1/branch1a/relu" type: "ReLU" bottom: "incp2_1/branch1a" top: "incp2_1/branch1a" } layer { name: "incp2_1/branch1b" type: "Convolution" bottom: "incp2_1/branch1a" top: "incp2_1/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_1/branch1b/bn" type: "BatchNorm" bottom: "incp2_1/branch1b" top: "incp2_1/branch1b" 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.999 eps: 0.001 } } layer { name: "incp2_1/branch1b/scale" type: "Scale" bottom: "incp2_1/branch1b" top: "incp2_1/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_1/branch1b/relu" type: "ReLU" bottom: "incp2_1/branch1b" top: "incp2_1/branch1b" } layer { name: "incp2_1/branch2a" type: "Convolution" bottom: "incp1_tb/pool" top: "incp2_1/branch2a" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_1/branch2a/bn" type: "BatchNorm" bottom: "incp2_1/branch2a" top: "incp2_1/branch2a" 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.999 eps: 0.001 } } layer { name: "incp2_1/branch2a/scale" type: "Scale" bottom: "incp2_1/branch2a" top: "incp2_1/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_1/branch2a/relu" type: "ReLU" bottom: "incp2_1/branch2a" top: "incp2_1/branch2a" } layer { name: "incp2_1/branch2b" type: "Convolution" bottom: "incp2_1/branch2a" top: "incp2_1/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_1/branch2b/bn" type: "BatchNorm" bottom: "incp2_1/branch2b" top: "incp2_1/branch2b" 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.999 eps: 0.001 } } layer { name: "incp2_1/branch2b/scale" type: "Scale" bottom: "incp2_1/branch2b" top: "incp2_1/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_1/branch2b/relu" type: "ReLU" bottom: "incp2_1/branch2b" top: "incp2_1/branch2b" } layer { name: "incp2_1/branch2c" type: "Convolution" bottom: "incp2_1/branch2b" top: "incp2_1/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_1/branch2c/bn" type: "BatchNorm" bottom: "incp2_1/branch2c" top: "incp2_1/branch2c" 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.999 eps: 0.001 } } layer { name: "incp2_1/branch2c/scale" type: "Scale" bottom: "incp2_1/branch2c" top: "incp2_1/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_1/branch2c/relu" type: "ReLU" bottom: "incp2_1/branch2c" top: "incp2_1/branch2c" } layer { name: "incp2_1/concat" type: "Concat" bottom: "incp1_tb/pool" bottom: "incp2_1/branch1b" bottom: "incp2_1/branch2c" top: "incp2_1/concat" concat_param { axis: 1 } } layer { name: "incp2_2/branch1a" type: "Convolution" bottom: "incp2_1/concat" top: "incp2_2/branch1a" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_2/branch1a/bn" type: "BatchNorm" bottom: "incp2_2/branch1a" top: "incp2_2/branch1a" 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.999 eps: 0.001 } } layer { name: "incp2_2/branch1a/scale" type: "Scale" bottom: "incp2_2/branch1a" top: "incp2_2/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_2/branch1a/relu" type: "ReLU" bottom: "incp2_2/branch1a" top: "incp2_2/branch1a" } layer { name: "incp2_2/branch1b" type: "Convolution" bottom: "incp2_2/branch1a" top: "incp2_2/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_2/branch1b/bn" type: "BatchNorm" bottom: "incp2_2/branch1b" top: "incp2_2/branch1b" 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.999 eps: 0.001 } } layer { name: "incp2_2/branch1b/scale" type: "Scale" bottom: "incp2_2/branch1b" top: "incp2_2/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_2/branch1b/relu" type: "ReLU" bottom: "incp2_2/branch1b" top: "incp2_2/branch1b" } layer { name: "incp2_2/branch2a" type: "Convolution" bottom: "incp2_1/concat" top: "incp2_2/branch2a" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_2/branch2a/bn" type: "BatchNorm" bottom: "incp2_2/branch2a" top: "incp2_2/branch2a" 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.999 eps: 0.001 } } layer { name: "incp2_2/branch2a/scale" type: "Scale" bottom: "incp2_2/branch2a" top: "incp2_2/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_2/branch2a/relu" type: "ReLU" bottom: "incp2_2/branch2a" top: "incp2_2/branch2a" } layer { name: "incp2_2/branch2b" type: "Convolution" bottom: "incp2_2/branch2a" top: "incp2_2/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_2/branch2b/bn" type: "BatchNorm" bottom: "incp2_2/branch2b" top: "incp2_2/branch2b" 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.999 eps: 0.001 } } layer { name: "incp2_2/branch2b/scale" type: "Scale" bottom: "incp2_2/branch2b" top: "incp2_2/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_2/branch2b/relu" type: "ReLU" bottom: "incp2_2/branch2b" top: "incp2_2/branch2b" } layer { name: "incp2_2/branch2c" type: "Convolution" bottom: "incp2_2/branch2b" top: "incp2_2/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_2/branch2c/bn" type: "BatchNorm" bottom: "incp2_2/branch2c" top: "incp2_2/branch2c" 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.999 eps: 0.001 } } layer { name: "incp2_2/branch2c/scale" type: "Scale" bottom: "incp2_2/branch2c" top: "incp2_2/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_2/branch2c/relu" type: "ReLU" bottom: "incp2_2/branch2c" top: "incp2_2/branch2c" } layer { name: "incp2_2/concat" type: "Concat" bottom: "incp2_1/concat" bottom: "incp2_2/branch1b" bottom: "incp2_2/branch2c" top: "incp2_2/concat" concat_param { axis: 1 } } layer { name: "incp2_3/branch1a" type: "Convolution" bottom: "incp2_2/concat" top: "incp2_3/branch1a" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_3/branch1a/bn" type: "BatchNorm" bottom: "incp2_3/branch1a" top: "incp2_3/branch1a" 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.999 eps: 0.001 } } layer { name: "incp2_3/branch1a/scale" type: "Scale" bottom: "incp2_3/branch1a" top: "incp2_3/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_3/branch1a/relu" type: "ReLU" bottom: "incp2_3/branch1a" top: "incp2_3/branch1a" } layer { name: "incp2_3/branch1b" type: "Convolution" bottom: "incp2_3/branch1a" top: "incp2_3/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_3/branch1b/bn" type: "BatchNorm" bottom: "incp2_3/branch1b" top: "incp2_3/branch1b" 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.999 eps: 0.001 } } layer { name: "incp2_3/branch1b/scale" type: "Scale" bottom: "incp2_3/branch1b" top: "incp2_3/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_3/branch1b/relu" type: "ReLU" bottom: "incp2_3/branch1b" top: "incp2_3/branch1b" } layer { name: "incp2_3/branch2a" type: "Convolution" bottom: "incp2_2/concat" top: "incp2_3/branch2a" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_3/branch2a/bn" type: "BatchNorm" bottom: "incp2_3/branch2a" top: "incp2_3/branch2a" 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.999 eps: 0.001 } } layer { name: "incp2_3/branch2a/scale" type: "Scale" bottom: "incp2_3/branch2a" top: "incp2_3/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_3/branch2a/relu" type: "ReLU" bottom: "incp2_3/branch2a" top: "incp2_3/branch2a" } layer { name: "incp2_3/branch2b" type: "Convolution" bottom: "incp2_3/branch2a" top: "incp2_3/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_3/branch2b/bn" type: "BatchNorm" bottom: "incp2_3/branch2b" top: "incp2_3/branch2b" 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.999 eps: 0.001 } } layer { name: "incp2_3/branch2b/scale" type: "Scale" bottom: "incp2_3/branch2b" top: "incp2_3/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_3/branch2b/relu" type: "ReLU" bottom: "incp2_3/branch2b" top: "incp2_3/branch2b" } layer { name: "incp2_3/branch2c" type: "Convolution" bottom: "incp2_3/branch2b" top: "incp2_3/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_3/branch2c/bn" type: "BatchNorm" bottom: "incp2_3/branch2c" top: "incp2_3/branch2c" 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.999 eps: 0.001 } } layer { name: "incp2_3/branch2c/scale" type: "Scale" bottom: "incp2_3/branch2c" top: "incp2_3/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_3/branch2c/relu" type: "ReLU" bottom: "incp2_3/branch2c" top: "incp2_3/branch2c" } layer { name: "incp2_3/concat" type: "Concat" bottom: "incp2_2/concat" bottom: "incp2_3/branch1b" bottom: "incp2_3/branch2c" top: "incp2_3/concat" concat_param { axis: 1 } } layer { name: "incp2_4/branch1a" type: "Convolution" bottom: "incp2_3/concat" top: "incp2_4/branch1a" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_4/branch1a/bn" type: "BatchNorm" bottom: "incp2_4/branch1a" top: "incp2_4/branch1a" 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.999 eps: 0.001 } } layer { name: "incp2_4/branch1a/scale" type: "Scale" bottom: "incp2_4/branch1a" top: "incp2_4/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_4/branch1a/relu" type: "ReLU" bottom: "incp2_4/branch1a" top: "incp2_4/branch1a" } layer { name: "incp2_4/branch1b" type: "Convolution" bottom: "incp2_4/branch1a" top: "incp2_4/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_4/branch1b/bn" type: "BatchNorm" bottom: "incp2_4/branch1b" top: "incp2_4/branch1b" 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.999 eps: 0.001 } } layer { name: "incp2_4/branch1b/scale" type: "Scale" bottom: "incp2_4/branch1b" top: "incp2_4/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_4/branch1b/relu" type: "ReLU" bottom: "incp2_4/branch1b" top: "incp2_4/branch1b" } layer { name: "incp2_4/branch2a" type: "Convolution" bottom: "incp2_3/concat" top: "incp2_4/branch2a" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_4/branch2a/bn" type: "BatchNorm" bottom: "incp2_4/branch2a" top: "incp2_4/branch2a" 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.999 eps: 0.001 } } layer { name: "incp2_4/branch2a/scale" type: "Scale" bottom: "incp2_4/branch2a" top: "incp2_4/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_4/branch2a/relu" type: "ReLU" bottom: "incp2_4/branch2a" top: "incp2_4/branch2a" } layer { name: "incp2_4/branch2b" type: "Convolution" bottom: "incp2_4/branch2a" top: "incp2_4/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_4/branch2b/bn" type: "BatchNorm" bottom: "incp2_4/branch2b" top: "incp2_4/branch2b" 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.999 eps: 0.001 } } layer { name: "incp2_4/branch2b/scale" type: "Scale" bottom: "incp2_4/branch2b" top: "incp2_4/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_4/branch2b/relu" type: "ReLU" bottom: "incp2_4/branch2b" top: "incp2_4/branch2b" } layer { name: "incp2_4/branch2c" type: "Convolution" bottom: "incp2_4/branch2b" top: "incp2_4/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_4/branch2c/bn" type: "BatchNorm" bottom: "incp2_4/branch2c" top: "incp2_4/branch2c" 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.999 eps: 0.001 } } layer { name: "incp2_4/branch2c/scale" type: "Scale" bottom: "incp2_4/branch2c" top: "incp2_4/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_4/branch2c/relu" type: "ReLU" bottom: "incp2_4/branch2c" top: "incp2_4/branch2c" } layer { name: "incp2_4/concat" type: "Concat" bottom: "incp2_3/concat" bottom: "incp2_4/branch1b" bottom: "incp2_4/branch2c" top: "incp2_4/concat" concat_param { axis: 1 } } layer { name: "incp2_tb" type: "Convolution" bottom: "incp2_4/concat" top: "incp2_tb" convolution_param { num_output: 256 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp2_tb/bn" type: "BatchNorm" bottom: "incp2_tb" top: "incp2_tb" 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.999 eps: 0.001 } } layer { name: "incp2_tb/scale" type: "Scale" bottom: "incp2_tb" top: "incp2_tb" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp2_tb/relu" type: "ReLU" bottom: "incp2_tb" top: "incp2_tb" } layer { name: "incp2_tb/pool" type: "Pooling" bottom: "incp2_tb" top: "incp2_tb/pool" pooling_param { pool: AVE kernel_size: 2 stride: 2 } } layer { name: "incp3_1/branch1a" type: "Convolution" bottom: "incp2_tb/pool" top: "incp3_1/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_1/branch1a/bn" type: "BatchNorm" bottom: "incp3_1/branch1a" top: "incp3_1/branch1a" 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.999 eps: 0.001 } } layer { name: "incp3_1/branch1a/scale" type: "Scale" bottom: "incp3_1/branch1a" top: "incp3_1/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_1/branch1a/relu" type: "ReLU" bottom: "incp3_1/branch1a" top: "incp3_1/branch1a" } layer { name: "incp3_1/branch1b" type: "Convolution" bottom: "incp3_1/branch1a" top: "incp3_1/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_1/branch1b/bn" type: "BatchNorm" bottom: "incp3_1/branch1b" top: "incp3_1/branch1b" 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.999 eps: 0.001 } } layer { name: "incp3_1/branch1b/scale" type: "Scale" bottom: "incp3_1/branch1b" top: "incp3_1/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_1/branch1b/relu" type: "ReLU" bottom: "incp3_1/branch1b" top: "incp3_1/branch1b" } layer { name: "incp3_1/branch2a" type: "Convolution" bottom: "incp2_tb/pool" top: "incp3_1/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_1/branch2a/bn" type: "BatchNorm" bottom: "incp3_1/branch2a" top: "incp3_1/branch2a" 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.999 eps: 0.001 } } layer { name: "incp3_1/branch2a/scale" type: "Scale" bottom: "incp3_1/branch2a" top: "incp3_1/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_1/branch2a/relu" type: "ReLU" bottom: "incp3_1/branch2a" top: "incp3_1/branch2a" } layer { name: "incp3_1/branch2b" type: "Convolution" bottom: "incp3_1/branch2a" top: "incp3_1/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_1/branch2b/bn" type: "BatchNorm" bottom: "incp3_1/branch2b" top: "incp3_1/branch2b" 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.999 eps: 0.001 } } layer { name: "incp3_1/branch2b/scale" type: "Scale" bottom: "incp3_1/branch2b" top: "incp3_1/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_1/branch2b/relu" type: "ReLU" bottom: "incp3_1/branch2b" top: "incp3_1/branch2b" } layer { name: "incp3_1/branch2c" type: "Convolution" bottom: "incp3_1/branch2b" top: "incp3_1/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_1/branch2c/bn" type: "BatchNorm" bottom: "incp3_1/branch2c" top: "incp3_1/branch2c" 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.999 eps: 0.001 } } layer { name: "incp3_1/branch2c/scale" type: "Scale" bottom: "incp3_1/branch2c" top: "incp3_1/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_1/branch2c/relu" type: "ReLU" bottom: "incp3_1/branch2c" top: "incp3_1/branch2c" } layer { name: "incp3_1/concat" type: "Concat" bottom: "incp2_tb/pool" bottom: "incp3_1/branch1b" bottom: "incp3_1/branch2c" top: "incp3_1/concat" concat_param { axis: 1 } } layer { name: "incp3_2/branch1a" type: "Convolution" bottom: "incp3_1/concat" top: "incp3_2/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_2/branch1a/bn" type: "BatchNorm" bottom: "incp3_2/branch1a" top: "incp3_2/branch1a" 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.999 eps: 0.001 } } layer { name: "incp3_2/branch1a/scale" type: "Scale" bottom: "incp3_2/branch1a" top: "incp3_2/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_2/branch1a/relu" type: "ReLU" bottom: "incp3_2/branch1a" top: "incp3_2/branch1a" } layer { name: "incp3_2/branch1b" type: "Convolution" bottom: "incp3_2/branch1a" top: "incp3_2/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_2/branch1b/bn" type: "BatchNorm" bottom: "incp3_2/branch1b" top: "incp3_2/branch1b" 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.999 eps: 0.001 } } layer { name: "incp3_2/branch1b/scale" type: "Scale" bottom: "incp3_2/branch1b" top: "incp3_2/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_2/branch1b/relu" type: "ReLU" bottom: "incp3_2/branch1b" top: "incp3_2/branch1b" } layer { name: "incp3_2/branch2a" type: "Convolution" bottom: "incp3_1/concat" top: "incp3_2/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_2/branch2a/bn" type: "BatchNorm" bottom: "incp3_2/branch2a" top: "incp3_2/branch2a" 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.999 eps: 0.001 } } layer { name: "incp3_2/branch2a/scale" type: "Scale" bottom: "incp3_2/branch2a" top: "incp3_2/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_2/branch2a/relu" type: "ReLU" bottom: "incp3_2/branch2a" top: "incp3_2/branch2a" } layer { name: "incp3_2/branch2b" type: "Convolution" bottom: "incp3_2/branch2a" top: "incp3_2/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_2/branch2b/bn" type: "BatchNorm" bottom: "incp3_2/branch2b" top: "incp3_2/branch2b" 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.999 eps: 0.001 } } layer { name: "incp3_2/branch2b/scale" type: "Scale" bottom: "incp3_2/branch2b" top: "incp3_2/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_2/branch2b/relu" type: "ReLU" bottom: "incp3_2/branch2b" top: "incp3_2/branch2b" } layer { name: "incp3_2/branch2c" type: "Convolution" bottom: "incp3_2/branch2b" top: "incp3_2/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_2/branch2c/bn" type: "BatchNorm" bottom: "incp3_2/branch2c" top: "incp3_2/branch2c" 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.999 eps: 0.001 } } layer { name: "incp3_2/branch2c/scale" type: "Scale" bottom: "incp3_2/branch2c" top: "incp3_2/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_2/branch2c/relu" type: "ReLU" bottom: "incp3_2/branch2c" top: "incp3_2/branch2c" } layer { name: "incp3_2/concat" type: "Concat" bottom: "incp3_1/concat" bottom: "incp3_2/branch1b" bottom: "incp3_2/branch2c" top: "incp3_2/concat" concat_param { axis: 1 } } layer { name: "incp3_3/branch1a" type: "Convolution" bottom: "incp3_2/concat" top: "incp3_3/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_3/branch1a/bn" type: "BatchNorm" bottom: "incp3_3/branch1a" top: "incp3_3/branch1a" 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.999 eps: 0.001 } } layer { name: "incp3_3/branch1a/scale" type: "Scale" bottom: "incp3_3/branch1a" top: "incp3_3/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_3/branch1a/relu" type: "ReLU" bottom: "incp3_3/branch1a" top: "incp3_3/branch1a" } layer { name: "incp3_3/branch1b" type: "Convolution" bottom: "incp3_3/branch1a" top: "incp3_3/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_3/branch1b/bn" type: "BatchNorm" bottom: "incp3_3/branch1b" top: "incp3_3/branch1b" 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.999 eps: 0.001 } } layer { name: "incp3_3/branch1b/scale" type: "Scale" bottom: "incp3_3/branch1b" top: "incp3_3/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_3/branch1b/relu" type: "ReLU" bottom: "incp3_3/branch1b" top: "incp3_3/branch1b" } layer { name: "incp3_3/branch2a" type: "Convolution" bottom: "incp3_2/concat" top: "incp3_3/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_3/branch2a/bn" type: "BatchNorm" bottom: "incp3_3/branch2a" top: "incp3_3/branch2a" 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.999 eps: 0.001 } } layer { name: "incp3_3/branch2a/scale" type: "Scale" bottom: "incp3_3/branch2a" top: "incp3_3/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_3/branch2a/relu" type: "ReLU" bottom: "incp3_3/branch2a" top: "incp3_3/branch2a" } layer { name: "incp3_3/branch2b" type: "Convolution" bottom: "incp3_3/branch2a" top: "incp3_3/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_3/branch2b/bn" type: "BatchNorm" bottom: "incp3_3/branch2b" top: "incp3_3/branch2b" 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.999 eps: 0.001 } } layer { name: "incp3_3/branch2b/scale" type: "Scale" bottom: "incp3_3/branch2b" top: "incp3_3/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_3/branch2b/relu" type: "ReLU" bottom: "incp3_3/branch2b" top: "incp3_3/branch2b" } layer { name: "incp3_3/branch2c" type: "Convolution" bottom: "incp3_3/branch2b" top: "incp3_3/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_3/branch2c/bn" type: "BatchNorm" bottom: "incp3_3/branch2c" top: "incp3_3/branch2c" 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.999 eps: 0.001 } } layer { name: "incp3_3/branch2c/scale" type: "Scale" bottom: "incp3_3/branch2c" top: "incp3_3/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_3/branch2c/relu" type: "ReLU" bottom: "incp3_3/branch2c" top: "incp3_3/branch2c" } layer { name: "incp3_3/concat" type: "Concat" bottom: "incp3_2/concat" bottom: "incp3_3/branch1b" bottom: "incp3_3/branch2c" top: "incp3_3/concat" concat_param { axis: 1 } } layer { name: "incp3_4/branch1a" type: "Convolution" bottom: "incp3_3/concat" top: "incp3_4/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_4/branch1a/bn" type: "BatchNorm" bottom: "incp3_4/branch1a" top: "incp3_4/branch1a" 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.999 eps: 0.001 } } layer { name: "incp3_4/branch1a/scale" type: "Scale" bottom: "incp3_4/branch1a" top: "incp3_4/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_4/branch1a/relu" type: "ReLU" bottom: "incp3_4/branch1a" top: "incp3_4/branch1a" } layer { name: "incp3_4/branch1b" type: "Convolution" bottom: "incp3_4/branch1a" top: "incp3_4/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_4/branch1b/bn" type: "BatchNorm" bottom: "incp3_4/branch1b" top: "incp3_4/branch1b" 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.999 eps: 0.001 } } layer { name: "incp3_4/branch1b/scale" type: "Scale" bottom: "incp3_4/branch1b" top: "incp3_4/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_4/branch1b/relu" type: "ReLU" bottom: "incp3_4/branch1b" top: "incp3_4/branch1b" } layer { name: "incp3_4/branch2a" type: "Convolution" bottom: "incp3_3/concat" top: "incp3_4/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_4/branch2a/bn" type: "BatchNorm" bottom: "incp3_4/branch2a" top: "incp3_4/branch2a" 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.999 eps: 0.001 } } layer { name: "incp3_4/branch2a/scale" type: "Scale" bottom: "incp3_4/branch2a" top: "incp3_4/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_4/branch2a/relu" type: "ReLU" bottom: "incp3_4/branch2a" top: "incp3_4/branch2a" } layer { name: "incp3_4/branch2b" type: "Convolution" bottom: "incp3_4/branch2a" top: "incp3_4/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_4/branch2b/bn" type: "BatchNorm" bottom: "incp3_4/branch2b" top: "incp3_4/branch2b" 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.999 eps: 0.001 } } layer { name: "incp3_4/branch2b/scale" type: "Scale" bottom: "incp3_4/branch2b" top: "incp3_4/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_4/branch2b/relu" type: "ReLU" bottom: "incp3_4/branch2b" top: "incp3_4/branch2b" } layer { name: "incp3_4/branch2c" type: "Convolution" bottom: "incp3_4/branch2b" top: "incp3_4/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_4/branch2c/bn" type: "BatchNorm" bottom: "incp3_4/branch2c" top: "incp3_4/branch2c" 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.999 eps: 0.001 } } layer { name: "incp3_4/branch2c/scale" type: "Scale" bottom: "incp3_4/branch2c" top: "incp3_4/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_4/branch2c/relu" type: "ReLU" bottom: "incp3_4/branch2c" top: "incp3_4/branch2c" } layer { name: "incp3_4/concat" type: "Concat" bottom: "incp3_3/concat" bottom: "incp3_4/branch1b" bottom: "incp3_4/branch2c" top: "incp3_4/concat" concat_param { axis: 1 } } layer { name: "incp3_5/branch1a" type: "Convolution" bottom: "incp3_4/concat" top: "incp3_5/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_5/branch1a/bn" type: "BatchNorm" bottom: "incp3_5/branch1a" top: "incp3_5/branch1a" 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.999 eps: 0.001 } } layer { name: "incp3_5/branch1a/scale" type: "Scale" bottom: "incp3_5/branch1a" top: "incp3_5/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_5/branch1a/relu" type: "ReLU" bottom: "incp3_5/branch1a" top: "incp3_5/branch1a" } layer { name: "incp3_5/branch1b" type: "Convolution" bottom: "incp3_5/branch1a" top: "incp3_5/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_5/branch1b/bn" type: "BatchNorm" bottom: "incp3_5/branch1b" top: "incp3_5/branch1b" 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.999 eps: 0.001 } } layer { name: "incp3_5/branch1b/scale" type: "Scale" bottom: "incp3_5/branch1b" top: "incp3_5/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_5/branch1b/relu" type: "ReLU" bottom: "incp3_5/branch1b" top: "incp3_5/branch1b" } layer { name: "incp3_5/branch2a" type: "Convolution" bottom: "incp3_4/concat" top: "incp3_5/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_5/branch2a/bn" type: "BatchNorm" bottom: "incp3_5/branch2a" top: "incp3_5/branch2a" 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.999 eps: 0.001 } } layer { name: "incp3_5/branch2a/scale" type: "Scale" bottom: "incp3_5/branch2a" top: "incp3_5/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_5/branch2a/relu" type: "ReLU" bottom: "incp3_5/branch2a" top: "incp3_5/branch2a" } layer { name: "incp3_5/branch2b" type: "Convolution" bottom: "incp3_5/branch2a" top: "incp3_5/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_5/branch2b/bn" type: "BatchNorm" bottom: "incp3_5/branch2b" top: "incp3_5/branch2b" 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.999 eps: 0.001 } } layer { name: "incp3_5/branch2b/scale" type: "Scale" bottom: "incp3_5/branch2b" top: "incp3_5/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_5/branch2b/relu" type: "ReLU" bottom: "incp3_5/branch2b" top: "incp3_5/branch2b" } layer { name: "incp3_5/branch2c" type: "Convolution" bottom: "incp3_5/branch2b" top: "incp3_5/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_5/branch2c/bn" type: "BatchNorm" bottom: "incp3_5/branch2c" top: "incp3_5/branch2c" 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.999 eps: 0.001 } } layer { name: "incp3_5/branch2c/scale" type: "Scale" bottom: "incp3_5/branch2c" top: "incp3_5/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_5/branch2c/relu" type: "ReLU" bottom: "incp3_5/branch2c" top: "incp3_5/branch2c" } layer { name: "incp3_5/concat" type: "Concat" bottom: "incp3_4/concat" bottom: "incp3_5/branch1b" bottom: "incp3_5/branch2c" top: "incp3_5/concat" concat_param { axis: 1 } } layer { name: "incp3_6/branch1a" type: "Convolution" bottom: "incp3_5/concat" top: "incp3_6/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_6/branch1a/bn" type: "BatchNorm" bottom: "incp3_6/branch1a" top: "incp3_6/branch1a" 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.999 eps: 0.001 } } layer { name: "incp3_6/branch1a/scale" type: "Scale" bottom: "incp3_6/branch1a" top: "incp3_6/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_6/branch1a/relu" type: "ReLU" bottom: "incp3_6/branch1a" top: "incp3_6/branch1a" } layer { name: "incp3_6/branch1b" type: "Convolution" bottom: "incp3_6/branch1a" top: "incp3_6/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_6/branch1b/bn" type: "BatchNorm" bottom: "incp3_6/branch1b" top: "incp3_6/branch1b" 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.999 eps: 0.001 } } layer { name: "incp3_6/branch1b/scale" type: "Scale" bottom: "incp3_6/branch1b" top: "incp3_6/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_6/branch1b/relu" type: "ReLU" bottom: "incp3_6/branch1b" top: "incp3_6/branch1b" } layer { name: "incp3_6/branch2a" type: "Convolution" bottom: "incp3_5/concat" top: "incp3_6/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_6/branch2a/bn" type: "BatchNorm" bottom: "incp3_6/branch2a" top: "incp3_6/branch2a" 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.999 eps: 0.001 } } layer { name: "incp3_6/branch2a/scale" type: "Scale" bottom: "incp3_6/branch2a" top: "incp3_6/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_6/branch2a/relu" type: "ReLU" bottom: "incp3_6/branch2a" top: "incp3_6/branch2a" } layer { name: "incp3_6/branch2b" type: "Convolution" bottom: "incp3_6/branch2a" top: "incp3_6/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_6/branch2b/bn" type: "BatchNorm" bottom: "incp3_6/branch2b" top: "incp3_6/branch2b" 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.999 eps: 0.001 } } layer { name: "incp3_6/branch2b/scale" type: "Scale" bottom: "incp3_6/branch2b" top: "incp3_6/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_6/branch2b/relu" type: "ReLU" bottom: "incp3_6/branch2b" top: "incp3_6/branch2b" } layer { name: "incp3_6/branch2c" type: "Convolution" bottom: "incp3_6/branch2b" top: "incp3_6/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_6/branch2c/bn" type: "BatchNorm" bottom: "incp3_6/branch2c" top: "incp3_6/branch2c" 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.999 eps: 0.001 } } layer { name: "incp3_6/branch2c/scale" type: "Scale" bottom: "incp3_6/branch2c" top: "incp3_6/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_6/branch2c/relu" type: "ReLU" bottom: "incp3_6/branch2c" top: "incp3_6/branch2c" } layer { name: "incp3_6/concat" type: "Concat" bottom: "incp3_5/concat" bottom: "incp3_6/branch1b" bottom: "incp3_6/branch2c" top: "incp3_6/concat" concat_param { axis: 1 } } layer { name: "incp3_7/branch1a" type: "Convolution" bottom: "incp3_6/concat" top: "incp3_7/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_7/branch1a/bn" type: "BatchNorm" bottom: "incp3_7/branch1a" top: "incp3_7/branch1a" 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.999 eps: 0.001 } } layer { name: "incp3_7/branch1a/scale" type: "Scale" bottom: "incp3_7/branch1a" top: "incp3_7/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_7/branch1a/relu" type: "ReLU" bottom: "incp3_7/branch1a" top: "incp3_7/branch1a" } layer { name: "incp3_7/branch1b" type: "Convolution" bottom: "incp3_7/branch1a" top: "incp3_7/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_7/branch1b/bn" type: "BatchNorm" bottom: "incp3_7/branch1b" top: "incp3_7/branch1b" 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.999 eps: 0.001 } } layer { name: "incp3_7/branch1b/scale" type: "Scale" bottom: "incp3_7/branch1b" top: "incp3_7/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_7/branch1b/relu" type: "ReLU" bottom: "incp3_7/branch1b" top: "incp3_7/branch1b" } layer { name: "incp3_7/branch2a" type: "Convolution" bottom: "incp3_6/concat" top: "incp3_7/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_7/branch2a/bn" type: "BatchNorm" bottom: "incp3_7/branch2a" top: "incp3_7/branch2a" 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.999 eps: 0.001 } } layer { name: "incp3_7/branch2a/scale" type: "Scale" bottom: "incp3_7/branch2a" top: "incp3_7/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_7/branch2a/relu" type: "ReLU" bottom: "incp3_7/branch2a" top: "incp3_7/branch2a" } layer { name: "incp3_7/branch2b" type: "Convolution" bottom: "incp3_7/branch2a" top: "incp3_7/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_7/branch2b/bn" type: "BatchNorm" bottom: "incp3_7/branch2b" top: "incp3_7/branch2b" 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.999 eps: 0.001 } } layer { name: "incp3_7/branch2b/scale" type: "Scale" bottom: "incp3_7/branch2b" top: "incp3_7/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_7/branch2b/relu" type: "ReLU" bottom: "incp3_7/branch2b" top: "incp3_7/branch2b" } layer { name: "incp3_7/branch2c" type: "Convolution" bottom: "incp3_7/branch2b" top: "incp3_7/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_7/branch2c/bn" type: "BatchNorm" bottom: "incp3_7/branch2c" top: "incp3_7/branch2c" 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.999 eps: 0.001 } } layer { name: "incp3_7/branch2c/scale" type: "Scale" bottom: "incp3_7/branch2c" top: "incp3_7/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_7/branch2c/relu" type: "ReLU" bottom: "incp3_7/branch2c" top: "incp3_7/branch2c" } layer { name: "incp3_7/concat" type: "Concat" bottom: "incp3_6/concat" bottom: "incp3_7/branch1b" bottom: "incp3_7/branch2c" top: "incp3_7/concat" concat_param { axis: 1 } } layer { name: "incp3_8/branch1a" type: "Convolution" bottom: "incp3_7/concat" top: "incp3_8/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_8/branch1a/bn" type: "BatchNorm" bottom: "incp3_8/branch1a" top: "incp3_8/branch1a" 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.999 eps: 0.001 } } layer { name: "incp3_8/branch1a/scale" type: "Scale" bottom: "incp3_8/branch1a" top: "incp3_8/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_8/branch1a/relu" type: "ReLU" bottom: "incp3_8/branch1a" top: "incp3_8/branch1a" } layer { name: "incp3_8/branch1b" type: "Convolution" bottom: "incp3_8/branch1a" top: "incp3_8/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_8/branch1b/bn" type: "BatchNorm" bottom: "incp3_8/branch1b" top: "incp3_8/branch1b" 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.999 eps: 0.001 } } layer { name: "incp3_8/branch1b/scale" type: "Scale" bottom: "incp3_8/branch1b" top: "incp3_8/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_8/branch1b/relu" type: "ReLU" bottom: "incp3_8/branch1b" top: "incp3_8/branch1b" } layer { name: "incp3_8/branch2a" type: "Convolution" bottom: "incp3_7/concat" top: "incp3_8/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_8/branch2a/bn" type: "BatchNorm" bottom: "incp3_8/branch2a" top: "incp3_8/branch2a" 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.999 eps: 0.001 } } layer { name: "incp3_8/branch2a/scale" type: "Scale" bottom: "incp3_8/branch2a" top: "incp3_8/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_8/branch2a/relu" type: "ReLU" bottom: "incp3_8/branch2a" top: "incp3_8/branch2a" } layer { name: "incp3_8/branch2b" type: "Convolution" bottom: "incp3_8/branch2a" top: "incp3_8/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_8/branch2b/bn" type: "BatchNorm" bottom: "incp3_8/branch2b" top: "incp3_8/branch2b" 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.999 eps: 0.001 } } layer { name: "incp3_8/branch2b/scale" type: "Scale" bottom: "incp3_8/branch2b" top: "incp3_8/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_8/branch2b/relu" type: "ReLU" bottom: "incp3_8/branch2b" top: "incp3_8/branch2b" } layer { name: "incp3_8/branch2c" type: "Convolution" bottom: "incp3_8/branch2b" top: "incp3_8/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_8/branch2c/bn" type: "BatchNorm" bottom: "incp3_8/branch2c" top: "incp3_8/branch2c" 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.999 eps: 0.001 } } layer { name: "incp3_8/branch2c/scale" type: "Scale" bottom: "incp3_8/branch2c" top: "incp3_8/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_8/branch2c/relu" type: "ReLU" bottom: "incp3_8/branch2c" top: "incp3_8/branch2c" } layer { name: "incp3_8/concat" type: "Concat" bottom: "incp3_7/concat" bottom: "incp3_8/branch1b" bottom: "incp3_8/branch2c" top: "incp3_8/concat" concat_param { axis: 1 } } layer { name: "incp3_tb" type: "Convolution" bottom: "incp3_8/concat" top: "incp3_tb" convolution_param { num_output: 512 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp3_tb/bn" type: "BatchNorm" bottom: "incp3_tb" top: "incp3_tb" 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.999 eps: 0.001 } } layer { name: "incp3_tb/scale" type: "Scale" bottom: "incp3_tb" top: "incp3_tb" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp3_tb/relu" type: "ReLU" bottom: "incp3_tb" top: "incp3_tb" } layer { name: "incp3_tb/pool" type: "Pooling" bottom: "incp3_tb" top: "incp3_tb/pool" pooling_param { pool: AVE kernel_size: 2 stride: 2 } } layer { name: "incp4_1/branch1a" type: "Convolution" bottom: "incp3_tb/pool" top: "incp4_1/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_1/branch1a/bn" type: "BatchNorm" bottom: "incp4_1/branch1a" top: "incp4_1/branch1a" 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.999 eps: 0.001 } } layer { name: "incp4_1/branch1a/scale" type: "Scale" bottom: "incp4_1/branch1a" top: "incp4_1/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_1/branch1a/relu" type: "ReLU" bottom: "incp4_1/branch1a" top: "incp4_1/branch1a" } layer { name: "incp4_1/branch1b" type: "Convolution" bottom: "incp4_1/branch1a" top: "incp4_1/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_1/branch1b/bn" type: "BatchNorm" bottom: "incp4_1/branch1b" top: "incp4_1/branch1b" 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.999 eps: 0.001 } } layer { name: "incp4_1/branch1b/scale" type: "Scale" bottom: "incp4_1/branch1b" top: "incp4_1/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_1/branch1b/relu" type: "ReLU" bottom: "incp4_1/branch1b" top: "incp4_1/branch1b" } layer { name: "incp4_1/branch2a" type: "Convolution" bottom: "incp3_tb/pool" top: "incp4_1/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_1/branch2a/bn" type: "BatchNorm" bottom: "incp4_1/branch2a" top: "incp4_1/branch2a" 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.999 eps: 0.001 } } layer { name: "incp4_1/branch2a/scale" type: "Scale" bottom: "incp4_1/branch2a" top: "incp4_1/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_1/branch2a/relu" type: "ReLU" bottom: "incp4_1/branch2a" top: "incp4_1/branch2a" } layer { name: "incp4_1/branch2b" type: "Convolution" bottom: "incp4_1/branch2a" top: "incp4_1/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_1/branch2b/bn" type: "BatchNorm" bottom: "incp4_1/branch2b" top: "incp4_1/branch2b" 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.999 eps: 0.001 } } layer { name: "incp4_1/branch2b/scale" type: "Scale" bottom: "incp4_1/branch2b" top: "incp4_1/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_1/branch2b/relu" type: "ReLU" bottom: "incp4_1/branch2b" top: "incp4_1/branch2b" } layer { name: "incp4_1/branch2c" type: "Convolution" bottom: "incp4_1/branch2b" top: "incp4_1/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_1/branch2c/bn" type: "BatchNorm" bottom: "incp4_1/branch2c" top: "incp4_1/branch2c" 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.999 eps: 0.001 } } layer { name: "incp4_1/branch2c/scale" type: "Scale" bottom: "incp4_1/branch2c" top: "incp4_1/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_1/branch2c/relu" type: "ReLU" bottom: "incp4_1/branch2c" top: "incp4_1/branch2c" } layer { name: "incp4_1/concat" type: "Concat" bottom: "incp3_tb/pool" bottom: "incp4_1/branch1b" bottom: "incp4_1/branch2c" top: "incp4_1/concat" concat_param { axis: 1 } } layer { name: "incp4_2/branch1a" type: "Convolution" bottom: "incp4_1/concat" top: "incp4_2/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_2/branch1a/bn" type: "BatchNorm" bottom: "incp4_2/branch1a" top: "incp4_2/branch1a" 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.999 eps: 0.001 } } layer { name: "incp4_2/branch1a/scale" type: "Scale" bottom: "incp4_2/branch1a" top: "incp4_2/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_2/branch1a/relu" type: "ReLU" bottom: "incp4_2/branch1a" top: "incp4_2/branch1a" } layer { name: "incp4_2/branch1b" type: "Convolution" bottom: "incp4_2/branch1a" top: "incp4_2/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_2/branch1b/bn" type: "BatchNorm" bottom: "incp4_2/branch1b" top: "incp4_2/branch1b" 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.999 eps: 0.001 } } layer { name: "incp4_2/branch1b/scale" type: "Scale" bottom: "incp4_2/branch1b" top: "incp4_2/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_2/branch1b/relu" type: "ReLU" bottom: "incp4_2/branch1b" top: "incp4_2/branch1b" } layer { name: "incp4_2/branch2a" type: "Convolution" bottom: "incp4_1/concat" top: "incp4_2/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_2/branch2a/bn" type: "BatchNorm" bottom: "incp4_2/branch2a" top: "incp4_2/branch2a" 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.999 eps: 0.001 } } layer { name: "incp4_2/branch2a/scale" type: "Scale" bottom: "incp4_2/branch2a" top: "incp4_2/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_2/branch2a/relu" type: "ReLU" bottom: "incp4_2/branch2a" top: "incp4_2/branch2a" } layer { name: "incp4_2/branch2b" type: "Convolution" bottom: "incp4_2/branch2a" top: "incp4_2/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_2/branch2b/bn" type: "BatchNorm" bottom: "incp4_2/branch2b" top: "incp4_2/branch2b" 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.999 eps: 0.001 } } layer { name: "incp4_2/branch2b/scale" type: "Scale" bottom: "incp4_2/branch2b" top: "incp4_2/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_2/branch2b/relu" type: "ReLU" bottom: "incp4_2/branch2b" top: "incp4_2/branch2b" } layer { name: "incp4_2/branch2c" type: "Convolution" bottom: "incp4_2/branch2b" top: "incp4_2/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_2/branch2c/bn" type: "BatchNorm" bottom: "incp4_2/branch2c" top: "incp4_2/branch2c" 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.999 eps: 0.001 } } layer { name: "incp4_2/branch2c/scale" type: "Scale" bottom: "incp4_2/branch2c" top: "incp4_2/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_2/branch2c/relu" type: "ReLU" bottom: "incp4_2/branch2c" top: "incp4_2/branch2c" } layer { name: "incp4_2/concat" type: "Concat" bottom: "incp4_1/concat" bottom: "incp4_2/branch1b" bottom: "incp4_2/branch2c" top: "incp4_2/concat" concat_param { axis: 1 } } layer { name: "incp4_3/branch1a" type: "Convolution" bottom: "incp4_2/concat" top: "incp4_3/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_3/branch1a/bn" type: "BatchNorm" bottom: "incp4_3/branch1a" top: "incp4_3/branch1a" 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.999 eps: 0.001 } } layer { name: "incp4_3/branch1a/scale" type: "Scale" bottom: "incp4_3/branch1a" top: "incp4_3/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_3/branch1a/relu" type: "ReLU" bottom: "incp4_3/branch1a" top: "incp4_3/branch1a" } layer { name: "incp4_3/branch1b" type: "Convolution" bottom: "incp4_3/branch1a" top: "incp4_3/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_3/branch1b/bn" type: "BatchNorm" bottom: "incp4_3/branch1b" top: "incp4_3/branch1b" 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.999 eps: 0.001 } } layer { name: "incp4_3/branch1b/scale" type: "Scale" bottom: "incp4_3/branch1b" top: "incp4_3/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_3/branch1b/relu" type: "ReLU" bottom: "incp4_3/branch1b" top: "incp4_3/branch1b" } layer { name: "incp4_3/branch2a" type: "Convolution" bottom: "incp4_2/concat" top: "incp4_3/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_3/branch2a/bn" type: "BatchNorm" bottom: "incp4_3/branch2a" top: "incp4_3/branch2a" 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.999 eps: 0.001 } } layer { name: "incp4_3/branch2a/scale" type: "Scale" bottom: "incp4_3/branch2a" top: "incp4_3/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_3/branch2a/relu" type: "ReLU" bottom: "incp4_3/branch2a" top: "incp4_3/branch2a" } layer { name: "incp4_3/branch2b" type: "Convolution" bottom: "incp4_3/branch2a" top: "incp4_3/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_3/branch2b/bn" type: "BatchNorm" bottom: "incp4_3/branch2b" top: "incp4_3/branch2b" 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.999 eps: 0.001 } } layer { name: "incp4_3/branch2b/scale" type: "Scale" bottom: "incp4_3/branch2b" top: "incp4_3/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_3/branch2b/relu" type: "ReLU" bottom: "incp4_3/branch2b" top: "incp4_3/branch2b" } layer { name: "incp4_3/branch2c" type: "Convolution" bottom: "incp4_3/branch2b" top: "incp4_3/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_3/branch2c/bn" type: "BatchNorm" bottom: "incp4_3/branch2c" top: "incp4_3/branch2c" 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.999 eps: 0.001 } } layer { name: "incp4_3/branch2c/scale" type: "Scale" bottom: "incp4_3/branch2c" top: "incp4_3/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_3/branch2c/relu" type: "ReLU" bottom: "incp4_3/branch2c" top: "incp4_3/branch2c" } layer { name: "incp4_3/concat" type: "Concat" bottom: "incp4_2/concat" bottom: "incp4_3/branch1b" bottom: "incp4_3/branch2c" top: "incp4_3/concat" concat_param { axis: 1 } } layer { name: "incp4_4/branch1a" type: "Convolution" bottom: "incp4_3/concat" top: "incp4_4/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_4/branch1a/bn" type: "BatchNorm" bottom: "incp4_4/branch1a" top: "incp4_4/branch1a" 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.999 eps: 0.001 } } layer { name: "incp4_4/branch1a/scale" type: "Scale" bottom: "incp4_4/branch1a" top: "incp4_4/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_4/branch1a/relu" type: "ReLU" bottom: "incp4_4/branch1a" top: "incp4_4/branch1a" } layer { name: "incp4_4/branch1b" type: "Convolution" bottom: "incp4_4/branch1a" top: "incp4_4/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_4/branch1b/bn" type: "BatchNorm" bottom: "incp4_4/branch1b" top: "incp4_4/branch1b" 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.999 eps: 0.001 } } layer { name: "incp4_4/branch1b/scale" type: "Scale" bottom: "incp4_4/branch1b" top: "incp4_4/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_4/branch1b/relu" type: "ReLU" bottom: "incp4_4/branch1b" top: "incp4_4/branch1b" } layer { name: "incp4_4/branch2a" type: "Convolution" bottom: "incp4_3/concat" top: "incp4_4/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_4/branch2a/bn" type: "BatchNorm" bottom: "incp4_4/branch2a" top: "incp4_4/branch2a" 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.999 eps: 0.001 } } layer { name: "incp4_4/branch2a/scale" type: "Scale" bottom: "incp4_4/branch2a" top: "incp4_4/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_4/branch2a/relu" type: "ReLU" bottom: "incp4_4/branch2a" top: "incp4_4/branch2a" } layer { name: "incp4_4/branch2b" type: "Convolution" bottom: "incp4_4/branch2a" top: "incp4_4/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_4/branch2b/bn" type: "BatchNorm" bottom: "incp4_4/branch2b" top: "incp4_4/branch2b" 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.999 eps: 0.001 } } layer { name: "incp4_4/branch2b/scale" type: "Scale" bottom: "incp4_4/branch2b" top: "incp4_4/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_4/branch2b/relu" type: "ReLU" bottom: "incp4_4/branch2b" top: "incp4_4/branch2b" } layer { name: "incp4_4/branch2c" type: "Convolution" bottom: "incp4_4/branch2b" top: "incp4_4/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_4/branch2c/bn" type: "BatchNorm" bottom: "incp4_4/branch2c" top: "incp4_4/branch2c" 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.999 eps: 0.001 } } layer { name: "incp4_4/branch2c/scale" type: "Scale" bottom: "incp4_4/branch2c" top: "incp4_4/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_4/branch2c/relu" type: "ReLU" bottom: "incp4_4/branch2c" top: "incp4_4/branch2c" } layer { name: "incp4_4/concat" type: "Concat" bottom: "incp4_3/concat" bottom: "incp4_4/branch1b" bottom: "incp4_4/branch2c" top: "incp4_4/concat" concat_param { axis: 1 } } layer { name: "incp4_5/branch1a" type: "Convolution" bottom: "incp4_4/concat" top: "incp4_5/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_5/branch1a/bn" type: "BatchNorm" bottom: "incp4_5/branch1a" top: "incp4_5/branch1a" 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.999 eps: 0.001 } } layer { name: "incp4_5/branch1a/scale" type: "Scale" bottom: "incp4_5/branch1a" top: "incp4_5/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_5/branch1a/relu" type: "ReLU" bottom: "incp4_5/branch1a" top: "incp4_5/branch1a" } layer { name: "incp4_5/branch1b" type: "Convolution" bottom: "incp4_5/branch1a" top: "incp4_5/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_5/branch1b/bn" type: "BatchNorm" bottom: "incp4_5/branch1b" top: "incp4_5/branch1b" 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.999 eps: 0.001 } } layer { name: "incp4_5/branch1b/scale" type: "Scale" bottom: "incp4_5/branch1b" top: "incp4_5/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_5/branch1b/relu" type: "ReLU" bottom: "incp4_5/branch1b" top: "incp4_5/branch1b" } layer { name: "incp4_5/branch2a" type: "Convolution" bottom: "incp4_4/concat" top: "incp4_5/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_5/branch2a/bn" type: "BatchNorm" bottom: "incp4_5/branch2a" top: "incp4_5/branch2a" 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.999 eps: 0.001 } } layer { name: "incp4_5/branch2a/scale" type: "Scale" bottom: "incp4_5/branch2a" top: "incp4_5/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_5/branch2a/relu" type: "ReLU" bottom: "incp4_5/branch2a" top: "incp4_5/branch2a" } layer { name: "incp4_5/branch2b" type: "Convolution" bottom: "incp4_5/branch2a" top: "incp4_5/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_5/branch2b/bn" type: "BatchNorm" bottom: "incp4_5/branch2b" top: "incp4_5/branch2b" 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.999 eps: 0.001 } } layer { name: "incp4_5/branch2b/scale" type: "Scale" bottom: "incp4_5/branch2b" top: "incp4_5/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_5/branch2b/relu" type: "ReLU" bottom: "incp4_5/branch2b" top: "incp4_5/branch2b" } layer { name: "incp4_5/branch2c" type: "Convolution" bottom: "incp4_5/branch2b" top: "incp4_5/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_5/branch2c/bn" type: "BatchNorm" bottom: "incp4_5/branch2c" top: "incp4_5/branch2c" 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.999 eps: 0.001 } } layer { name: "incp4_5/branch2c/scale" type: "Scale" bottom: "incp4_5/branch2c" top: "incp4_5/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_5/branch2c/relu" type: "ReLU" bottom: "incp4_5/branch2c" top: "incp4_5/branch2c" } layer { name: "incp4_5/concat" type: "Concat" bottom: "incp4_4/concat" bottom: "incp4_5/branch1b" bottom: "incp4_5/branch2c" top: "incp4_5/concat" concat_param { axis: 1 } } layer { name: "incp4_6/branch1a" type: "Convolution" bottom: "incp4_5/concat" top: "incp4_6/branch1a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_6/branch1a/bn" type: "BatchNorm" bottom: "incp4_6/branch1a" top: "incp4_6/branch1a" 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.999 eps: 0.001 } } layer { name: "incp4_6/branch1a/scale" type: "Scale" bottom: "incp4_6/branch1a" top: "incp4_6/branch1a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_6/branch1a/relu" type: "ReLU" bottom: "incp4_6/branch1a" top: "incp4_6/branch1a" } layer { name: "incp4_6/branch1b" type: "Convolution" bottom: "incp4_6/branch1a" top: "incp4_6/branch1b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_6/branch1b/bn" type: "BatchNorm" bottom: "incp4_6/branch1b" top: "incp4_6/branch1b" 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.999 eps: 0.001 } } layer { name: "incp4_6/branch1b/scale" type: "Scale" bottom: "incp4_6/branch1b" top: "incp4_6/branch1b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_6/branch1b/relu" type: "ReLU" bottom: "incp4_6/branch1b" top: "incp4_6/branch1b" } layer { name: "incp4_6/branch2a" type: "Convolution" bottom: "incp4_5/concat" top: "incp4_6/branch2a" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_6/branch2a/bn" type: "BatchNorm" bottom: "incp4_6/branch2a" top: "incp4_6/branch2a" 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.999 eps: 0.001 } } layer { name: "incp4_6/branch2a/scale" type: "Scale" bottom: "incp4_6/branch2a" top: "incp4_6/branch2a" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_6/branch2a/relu" type: "ReLU" bottom: "incp4_6/branch2a" top: "incp4_6/branch2a" } layer { name: "incp4_6/branch2b" type: "Convolution" bottom: "incp4_6/branch2a" top: "incp4_6/branch2b" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_6/branch2b/bn" type: "BatchNorm" bottom: "incp4_6/branch2b" top: "incp4_6/branch2b" 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.999 eps: 0.001 } } layer { name: "incp4_6/branch2b/scale" type: "Scale" bottom: "incp4_6/branch2b" top: "incp4_6/branch2b" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_6/branch2b/relu" type: "ReLU" bottom: "incp4_6/branch2b" top: "incp4_6/branch2b" } layer { name: "incp4_6/branch2c" type: "Convolution" bottom: "incp4_6/branch2b" top: "incp4_6/branch2c" convolution_param { num_output: 16 bias_term: false pad: 1 kernel_size: 3 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_6/branch2c/bn" type: "BatchNorm" bottom: "incp4_6/branch2c" top: "incp4_6/branch2c" 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.999 eps: 0.001 } } layer { name: "incp4_6/branch2c/scale" type: "Scale" bottom: "incp4_6/branch2c" top: "incp4_6/branch2c" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_6/branch2c/relu" type: "ReLU" bottom: "incp4_6/branch2c" top: "incp4_6/branch2c" } layer { name: "incp4_6/concat" type: "Concat" bottom: "incp4_5/concat" bottom: "incp4_6/branch1b" bottom: "incp4_6/branch2c" top: "incp4_6/concat" concat_param { axis: 1 } } layer { name: "incp4_tb" type: "Convolution" bottom: "incp4_6/concat" top: "incp4_tb" convolution_param { num_output: 704 bias_term: false pad: 0 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "incp4_tb/bn" type: "BatchNorm" bottom: "incp4_tb" top: "incp4_tb" 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.999 eps: 0.001 } } layer { name: "incp4_tb/scale" type: "Scale" bottom: "incp4_tb" top: "incp4_tb" scale_param { filler { value: 1 } bias_term: true bias_filler { value: 0 } } } layer { name: "incp4_tb/relu" type: "ReLU" bottom: "incp4_tb" top: "incp4_tb" } # fc5 layer { name: "fc5" type: "Convolution" bottom: "incp4_tb" top: "fc5" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "bn-fc5" type: "BatchNorm" bottom: "fc5" top: "fc5" } layer { name: "scale-fc5" type: "Scale" bottom: "fc5" top: "fc5" scale_param { bias_term: true } } layer { bottom: "fc5" top: "fc5" name: "fc5-relu" type: "ReLU" } # fc4 layer { name: "fc4" type: "Convolution" bottom: "incp3_tb" top: "fc4" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "bn-fc4" type: "BatchNorm" bottom: "fc4" top: "fc4" } layer { name: "scale-fc4" type: "Scale" bottom: "fc4" top: "fc4" scale_param { bias_term: true } } layer { name: "relu-fc4" type: "ReLU" bottom: "fc4" top: "fc4" } # fc3 layer { name: "fc3" type: "Convolution" bottom: "incp2_tb" top: "fc3" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "bn-fc3" type: "BatchNorm" bottom: "fc3" top: "fc3" } layer { name: "scale-fc3" type: "Scale" bottom: "fc3" top: "fc3" scale_param { bias_term: true } } layer { name: "relu-fc3" type: "ReLU" bottom: "fc3" top: "fc3" } # fc2 layer { name: "fc2" type: "Convolution" bottom: "incp1_tb" top: "fc2" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "bn-fc2" type: "BatchNorm" bottom: "fc2" top: "fc2" } layer { name: "scale-fc2" type: "Scale" bottom: "fc2" top: "fc2" scale_param { bias_term: true } } layer { name: "relu-fc2" type: "ReLU" bottom: "fc2" top: "fc2" } # deconv6 output = stride * (input - 1) + kernel - 2 * pad; #layer { # name: "deconv6" # type: "Deconvolution" # bottom: "fc6" # top: "deconv6" # param { # lr_mult: 1 # } # param { # lr_mult: 2 # } # convolution_param { # num_output: 64 # kernel_size: 2 # stride: 2 # weight_filler { type: "xavier" } # bias_filler { type: "constant" } # } #} ## fc56 #layer { # name: "fc56" # type: "Eltwise" # bottom: "fc5" # bottom: "deconv6" # top: "fc56" #} # deconv56 layer { name: "deconv56" type: "Deconvolution" bottom: "fc5" top: "deconv56" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 2 stride: 2 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } # fc456 layer { name: "fc456" type: "Eltwise" bottom: "fc4" bottom: "deconv56" top: "fc456" } # deconv456 layer { name: "deconv456" type: "Deconvolution" bottom: "fc456" top: "deconv456" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 2 stride: 2 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "fc-score-2_new" type: "Convolution" bottom: "deconv456" top: "fc-score-2" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 1 #dilation: 3 #pad: 3 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "bn-fc-score-2" type: "BatchNorm" bottom: "fc-score-2" top: "fc-score-2" } layer { name: "scale-fc-score-2" type: "Scale" bottom: "fc-score-2" top: "fc-score-2" scale_param { bias_term: true } } layer { name: "relu-fc-score-2" type: "ReLU" bottom: "fc-score-2" top: "fc-score-2" } # fc3456 layer { name: "fc3456" type: "Eltwise" bottom: "fc3" bottom: "deconv456" top: "fc3456" } # deconv3456 layer { name: "deconv3456" type: "Deconvolution" bottom: "fc3456" top: "deconv3456" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 2 stride: 2 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "fc23456" type: "Eltwise" bottom: "fc2" bottom: "deconv3456" top: "fc23456" } ## deconv23456 #layer { # name: "deconv23456" # type: "Deconvolution" # bottom: "fc23456" # top: "deconv23456" # param { # lr_mult: 1 # } # param { # lr_mult: 2 # } # convolution_param { # num_output: 64 # kernel_size: 2 # stride: 2 # weight_filler { type: "xavier" } # bias_filler { type: "constant" } # } #} layer { name: "fc-score-1_new" type: "Convolution" bottom: "fc23456" top: "fc-score-1" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 1 #dilation: 3 #pad: 3 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "bn-fc-score-1" type: "BatchNorm" bottom: "fc-score-1" top: "fc-score-1" } layer { name: "scale-fc-score-1" type: "Scale" bottom: "fc-score-1" top: "fc-score-1" scale_param { bias_term: true } } layer { name: "relu-fc-score-1" type: "ReLU" bottom: "fc-score-1" top: "fc-score-1" } ######### LOSS ########## #########detection######### layer { name: "conv-det1" type: "Convolution" bottom: "fc-score-1" top: "conv-det1" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 1 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } ########regression######### layer { name: "line-conv-reg1-1" type: "Convolution" bottom: "fc-score-1" top: "conv-reg1-1" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 3 stride: 1 pad: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "line-relu-conv-reg1-1" type: "ReLU" bottom: "conv-reg1-1" top: "conv-reg1-1" } layer { name: "line-conv-reg1-2" type: "Convolution" bottom: "conv-reg1-1" top: "conv-reg1-2" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 3 stride: 1 pad: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "line-relu-conv-reg1-2" type: "ReLU" bottom: "conv-reg1-2" top: "conv-reg1-2" } layer { name: "line-conv-reg1-3" type: "Convolution" bottom: "conv-reg1-2" top: "conv-reg1-3" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 3 stride: 1 pad: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "line-relu-conv-reg1-3" type: "ReLU" bottom: "conv-reg1-3" top: "conv-reg1-3" } # 1000x1 + 500x2 + 100x3 + 50x4 # 1000x1 + 100x3 layer { name: "conv-reg1-2-x1" type: "Convolution" bottom: "conv-reg1-3" top: "conv-reg1-2-x1" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 8 kernel_size: 1 stride: 1 weight_filler { # type: "xavier" type: "constant" } bias_filler { type: "constant" } } } layer { name: "reg-x1-01" type: "Sigmoid" bottom: "conv-reg1-2-x1" top: "reg-x1-01" } layer { name: "reg-x1" type: "Power" bottom: "reg-x1-01" top: "reg-x1" power_param { scale: 1000 shift: -500 } } layer { name: "conv-reg1-2-x3" type: "Convolution" bottom: "conv-reg1-3" top: "conv-reg1-2-x3" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 8 kernel_size: 1 stride: 1 weight_filler { type: "constant" } bias_filler { type: "constant" } } } layer { name: "reg-x3-01" type: "Sigmoid" bottom: "conv-reg1-2-x3" top: "reg-x3-01" } layer { name: "reg-x3" type: "Power" bottom: "reg-x3-01" top: "reg-x3" power_param { scale: 100 shift: -50 } } layer { name: "pred-reg1" type: "Eltwise" bottom: "reg-x1" bottom: "reg-x3" top: "pred-reg1" } #layer { # name: "pred-all" # type: "Concat" # bottom: "conv-det1" # bottom: "pred-reg1" # top: "pred-all" #} ######### LOSS ########## #########detection######### layer { name: "conv-det2" type: "Convolution" bottom: "fc-score-2" top: "conv-det2" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 1 kernel_size: 1 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } ########regression######### layer { name: "line-conv-reg2-1" type: "Convolution" bottom: "fc-score-2" top: "conv-reg2-1" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 3 stride: 1 pad: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "line-relu-conv-reg2-1" type: "ReLU" bottom: "conv-reg2-1" top: "conv-reg2-1" } layer { name: "line-conv-reg2-2" type: "Convolution" bottom: "conv-reg2-1" top: "conv-reg2-2" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 3 stride: 1 pad: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "line-relu-conv-reg2-2" type: "ReLU" bottom: "conv-reg2-2" top: "conv-reg2-2" } layer { name: "line-conv-reg2-3" type: "Convolution" bottom: "conv-reg2-2" top: "conv-reg2-3" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 64 kernel_size: 3 stride: 1 pad: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "line-relu-conv-reg2-3" type: "ReLU" bottom: "conv-reg2-3" top: "conv-reg2-3" } # 1000x1 + 500x2 + 100x3 + 50x4 # 1000x1 + 100x3 layer { name: "conv-reg2-2-x1" type: "Convolution" bottom: "conv-reg2-3" top: "conv-reg2-2-x1" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 8 kernel_size: 1 stride: 1 weight_filler { # type: "xavier" type: "constant" } bias_filler { type: "constant" } } } layer { name: "reg2-x1-01" type: "Sigmoid" bottom: "conv-reg2-2-x1" top: "reg2-x1-01" } layer { name: "reg2-x1" type: "Power" bottom: "reg2-x1-01" top: "reg2-x1" power_param { scale: 1000 shift: -500 } } layer { name: "conv-reg2-2-x3" type: "Convolution" bottom: "conv-reg2-3" top: "conv-reg2-2-x3" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 8 kernel_size: 1 stride: 1 weight_filler { type: "constant" } bias_filler { type: "constant" } } } layer { name: "reg2-x3-01" type: "Sigmoid" bottom: "conv-reg2-2-x3" top: "reg2-x3-01" } layer { name: "reg2-x3" type: "Power" bottom: "reg2-x3-01" top: "reg2-x3" power_param { scale: 100 shift: -50 } } layer { name: "pred2-reg1" type: "Eltwise" bottom: "reg2-x1" bottom: "reg2-x3" top: "pred2-reg1" } #layer { # name: "pred2-all" # type: "Concat" # bottom: "conv-det2" # bottom: "pred2-reg1" # top: "pred2-all" #}