name: "googlenet" input: "data" input_dim: 128 input_dim: 3 input_dim: 224 input_dim: 224 force_backward: true layers { name: "conv1/7x7_s2" type: CONVOLUTION bottom: "data" top: "conv1/7x7_s2" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 7 stride: 2 pad: 3 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "conv1/relu_7x7" type: RELU bottom: "conv1/7x7_s2" top: "conv1/7x7_s2" } layers { name: "pool1/3x3_s2" type: POOLING bottom: "conv1/7x7_s2" top: "pool1/3x3_s2" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } # LRN (not added for now) #layers { # name: "pool1/norm1" # type: LRN # bottom: "pool1/3x3_s2" # top: "pool1/norm1" # lrn_param { # local_size: 5 # alpha: 0.0001 # beta: 0.75 # } #} layers { name: "conv2/3x3_reduce" type: CONVOLUTION # bottom: "pool1/norm1" bottom: "pool1/3x3_s2" top: "conv2/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "conv2/relu_3x3_reduce" type: RELU bottom: "conv2/3x3_reduce" top: "conv2/3x3_reduce" } layers { name: "conv2/3x3" type: CONVOLUTION bottom: "conv2/3x3_reduce" top: "conv2/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 192 kernel_size: 3 pad: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "conv2/relu_3x3" type: RELU bottom: "conv2/3x3" top: "conv2/3x3" } # LRN (not added for now) #layers { # name: "conv2/norm2" # type: LRN # bottom: "conv2/3x3" # top: "conv2/norm2" # lrn_param { # local_size: 5 # alpha: 0.0001 # beta: 0.75 # } #} layers { name: "pool2/3x3_s2" type: POOLING # bottom: "conv2/norm2" bottom: "conv2/3x3" top: "pool2/3x3_s2" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layers { name: "inception_3a/1x1" type: CONVOLUTION bottom: "pool2/3x3_s2" top: "inception_3a/1x1" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3a/relu_1x1" type: RELU bottom: "inception_3a/1x1" top: "inception_3a/1x1" } layers { name: "inception_3a/3x3_reduce" type: CONVOLUTION bottom: "pool2/3x3_s2" top: "inception_3a/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 96 kernel_size: 1 } } layers { name: "inception_3a/relu_3x3_reduce" type: RELU bottom: "inception_3a/3x3_reduce" top: "inception_3a/3x3_reduce" } layers { name: "inception_3a/3x3" type: CONVOLUTION bottom: "inception_3a/3x3_reduce" top: "inception_3a/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 kernel_size: 3 pad: 1 weight_filler { type: "xavier" std: 0.09 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3a/relu_3x3" type: RELU bottom: "inception_3a/3x3" top: "inception_3a/3x3" } layers { name: "inception_3a/5x5_reduce" type: CONVOLUTION bottom: "pool2/3x3_s2" top: "inception_3a/5x5_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 16 kernel_size: 1 weight_filler { type: "xavier" std: 0.2 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3a/relu_5x5_reduce" type: RELU bottom: "inception_3a/5x5_reduce" top: "inception_3a/5x5_reduce" } layers { name: "inception_3a/5x5" type: CONVOLUTION bottom: "inception_3a/5x5_reduce" top: "inception_3a/5x5" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 32 kernel_size: 5 pad: 2 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3a/relu_5x5" type: RELU bottom: "inception_3a/5x5" top: "inception_3a/5x5" } layers { name: "inception_3a/pool" type: POOLING bottom: "pool2/3x3_s2" top: "inception_3a/pool" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layers { name: "inception_3a/pool_proj" type: CONVOLUTION bottom: "inception_3a/pool" top: "inception_3a/pool_proj" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 32 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3a/relu_pool_proj" type: RELU bottom: "inception_3a/pool_proj" top: "inception_3a/pool_proj" } layers { name: "inception_3a/output" type: CONCAT bottom: "inception_3a/1x1" bottom: "inception_3a/3x3" bottom: "inception_3a/5x5" bottom: "inception_3a/pool_proj" top: "inception_3a/output" } layers { name: "inception_3b/1x1" type: CONVOLUTION bottom: "inception_3a/output" top: "inception_3b/1x1" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 kernel_size: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3b/relu_1x1" type: RELU bottom: "inception_3b/1x1" top: "inception_3b/1x1" } layers { name: "inception_3b/3x3_reduce" type: CONVOLUTION bottom: "inception_3a/output" top: "inception_3b/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 kernel_size: 1 weight_filler { type: "xavier" std: 0.09 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3b/relu_3x3_reduce" type: RELU bottom: "inception_3b/3x3_reduce" top: "inception_3b/3x3_reduce" } layers { name: "inception_3b/3x3" type: CONVOLUTION bottom: "inception_3b/3x3_reduce" top: "inception_3b/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 192 kernel_size: 3 pad: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3b/relu_3x3" type: RELU bottom: "inception_3b/3x3" top: "inception_3b/3x3" } layers { name: "inception_3b/5x5_reduce" type: CONVOLUTION bottom: "inception_3a/output" top: "inception_3b/5x5_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 32 kernel_size: 1 weight_filler { type: "xavier" std: 0.2 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3b/relu_5x5_reduce" type: RELU bottom: "inception_3b/5x5_reduce" top: "inception_3b/5x5_reduce" } layers { name: "inception_3b/5x5" type: CONVOLUTION bottom: "inception_3b/5x5_reduce" top: "inception_3b/5x5" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 96 kernel_size: 5 pad: 2 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3b/relu_5x5" type: RELU bottom: "inception_3b/5x5" top: "inception_3b/5x5" } layers { name: "inception_3b/pool" type: POOLING bottom: "inception_3a/output" top: "inception_3b/pool" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layers { name: "inception_3b/pool_proj" type: CONVOLUTION bottom: "inception_3b/pool" top: "inception_3b/pool_proj" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_3b/relu_pool_proj" type: RELU bottom: "inception_3b/pool_proj" top: "inception_3b/pool_proj" } layers { name: "inception_3b/output" type: CONCAT bottom: "inception_3b/1x1" bottom: "inception_3b/3x3" bottom: "inception_3b/5x5" bottom: "inception_3b/pool_proj" top: "inception_3b/output" } layers { name: "pool3/3x3_s2" type: POOLING bottom: "inception_3b/output" top: "pool3/3x3_s2" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layers { name: "inception_4a/1x1" type: CONVOLUTION bottom: "pool3/3x3_s2" top: "inception_4a/1x1" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 192 kernel_size: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4a/relu_1x1" type: RELU bottom: "inception_4a/1x1" top: "inception_4a/1x1" } layers { name: "inception_4a/3x3_reduce" type: CONVOLUTION bottom: "pool3/3x3_s2" top: "inception_4a/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 96 kernel_size: 1 weight_filler { type: "xavier" std: 0.09 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4a/relu_3x3_reduce" type: RELU bottom: "inception_4a/3x3_reduce" top: "inception_4a/3x3_reduce" } layers { name: "inception_4a/3x3" type: CONVOLUTION bottom: "inception_4a/3x3_reduce" top: "inception_4a/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 208 kernel_size: 3 pad: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4a/relu_3x3" type: RELU bottom: "inception_4a/3x3" top: "inception_4a/3x3" } layers { name: "inception_4a/5x5_reduce" type: CONVOLUTION bottom: "pool3/3x3_s2" top: "inception_4a/5x5_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 16 kernel_size: 1 weight_filler { type: "xavier" std: 0.2 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4a/relu_5x5_reduce" type: RELU bottom: "inception_4a/5x5_reduce" top: "inception_4a/5x5_reduce" } layers { name: "inception_4a/5x5" type: CONVOLUTION bottom: "inception_4a/5x5_reduce" top: "inception_4a/5x5" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 48 kernel_size: 5 pad: 2 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4a/relu_5x5" type: RELU bottom: "inception_4a/5x5" top: "inception_4a/5x5" } layers { name: "inception_4a/pool" type: POOLING bottom: "pool3/3x3_s2" top: "inception_4a/pool" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layers { name: "inception_4a/pool_proj" type: CONVOLUTION bottom: "inception_4a/pool" top: "inception_4a/pool_proj" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4a/relu_pool_proj" type: RELU bottom: "inception_4a/pool_proj" top: "inception_4a/pool_proj" } layers { name: "inception_4a/output" type: CONCAT bottom: "inception_4a/1x1" bottom: "inception_4a/3x3" bottom: "inception_4a/5x5" bottom: "inception_4a/pool_proj" top: "inception_4a/output" } layers { name: "inception_4b/1x1" type: CONVOLUTION bottom: "inception_4a/output" top: "inception_4b/1x1" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 160 kernel_size: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4b/relu_1x1" type: RELU bottom: "inception_4b/1x1" top: "inception_4b/1x1" } layers { name: "inception_4b/3x3_reduce" type: CONVOLUTION bottom: "inception_4a/output" top: "inception_4b/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 112 kernel_size: 1 weight_filler { type: "xavier" std: 0.09 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4b/relu_3x3_reduce" type: RELU bottom: "inception_4b/3x3_reduce" top: "inception_4b/3x3_reduce" } layers { name: "inception_4b/3x3" type: CONVOLUTION bottom: "inception_4b/3x3_reduce" top: "inception_4b/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 224 pad: 1 kernel_size: 3 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4b/relu_3x3" type: RELU bottom: "inception_4b/3x3" top: "inception_4b/3x3" } layers { name: "inception_4b/5x5_reduce" type: CONVOLUTION bottom: "inception_4a/output" top: "inception_4b/5x5_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 24 kernel_size: 1 weight_filler { type: "xavier" std: 0.2 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4b/relu_5x5_reduce" type: RELU bottom: "inception_4b/5x5_reduce" top: "inception_4b/5x5_reduce" } layers { name: "inception_4b/5x5" type: CONVOLUTION bottom: "inception_4b/5x5_reduce" top: "inception_4b/5x5" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 5 pad: 2 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4b/relu_5x5" type: RELU bottom: "inception_4b/5x5" top: "inception_4b/5x5" } layers { name: "inception_4b/pool" type: POOLING bottom: "inception_4a/output" top: "inception_4b/pool" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layers { name: "inception_4b/pool_proj" type: CONVOLUTION bottom: "inception_4b/pool" top: "inception_4b/pool_proj" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4b/relu_pool_proj" type: RELU bottom: "inception_4b/pool_proj" top: "inception_4b/pool_proj" } layers { name: "inception_4b/output" type: CONCAT bottom: "inception_4b/1x1" bottom: "inception_4b/3x3" bottom: "inception_4b/5x5" bottom: "inception_4b/pool_proj" top: "inception_4b/output" } layers { name: "inception_4c/1x1" type: CONVOLUTION bottom: "inception_4b/output" top: "inception_4c/1x1" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 kernel_size: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4c/relu_1x1" type: RELU bottom: "inception_4c/1x1" top: "inception_4c/1x1" } layers { name: "inception_4c/3x3_reduce" type: CONVOLUTION bottom: "inception_4b/output" top: "inception_4c/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 kernel_size: 1 weight_filler { type: "xavier" std: 0.09 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4c/relu_3x3_reduce" type: RELU bottom: "inception_4c/3x3_reduce" top: "inception_4c/3x3_reduce" } layers { name: "inception_4c/3x3" type: CONVOLUTION bottom: "inception_4c/3x3_reduce" top: "inception_4c/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 256 pad: 1 kernel_size: 3 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4c/relu_3x3" type: RELU bottom: "inception_4c/3x3" top: "inception_4c/3x3" } layers { name: "inception_4c/5x5_reduce" type: CONVOLUTION bottom: "inception_4b/output" top: "inception_4c/5x5_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 24 kernel_size: 1 weight_filler { type: "xavier" std: 0.2 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4c/relu_5x5_reduce" type: RELU bottom: "inception_4c/5x5_reduce" top: "inception_4c/5x5_reduce" } layers { name: "inception_4c/5x5" type: CONVOLUTION bottom: "inception_4c/5x5_reduce" top: "inception_4c/5x5" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 5 pad: 2 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4c/relu_5x5" type: RELU bottom: "inception_4c/5x5" top: "inception_4c/5x5" } layers { name: "inception_4c/pool" type: POOLING bottom: "inception_4b/output" top: "inception_4c/pool" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layers { name: "inception_4c/pool_proj" type: CONVOLUTION bottom: "inception_4c/pool" top: "inception_4c/pool_proj" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4c/relu_pool_proj" type: RELU bottom: "inception_4c/pool_proj" top: "inception_4c/pool_proj" } layers { name: "inception_4c/output" type: CONCAT bottom: "inception_4c/1x1" bottom: "inception_4c/3x3" bottom: "inception_4c/5x5" bottom: "inception_4c/pool_proj" top: "inception_4c/output" } layers { name: "inception_4d/1x1" type: CONVOLUTION bottom: "inception_4c/output" top: "inception_4d/1x1" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 112 kernel_size: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4d/relu_1x1" type: RELU bottom: "inception_4d/1x1" top: "inception_4d/1x1" } layers { name: "inception_4d/3x3_reduce" type: CONVOLUTION bottom: "inception_4c/output" top: "inception_4d/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 144 kernel_size: 1 weight_filler { type: "xavier" std: 0.09 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4d/relu_3x3_reduce" type: RELU bottom: "inception_4d/3x3_reduce" top: "inception_4d/3x3_reduce" } layers { name: "inception_4d/3x3" type: CONVOLUTION bottom: "inception_4d/3x3_reduce" top: "inception_4d/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 288 pad: 1 kernel_size: 3 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4d/relu_3x3" type: RELU bottom: "inception_4d/3x3" top: "inception_4d/3x3" } layers { name: "inception_4d/5x5_reduce" type: CONVOLUTION bottom: "inception_4c/output" top: "inception_4d/5x5_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 32 kernel_size: 1 weight_filler { type: "xavier" std: 0.2 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4d/relu_5x5_reduce" type: RELU bottom: "inception_4d/5x5_reduce" top: "inception_4d/5x5_reduce" } layers { name: "inception_4d/5x5" type: CONVOLUTION bottom: "inception_4d/5x5_reduce" top: "inception_4d/5x5" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 pad: 2 kernel_size: 5 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4d/relu_5x5" type: RELU bottom: "inception_4d/5x5" top: "inception_4d/5x5" } layers { name: "inception_4d/pool" type: POOLING bottom: "inception_4c/output" top: "inception_4d/pool" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layers { name: "inception_4d/pool_proj" type: CONVOLUTION bottom: "inception_4d/pool" top: "inception_4d/pool_proj" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 64 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4d/relu_pool_proj" type: RELU bottom: "inception_4d/pool_proj" top: "inception_4d/pool_proj" } layers { name: "inception_4d/output" type: CONCAT bottom: "inception_4d/1x1" bottom: "inception_4d/3x3" bottom: "inception_4d/5x5" bottom: "inception_4d/pool_proj" top: "inception_4d/output" } layers { name: "inception_4e/1x1" type: CONVOLUTION bottom: "inception_4d/output" top: "inception_4e/1x1" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 256 kernel_size: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4e/relu_1x1" type: RELU bottom: "inception_4e/1x1" top: "inception_4e/1x1" } layers { name: "inception_4e/3x3_reduce" type: CONVOLUTION bottom: "inception_4d/output" top: "inception_4e/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 160 kernel_size: 1 weight_filler { type: "xavier" std: 0.09 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4e/relu_3x3_reduce" type: RELU bottom: "inception_4e/3x3_reduce" top: "inception_4e/3x3_reduce" } layers { name: "inception_4e/3x3" type: CONVOLUTION bottom: "inception_4e/3x3_reduce" top: "inception_4e/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 320 kernel_size: 3 pad: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4e/relu_3x3" type: RELU bottom: "inception_4e/3x3" top: "inception_4e/3x3" } layers { name: "inception_4e/5x5_reduce" type: CONVOLUTION bottom: "inception_4d/output" top: "inception_4e/5x5_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 32 kernel_size: 1 weight_filler { type: "xavier" std: 0.2 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4e/relu_5x5_reduce" type: RELU bottom: "inception_4e/5x5_reduce" top: "inception_4e/5x5_reduce" } layers { name: "inception_4e/5x5" type: CONVOLUTION bottom: "inception_4e/5x5_reduce" top: "inception_4e/5x5" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 pad: 2 kernel_size: 5 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4e/relu_5x5" type: RELU bottom: "inception_4e/5x5" top: "inception_4e/5x5" } layers { name: "inception_4e/pool" type: POOLING bottom: "inception_4d/output" top: "inception_4e/pool" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layers { name: "inception_4e/pool_proj" type: CONVOLUTION bottom: "inception_4e/pool" top: "inception_4e/pool_proj" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_4e/relu_pool_proj" type: RELU bottom: "inception_4e/pool_proj" top: "inception_4e/pool_proj" } layers { name: "inception_4e/output" type: CONCAT bottom: "inception_4e/1x1" bottom: "inception_4e/3x3" bottom: "inception_4e/5x5" bottom: "inception_4e/pool_proj" top: "inception_4e/output" } layers { name: "pool4/3x3_s2" type: POOLING bottom: "inception_4e/output" top: "pool4/3x3_s2" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layers { name: "inception_5a/1x1" type: CONVOLUTION bottom: "pool4/3x3_s2" top: "inception_5a/1x1" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 256 kernel_size: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5a/relu_1x1" type: RELU bottom: "inception_5a/1x1" top: "inception_5a/1x1" } layers { name: "inception_5a/3x3_reduce" type: CONVOLUTION bottom: "pool4/3x3_s2" top: "inception_5a/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 160 kernel_size: 1 weight_filler { type: "xavier" std: 0.09 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5a/relu_3x3_reduce" type: RELU bottom: "inception_5a/3x3_reduce" top: "inception_5a/3x3_reduce" } layers { name: "inception_5a/3x3" type: CONVOLUTION bottom: "inception_5a/3x3_reduce" top: "inception_5a/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 320 kernel_size: 3 pad: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5a/relu_3x3" type: RELU bottom: "inception_5a/3x3" top: "inception_5a/3x3" } layers { name: "inception_5a/5x5_reduce" type: CONVOLUTION bottom: "pool4/3x3_s2" top: "inception_5a/5x5_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 32 kernel_size: 1 weight_filler { type: "xavier" std: 0.2 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5a/relu_5x5_reduce" type: RELU bottom: "inception_5a/5x5_reduce" top: "inception_5a/5x5_reduce" } layers { name: "inception_5a/5x5" type: CONVOLUTION bottom: "inception_5a/5x5_reduce" top: "inception_5a/5x5" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 kernel_size: 5 pad: 2 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5a/relu_5x5" type: RELU bottom: "inception_5a/5x5" top: "inception_5a/5x5" } layers { name: "inception_5a/pool" type: POOLING bottom: "pool4/3x3_s2" top: "inception_5a/pool" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layers { name: "inception_5a/pool_proj" type: CONVOLUTION bottom: "inception_5a/pool" top: "inception_5a/pool_proj" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5a/relu_pool_proj" type: RELU bottom: "inception_5a/pool_proj" top: "inception_5a/pool_proj" } layers { name: "inception_5a/output" type: CONCAT bottom: "inception_5a/1x1" bottom: "inception_5a/3x3" bottom: "inception_5a/5x5" bottom: "inception_5a/pool_proj" top: "inception_5a/output" } layers { name: "inception_5b/1x1" type: CONVOLUTION bottom: "inception_5a/output" top: "inception_5b/1x1" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 384 kernel_size: 1 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5b/relu_1x1" type: RELU bottom: "inception_5b/1x1" top: "inception_5b/1x1" } layers { name: "inception_5b/3x3_reduce" type: CONVOLUTION bottom: "inception_5a/output" top: "inception_5b/3x3_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 192 kernel_size: 1 weight_filler { type: "xavier" std: 0.09 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5b/relu_3x3_reduce" type: RELU bottom: "inception_5b/3x3_reduce" top: "inception_5b/3x3_reduce" } layers { name: "inception_5b/3x3" type: CONVOLUTION bottom: "inception_5b/3x3_reduce" top: "inception_5b/3x3" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 384 pad: 1 kernel_size: 3 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5b/relu_3x3" type: RELU bottom: "inception_5b/3x3" top: "inception_5b/3x3" } layers { name: "inception_5b/5x5_reduce" type: CONVOLUTION bottom: "inception_5a/output" top: "inception_5b/5x5_reduce" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 48 kernel_size: 1 weight_filler { type: "xavier" std: 0.2 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5b/relu_5x5_reduce" type: RELU bottom: "inception_5b/5x5_reduce" top: "inception_5b/5x5_reduce" } layers { name: "inception_5b/5x5" type: CONVOLUTION bottom: "inception_5b/5x5_reduce" top: "inception_5b/5x5" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 pad: 2 kernel_size: 5 weight_filler { type: "xavier" std: 0.03 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5b/relu_5x5" type: RELU bottom: "inception_5b/5x5" top: "inception_5b/5x5" } layers { name: "inception_5b/pool" type: POOLING bottom: "inception_5a/output" top: "inception_5b/pool" pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } } layers { name: "inception_5b/pool_proj" type: CONVOLUTION bottom: "inception_5b/pool" top: "inception_5b/pool_proj" blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 128 kernel_size: 1 weight_filler { type: "xavier" std: 0.1 } bias_filler { type: "constant" value: 0.2 } } } layers { name: "inception_5b/relu_pool_proj" type: RELU bottom: "inception_5b/pool_proj" top: "inception_5b/pool_proj" } layers { name: "inception_5b/output" type: CONCAT bottom: "inception_5b/1x1" bottom: "inception_5b/3x3" bottom: "inception_5b/5x5" bottom: "inception_5b/pool_proj" top: "inception_5b/output" } layers { name: "pool5/7x7_s1" type: POOLING bottom: "inception_5b/output" top: "pool5/7x7_s1" pooling_param { pool: AVE kernel_size: 7 stride: 1 } } layers { name: "fc6" type: INNER_PRODUCT bottom: "pool5/7x7_s1" top: "fc6" inner_product_param { num_output: 1000 } } layers { name: "fc6/relu" type: RELU bottom: "fc6" top: "fc6" }