Simshang
11/22/2016 - 6:52 AM

GoogleNet

name: "GoogleNet"
layer {
  name : "data"
  type : "Data"
  top : "data"
  top : "label"
  include {
    phase : TRAIN
  }
  transform_param {
    mirror : true
    crop_size : 224
    mean_value : 104
    mean_value : 117
    mean_value : 123
  }
  data_param {
    source : "examples/imagenet/ilsvrc12_train_lmdb"
    batch_size : 32
    backend : LMDB
  }
}
layer {
  name : "data"
  type : "Data"
  top : "data"
  top : "label"
  include {
    phase : TEST
  }
  transform_param {
    mirror : false
    crop_size : 224
    mean_value : 104
    mean_value : 117
    mean_value : 123
  }
  data_param {
    source : "examples/imagenet/ilsvrc12_val_lmdb"
    batch_size : 50
    backend : LMDB
  }
}
layer {
  name : "conv1/7x7_s2"
  type : "Convolution"
  bottom : "data"
  top : "conv1/7x7_s2"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    pad : 3
    kernel_size : 7
    stride : 2
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "conv1/relu_7x7"
  type : "ReLU"
  bottom : "conv1/7x7_s2"
  top : "conv1/7x7_s2"
}
layer {
  name : "pool1/3x3_s2"
  type : "Pooling"
  bottom : "conv1/7x7_s2"
  top : "pool1/3x3_s2"
  pooling_param {
    pool : MAX
    kernel_size : 3
    stride : 2
  }
}
layer {
  name : "pool1/norm1"
  type : "LRN"
  bottom : "pool1/3x3_s2"
  top : "pool1/norm1"
  lrn_param {
    local_size : 5
    alpha : 0.0001
    beta : 0.75
  }
}
layer {
  name : "conv2/3x3_reduce"
  type : "Convolution"
  bottom : "pool1/norm1"
  top : "conv2/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "conv2/relu_3x3_reduce"
  type : "ReLU"
  bottom : "conv2/3x3_reduce"
  top : "conv2/3x3_reduce"
}
layer {
  name : "conv2/3x3"
  type : "Convolution"
  bottom : "conv2/3x3_reduce"
  top : "conv2/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 192
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "conv2/relu_3x3"
  type : "ReLU"
  bottom : "conv2/3x3"
  top : "conv2/3x3"
}
layer {
  name : "conv2/norm2"
  type : "LRN"
  bottom : "conv2/3x3"
  top : "conv2/norm2"
  lrn_param {
    local_size : 5
    alpha : 0.0001
    beta : 0.75
  }
}
layer {
  name : "pool2/3x3_s2"
  type : "Pooling"
  bottom : "conv2/norm2"
  top : "pool2/3x3_s2"
  pooling_param {
    pool : MAX
    kernel_size : 3
    stride : 2
  }
}
layer {
  name : "inception_3a/1x1"
  type : "Convolution"
  bottom : "pool2/3x3_s2"
  top : "inception_3a/1x1"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3a/relu_1x1"
  type : "ReLU"
  bottom : "inception_3a/1x1"
  top : "inception_3a/1x1"
}
layer {
  name : "inception_3a/3x3_reduce"
  type : "Convolution"
  bottom : "pool2/3x3_s2"
  top : "inception_3a/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 96
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3a/relu_3x3_reduce"
  type : "ReLU"
  bottom : "inception_3a/3x3_reduce"
  top : "inception_3a/3x3_reduce"
}
layer {
  name : "inception_3a/3x3"
  type : "Convolution"
  bottom : "inception_3a/3x3_reduce"
  top : "inception_3a/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3a/relu_3x3"
  type : "ReLU"
  bottom : "inception_3a/3x3"
  top : "inception_3a/3x3"
}
layer {
  name : "inception_3a/5x5_reduce"
  type : "Convolution"
  bottom : "pool2/3x3_s2"
  top : "inception_3a/5x5_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 16
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3a/relu_5x5_reduce"
  type : "ReLU"
  bottom : "inception_3a/5x5_reduce"
  top : "inception_3a/5x5_reduce"
}
layer {
  name : "inception_3a/5x5"
  type : "Convolution"
  bottom : "inception_3a/5x5_reduce"
  top : "inception_3a/5x5"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 32
    pad : 2
    kernel_size : 5
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3a/relu_5x5"
  type : "ReLU"
  bottom : "inception_3a/5x5"
  top : "inception_3a/5x5"
}
layer {
  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
  }
}
layer {
  name : "inception_3a/pool_proj"
  type : "Convolution"
  bottom : "inception_3a/pool"
  top : "inception_3a/pool_proj"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 32
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3a/relu_pool_proj"
  type : "ReLU"
  bottom : "inception_3a/pool_proj"
  top : "inception_3a/pool_proj"
}
layer {
  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"
}
layer {
  name : "inception_3b/1x1"
  type : "Convolution"
  bottom : "inception_3a/output"
  top : "inception_3b/1x1"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3b/relu_1x1"
  type : "ReLU"
  bottom : "inception_3b/1x1"
  top : "inception_3b/1x1"
}
layer {
  name : "inception_3b/3x3_reduce"
  type : "Convolution"
  bottom : "inception_3a/output"
  top : "inception_3b/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3b/relu_3x3_reduce"
  type : "ReLU"
  bottom : "inception_3b/3x3_reduce"
  top : "inception_3b/3x3_reduce"
}
layer {
  name : "inception_3b/3x3"
  type : "Convolution"
  bottom : "inception_3b/3x3_reduce"
  top : "inception_3b/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 192
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3b/relu_3x3"
  type : "ReLU"
  bottom : "inception_3b/3x3"
  top : "inception_3b/3x3"
}
layer {
  name : "inception_3b/5x5_reduce"
  type : "Convolution"
  bottom : "inception_3a/output"
  top : "inception_3b/5x5_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 32
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3b/relu_5x5_reduce"
  type : "ReLU"
  bottom : "inception_3b/5x5_reduce"
  top : "inception_3b/5x5_reduce"
}
layer {
  name : "inception_3b/5x5"
  type : "Convolution"
  bottom : "inception_3b/5x5_reduce"
  top : "inception_3b/5x5"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 96
    pad : 2
    kernel_size : 5
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3b/relu_5x5"
  type : "ReLU"
  bottom : "inception_3b/5x5"
  top : "inception_3b/5x5"
}
layer {
  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
  }
}
layer {
  name : "inception_3b/pool_proj"
  type : "Convolution"
  bottom : "inception_3b/pool"
  top : "inception_3b/pool_proj"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_3b/relu_pool_proj"
  type : "ReLU"
  bottom : "inception_3b/pool_proj"
  top : "inception_3b/pool_proj"
}
layer {
  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"
}
layer {
  name : "pool3/3x3_s2"
  type : "Pooling"
  bottom : "inception_3b/output"
  top : "pool3/3x3_s2"
  pooling_param {
    pool : MAX
    kernel_size : 3
    stride : 2
  }
}
layer {
  name : "inception_4a/1x1"
  type : "Convolution"
  bottom : "pool3/3x3_s2"
  top : "inception_4a/1x1"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 192
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4a/relu_1x1"
  type : "ReLU"
  bottom : "inception_4a/1x1"
  top : "inception_4a/1x1"
}
layer {
  name : "inception_4a/3x3_reduce"
  type : "Convolution"
  bottom : "pool3/3x3_s2"
  top : "inception_4a/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 96
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4a/relu_3x3_reduce"
  type : "ReLU"
  bottom : "inception_4a/3x3_reduce"
  top : "inception_4a/3x3_reduce"
}
layer {
  name : "inception_4a/3x3"
  type : "Convolution"
  bottom : "inception_4a/3x3_reduce"
  top : "inception_4a/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 208
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4a/relu_3x3"
  type : "ReLU"
  bottom : "inception_4a/3x3"
  top : "inception_4a/3x3"
}
layer {
  name : "inception_4a/5x5_reduce"
  type : "Convolution"
  bottom : "pool3/3x3_s2"
  top : "inception_4a/5x5_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 16
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4a/relu_5x5_reduce"
  type : "ReLU"
  bottom : "inception_4a/5x5_reduce"
  top : "inception_4a/5x5_reduce"
}
layer {
  name : "inception_4a/5x5"
  type : "Convolution"
  bottom : "inception_4a/5x5_reduce"
  top : "inception_4a/5x5"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 48
    pad : 2
    kernel_size : 5
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4a/relu_5x5"
  type : "ReLU"
  bottom : "inception_4a/5x5"
  top : "inception_4a/5x5"
}
layer {
  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
  }
}
layer {
  name : "inception_4a/pool_proj"
  type : "Convolution"
  bottom : "inception_4a/pool"
  top : "inception_4a/pool_proj"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4a/relu_pool_proj"
  type : "ReLU"
  bottom : "inception_4a/pool_proj"
  top : "inception_4a/pool_proj"
}
layer {
  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"
}
layer {
  name : "loss1/ave_pool"
  type : "Pooling"
  bottom : "inception_4a/output"
  top : "loss1/ave_pool"
  pooling_param {
    pool : AVE
    kernel_size : 5
    stride : 3
  }
}
layer {
  name : "loss1/conv"
  type : "Convolution"
  bottom : "loss1/ave_pool"
  top : "loss1/conv"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "loss1/relu_conv"
  type : "ReLU"
  bottom : "loss1/conv"
  top : "loss1/conv"
}
layer {
  name : "loss1/fc"
  type : "InnerProduct"
  bottom : "loss1/conv"
  top : "loss1/fc"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  inner_product_param {
    num_output : 1024
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "loss1/relu_fc"
  type : "ReLU"
  bottom : "loss1/fc"
  top : "loss1/fc"
}
layer {
  name : "loss1/drop_fc"
  type : "Dropout"
  bottom : "loss1/fc"
  top : "loss1/fc"
  dropout_param {
    dropout_ratio : 0.7
  }
}
layer {
  name : "loss1/classifier"
  type : "InnerProduct"
  bottom : "loss1/fc"
  top : "loss1/classifier"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  inner_product_param {
    num_output : 1000
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0
    }
  }
}
layer {
  name : "loss1/loss"
  type : "SoftmaxWithLoss"
  bottom : "loss1/classifier"
  bottom : "label"
  top : "loss1/loss1"
  loss_weight : 0.3
}
layer {
  name : "loss1/top-1"
  type : "Accuracy"
  bottom : "loss1/classifier"
  bottom : "label"
  top : "loss1/top-1"
  include {
    phase : TEST
  }
}
layer {
  name : "loss1/top-5"
  type : "Accuracy"
  bottom : "loss1/classifier"
  bottom : "label"
  top : "loss1/top-5"
  include {
    phase : TEST
  }
  accuracy_param {
    top_k : 5
  }
}
layer {
  name : "inception_4b/1x1"
  type : "Convolution"
  bottom : "inception_4a/output"
  top : "inception_4b/1x1"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 160
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4b/relu_1x1"
  type : "ReLU"
  bottom : "inception_4b/1x1"
  top : "inception_4b/1x1"
}
layer {
  name : "inception_4b/3x3_reduce"
  type : "Convolution"
  bottom : "inception_4a/output"
  top : "inception_4b/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 112
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4b/relu_3x3_reduce"
  type : "ReLU"
  bottom : "inception_4b/3x3_reduce"
  top : "inception_4b/3x3_reduce"
}
layer {
  name : "inception_4b/3x3"
  type : "Convolution"
  bottom : "inception_4b/3x3_reduce"
  top : "inception_4b/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 224
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4b/relu_3x3"
  type : "ReLU"
  bottom : "inception_4b/3x3"
  top : "inception_4b/3x3"
}
layer {
  name : "inception_4b/5x5_reduce"
  type : "Convolution"
  bottom : "inception_4a/output"
  top : "inception_4b/5x5_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 24
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4b/relu_5x5_reduce"
  type : "ReLU"
  bottom : "inception_4b/5x5_reduce"
  top : "inception_4b/5x5_reduce"
}
layer {
  name : "inception_4b/5x5"
  type : "Convolution"
  bottom : "inception_4b/5x5_reduce"
  top : "inception_4b/5x5"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    pad : 2
    kernel_size : 5
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4b/relu_5x5"
  type : "ReLU"
  bottom : "inception_4b/5x5"
  top : "inception_4b/5x5"
}
layer {
  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
  }
}
layer {
  name : "inception_4b/pool_proj"
  type : "Convolution"
  bottom : "inception_4b/pool"
  top : "inception_4b/pool_proj"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4b/relu_pool_proj"
  type : "ReLU"
  bottom : "inception_4b/pool_proj"
  top : "inception_4b/pool_proj"
}
layer {
  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"
}
layer {
  name : "inception_4c/1x1"
  type : "Convolution"
  bottom : "inception_4b/output"
  top : "inception_4c/1x1"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4c/relu_1x1"
  type : "ReLU"
  bottom : "inception_4c/1x1"
  top : "inception_4c/1x1"
}
layer {
  name : "inception_4c/3x3_reduce"
  type : "Convolution"
  bottom : "inception_4b/output"
  top : "inception_4c/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4c/relu_3x3_reduce"
  type : "ReLU"
  bottom : "inception_4c/3x3_reduce"
  top : "inception_4c/3x3_reduce"
}
layer {
  name : "inception_4c/3x3"
  type : "Convolution"
  bottom : "inception_4c/3x3_reduce"
  top : "inception_4c/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 256
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4c/relu_3x3"
  type : "ReLU"
  bottom : "inception_4c/3x3"
  top : "inception_4c/3x3"
}
layer {
  name : "inception_4c/5x5_reduce"
  type : "Convolution"
  bottom : "inception_4b/output"
  top : "inception_4c/5x5_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 24
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4c/relu_5x5_reduce"
  type : "ReLU"
  bottom : "inception_4c/5x5_reduce"
  top : "inception_4c/5x5_reduce"
}
layer {
  name : "inception_4c/5x5"
  type : "Convolution"
  bottom : "inception_4c/5x5_reduce"
  top : "inception_4c/5x5"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    pad : 2
    kernel_size : 5
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4c/relu_5x5"
  type : "ReLU"
  bottom : "inception_4c/5x5"
  top : "inception_4c/5x5"
}
layer {
  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
  }
}
layer {
  name : "inception_4c/pool_proj"
  type : "Convolution"
  bottom : "inception_4c/pool"
  top : "inception_4c/pool_proj"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4c/relu_pool_proj"
  type : "ReLU"
  bottom : "inception_4c/pool_proj"
  top : "inception_4c/pool_proj"
}
layer {
  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"
}
layer {
  name : "inception_4d/1x1"
  type : "Convolution"
  bottom : "inception_4c/output"
  top : "inception_4d/1x1"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 112
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4d/relu_1x1"
  type : "ReLU"
  bottom : "inception_4d/1x1"
  top : "inception_4d/1x1"
}
layer {
  name : "inception_4d/3x3_reduce"
  type : "Convolution"
  bottom : "inception_4c/output"
  top : "inception_4d/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 144
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4d/relu_3x3_reduce"
  type : "ReLU"
  bottom : "inception_4d/3x3_reduce"
  top : "inception_4d/3x3_reduce"
}
layer {
  name : "inception_4d/3x3"
  type : "Convolution"
  bottom : "inception_4d/3x3_reduce"
  top : "inception_4d/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 288
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4d/relu_3x3"
  type : "ReLU"
  bottom : "inception_4d/3x3"
  top : "inception_4d/3x3"
}
layer {
  name : "inception_4d/5x5_reduce"
  type : "Convolution"
  bottom : "inception_4c/output"
  top : "inception_4d/5x5_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 32
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4d/relu_5x5_reduce"
  type : "ReLU"
  bottom : "inception_4d/5x5_reduce"
  top : "inception_4d/5x5_reduce"
}
layer {
  name : "inception_4d/5x5"
  type : "Convolution"
  bottom : "inception_4d/5x5_reduce"
  top : "inception_4d/5x5"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    pad : 2
    kernel_size : 5
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4d/relu_5x5"
  type : "ReLU"
  bottom : "inception_4d/5x5"
  top : "inception_4d/5x5"
}
layer {
  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
  }
}
layer {
  name : "inception_4d/pool_proj"
  type : "Convolution"
  bottom : "inception_4d/pool"
  top : "inception_4d/pool_proj"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 64
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4d/relu_pool_proj"
  type : "ReLU"
  bottom : "inception_4d/pool_proj"
  top : "inception_4d/pool_proj"
}
layer {
  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"
}
layer {
  name : "loss2/ave_pool"
  type : "Pooling"
  bottom : "inception_4d/output"
  top : "loss2/ave_pool"
  pooling_param {
    pool : AVE
    kernel_size : 5
    stride : 3
  }
}
layer {
  name : "loss2/conv"
  type : "Convolution"
  bottom : "loss2/ave_pool"
  top : "loss2/conv"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "loss2/relu_conv"
  type : "ReLU"
  bottom : "loss2/conv"
  top : "loss2/conv"
}
layer {
  name : "loss2/fc"
  type : "InnerProduct"
  bottom : "loss2/conv"
  top : "loss2/fc"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  inner_product_param {
    num_output : 1024
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "loss2/relu_fc"
  type : "ReLU"
  bottom : "loss2/fc"
  top : "loss2/fc"
}
layer {
  name : "loss2/drop_fc"
  type : "Dropout"
  bottom : "loss2/fc"
  top : "loss2/fc"
  dropout_param {
    dropout_ratio : 0.7
  }
}
layer {
  name : "loss2/classifier"
  type : "InnerProduct"
  bottom : "loss2/fc"
  top : "loss2/classifier"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  inner_product_param {
    num_output : 1000
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0
    }
  }
}
layer {
  name : "loss2/loss"
  type : "SoftmaxWithLoss"
  bottom : "loss2/classifier"
  bottom : "label"
  top : "loss2/loss1"
  loss_weight : 0.3
}
layer {
  name : "loss2/top-1"
  type : "Accuracy"
  bottom : "loss2/classifier"
  bottom : "label"
  top : "loss2/top-1"
  include {
    phase : TEST
  }
}
layer {
  name : "loss2/top-5"
  type : "Accuracy"
  bottom : "loss2/classifier"
  bottom : "label"
  top : "loss2/top-5"
  include {
    phase : TEST
  }
  accuracy_param {
    top_k : 5
  }
}
layer {
  name : "inception_4e/1x1"
  type : "Convolution"
  bottom : "inception_4d/output"
  top : "inception_4e/1x1"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 256
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4e/relu_1x1"
  type : "ReLU"
  bottom : "inception_4e/1x1"
  top : "inception_4e/1x1"
}
layer {
  name : "inception_4e/3x3_reduce"
  type : "Convolution"
  bottom : "inception_4d/output"
  top : "inception_4e/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 160
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4e/relu_3x3_reduce"
  type : "ReLU"
  bottom : "inception_4e/3x3_reduce"
  top : "inception_4e/3x3_reduce"
}
layer {
  name : "inception_4e/3x3"
  type : "Convolution"
  bottom : "inception_4e/3x3_reduce"
  top : "inception_4e/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 320
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4e/relu_3x3"
  type : "ReLU"
  bottom : "inception_4e/3x3"
  top : "inception_4e/3x3"
}
layer {
  name : "inception_4e/5x5_reduce"
  type : "Convolution"
  bottom : "inception_4d/output"
  top : "inception_4e/5x5_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 32
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4e/relu_5x5_reduce"
  type : "ReLU"
  bottom : "inception_4e/5x5_reduce"
  top : "inception_4e/5x5_reduce"
}
layer {
  name : "inception_4e/5x5"
  type : "Convolution"
  bottom : "inception_4e/5x5_reduce"
  top : "inception_4e/5x5"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    pad : 2
    kernel_size : 5
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4e/relu_5x5"
  type : "ReLU"
  bottom : "inception_4e/5x5"
  top : "inception_4e/5x5"
}
layer {
  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
  }
}
layer {
  name : "inception_4e/pool_proj"
  type : "Convolution"
  bottom : "inception_4e/pool"
  top : "inception_4e/pool_proj"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_4e/relu_pool_proj"
  type : "ReLU"
  bottom : "inception_4e/pool_proj"
  top : "inception_4e/pool_proj"
}
layer {
  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"
}
layer {
  name : "pool4/3x3_s2"
  type : "Pooling"
  bottom : "inception_4e/output"
  top : "pool4/3x3_s2"
  pooling_param {
    pool : MAX
    kernel_size : 3
    stride : 2
  }
}
layer {
  name : "inception_5a/1x1"
  type : "Convolution"
  bottom : "pool4/3x3_s2"
  top : "inception_5a/1x1"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 256
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5a/relu_1x1"
  type : "ReLU"
  bottom : "inception_5a/1x1"
  top : "inception_5a/1x1"
}
layer {
  name : "inception_5a/3x3_reduce"
  type : "Convolution"
  bottom : "pool4/3x3_s2"
  top : "inception_5a/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 160
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5a/relu_3x3_reduce"
  type : "ReLU"
  bottom : "inception_5a/3x3_reduce"
  top : "inception_5a/3x3_reduce"
}
layer {
  name : "inception_5a/3x3"
  type : "Convolution"
  bottom : "inception_5a/3x3_reduce"
  top : "inception_5a/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 320
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5a/relu_3x3"
  type : "ReLU"
  bottom : "inception_5a/3x3"
  top : "inception_5a/3x3"
}
layer {
  name : "inception_5a/5x5_reduce"
  type : "Convolution"
  bottom : "pool4/3x3_s2"
  top : "inception_5a/5x5_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 32
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5a/relu_5x5_reduce"
  type : "ReLU"
  bottom : "inception_5a/5x5_reduce"
  top : "inception_5a/5x5_reduce"
}
layer {
  name : "inception_5a/5x5"
  type : "Convolution"
  bottom : "inception_5a/5x5_reduce"
  top : "inception_5a/5x5"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    pad : 2
    kernel_size : 5
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5a/relu_5x5"
  type : "ReLU"
  bottom : "inception_5a/5x5"
  top : "inception_5a/5x5"
}
layer {
  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
  }
}
layer {
  name : "inception_5a/pool_proj"
  type : "Convolution"
  bottom : "inception_5a/pool"
  top : "inception_5a/pool_proj"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5a/relu_pool_proj"
  type : "ReLU"
  bottom : "inception_5a/pool_proj"
  top : "inception_5a/pool_proj"
}
layer {
  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"
}
layer {
  name : "inception_5b/1x1"
  type : "Convolution"
  bottom : "inception_5a/output"
  top : "inception_5b/1x1"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 384
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5b/relu_1x1"
  type : "ReLU"
  bottom : "inception_5b/1x1"
  top : "inception_5b/1x1"
}
layer {
  name : "inception_5b/3x3_reduce"
  type : "Convolution"
  bottom : "inception_5a/output"
  top : "inception_5b/3x3_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 192
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5b/relu_3x3_reduce"
  type : "ReLU"
  bottom : "inception_5b/3x3_reduce"
  top : "inception_5b/3x3_reduce"
}
layer {
  name : "inception_5b/3x3"
  type : "Convolution"
  bottom : "inception_5b/3x3_reduce"
  top : "inception_5b/3x3"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 384
    pad : 1
    kernel_size : 3
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5b/relu_3x3"
  type : "ReLU"
  bottom : "inception_5b/3x3"
  top : "inception_5b/3x3"
}
layer {
  name : "inception_5b/5x5_reduce"
  type : "Convolution"
  bottom : "inception_5a/output"
  top : "inception_5b/5x5_reduce"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 48
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5b/relu_5x5_reduce"
  type : "ReLU"
  bottom : "inception_5b/5x5_reduce"
  top : "inception_5b/5x5_reduce"
}
layer {
  name : "inception_5b/5x5"
  type : "Convolution"
  bottom : "inception_5b/5x5_reduce"
  top : "inception_5b/5x5"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    pad : 2
    kernel_size : 5
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5b/relu_5x5"
  type : "ReLU"
  bottom : "inception_5b/5x5"
  top : "inception_5b/5x5"
}
layer {
  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
  }
}
layer {
  name : "inception_5b/pool_proj"
  type : "Convolution"
  bottom : "inception_5b/pool"
  top : "inception_5b/pool_proj"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  convolution_param {
    num_output : 128
    kernel_size : 1
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0.2
    }
  }
}
layer {
  name : "inception_5b/relu_pool_proj"
  type : "ReLU"
  bottom : "inception_5b/pool_proj"
  top : "inception_5b/pool_proj"
}
layer {
  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"
}
layer {
  name : "pool5/7x7_s1"
  type : "Pooling"
  bottom : "inception_5b/output"
  top : "pool5/7x7_s1"
  pooling_param {
    pool : AVE
    kernel_size : 7
    stride : 1
  }
}
layer {
  name : "pool5/drop_7x7_s1"
  type : "Dropout"
  bottom : "pool5/7x7_s1"
  top : "pool5/7x7_s1"
  dropout_param {
    dropout_ratio : 0.4
  }
}
layer {
  name : "loss3/classifier"
  type : "InnerProduct"
  bottom : "pool5/7x7_s1"
  top : "loss3/classifier"
  param {
    lr_mult : 1
    decay_mult : 1
  }
  param {
    lr_mult : 2
    decay_mult : 0
  }
  inner_product_param {
    num_output : 1000
    weight_filler {
      type : "xavier"
    }
    bias_filler {
      type : "constant"
      value : 0
    }
  }
}
layer {
  name : "loss3/loss3"
  type : "SoftmaxWithLoss"
  bottom : "loss3/classifier"
  bottom : "label"
  top : "loss3/loss3"
  loss_weight : 1
}
layer {
  name : "loss3/top-1"
  type : "Accuracy"
  bottom : "loss3/classifier"
  bottom : "label"
  top : "loss3/top-1"
  include {
    phase : TEST
  }
}
layer {
  name : "loss3/top-5"
  type : "Accuracy"
  bottom : "loss3/classifier"
  bottom : "label"
  top : "loss3/top-5"
  include {
    phase : TEST
  }
  accuracy_param {
    top_k : 5
  }
}