name: "CaffeNet"
layer {
 name: "data"
 type: "Data"
 top: "data"
 top: "label"
 include {
  phase: TRAIN
 }
 transform_param {
  mirror: true
  crop_size: 227
  mean_file: "testWithCaffeNet/caffenet_train_mean.binaryproto"
 }
# mean pixel / channel-wise mean instead of mean image
# Â transform_param {
# Â Â crop_size: 227
# Â Â mean_value: 104
# Â Â mean_value: 117
# Â Â mean_value: 123
# Â Â mirror: true
# Â }
 data_param {
  source: "testWithCaffeNet/test_train_lmdb"
  batch_size: 256
  backend: LMDB
 }
}
layer {
 name: "data"
 type: "Data"
 top: "data"
 top: "label"
 include {
  phase: TEST
 }
 transform_param {
  mirror: false
  crop_size: 227
  mean_file: "testWithCaffeNet/caffenet_train_mean.binaryproto"
 }
# mean pixel / channel-wise mean instead of mean image
# Â transform_param {
# Â Â crop_size: 227
# Â Â mean_value: 104
# Â Â mean_value: 117
# Â Â mean_value: 123
# Â Â mirror: false
# Â }
 data_param {
  source: "testWithCaffeNet/test_val_lmdb"
  batch_size: 50
  backend: LMDB
 }
}
layer {
 name: "conv1"
 type: "Convolution"
 bottom: "data"
 top: "conv1"
 param {
  lr_mult: 1
  decay_mult: 1
 }
 param {
  lr_mult: 2
  decay_mult: 0
 }
 convolution_param {
  num_output: 96
  kernel_size: 11
  stride: 4
  weight_filler {
   type: "gaussian"
   std: 0.01
  }
  bias_filler {
   type: "constant"
   value: 0
  }
 }
}
layer {
 name: "relu1"
 type: "ReLU"
 bottom: "conv1"
 top: "conv1"
}
layer {
 name: "pool1"
 type: "Pooling"
 bottom: "conv1"
 top: "pool1"
 pooling_param {
  pool: MAX
  kernel_size: 3
  stride: 2
 }
}
layer {
 name: "norm1"
 type: "LRN"
 bottom: "pool1"
 top: "norm1"
 lrn_param {
  local_size: 5
  alpha: 0.0001
  beta: 0.75
 }
}
layer {
 name: "conv2"
 type: "Convolution"
 bottom: "norm1"
 top: "conv2"
 param {
  lr_mult: 1
  decay_mult: 1
 }
 param {
  lr_mult: 2
  decay_mult: 0
 }
 convolution_param {
  num_output: 256
  pad: 2
  kernel_size: 5
  group: 2
  weight_filler {
   type: "gaussian"
   std: 0.01
  }
  bias_filler {
   type: "constant"
   value: 1
  }
 }
}
layer {
 name: "relu2"
 type: "ReLU"
 bottom: "conv2"
 top: "conv2"
}
layer {
 name: "pool2"
 type: "Pooling"
 bottom: "conv2"
 top: "pool2"
 pooling_param {
  pool: MAX
  kernel_size: 3
  stride: 2
 }
}
layer {
 name: "norm2"
 type: "LRN"
 bottom: "pool2"
 top: "norm2"
 lrn_param {
  local_size: 5
  alpha: 0.0001
  beta: 0.75
 }
}
layer {
 name: "conv3"
 type: "Convolution"
 bottom: "norm2"
 top: "conv3"
 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: "gaussian"
   std: 0.01
  }
  bias_filler {
   type: "constant"
   value: 0
  }
 }
}
layer {
 name: "relu3"
 type: "ReLU"
 bottom: "conv3"
 top: "conv3"
}
layer {
 name: "conv4"
 type: "Convolution"
 bottom: "conv3"
 top: "conv4"
 param {
  lr_mult: 1
  decay_mult: 1
 }
 param {
  lr_mult: 2
  decay_mult: 0
 }
 convolution_param {
  num_output: 384
  pad: 1
  kernel_size: 3
  group: 2
  weight_filler {
   type: "gaussian"
   std: 0.01
  }
  bias_filler {
   type: "constant"
   value: 1
  }
 }
}
layer {
 name: "relu4"
 type: "ReLU"
 bottom: "conv4"
 top: "conv4"
}
layer {
 name: "conv5"
 type: "Convolution"
 bottom: "conv4"
 top: "conv5"
 param {
  lr_mult: 1
  decay_mult: 1
 }
 param {
  lr_mult: 2
  decay_mult: 0
 }
 convolution_param {
  num_output: 256
  pad: 1
  kernel_size: 3
  group: 2
  weight_filler {
   type: "gaussian"
   std: 0.01
  }
  bias_filler {
   type: "constant"
   value: 1
  }
 }
}
layer {
 name: "relu5"
 type: "ReLU"
 bottom: "conv5"
 top: "conv5"
}
layer {
 name: "pool5"
 type: "Pooling"
 bottom: "conv5"
 top: "pool5"
 pooling_param {
  pool: MAX
  kernel_size: 3
  stride: 2
 }
}
layer {
 name: "fc6"
 type: "InnerProduct"
 bottom: "pool5"
 top: "fc6"
 param {
  lr_mult: 1
  decay_mult: 1
 }
 param {
  lr_mult: 2
  decay_mult: 0
 }
 inner_product_param {
  num_output: 4096
  weight_filler {
   type: "gaussian"
   std: 0.005
  }
  bias_filler {
   type: "constant"
   value: 1
  }
 }
}
layer {
 name: "relu6"
 type: "ReLU"
 bottom: "fc6"
 top: "fc6"
}
layer {
 name: "drop6"
 type: "Dropout"
 bottom: "fc6"
 top: "fc6"
 dropout_param {
  dropout_ratio: 0.5
 }
}
layer {
 name: "fc7"
 type: "InnerProduct"
 bottom: "fc6"
 top: "fc7"
 param {
  lr_mult: 1
  decay_mult: 1
 }
 param {
  lr_mult: 2
  decay_mult: 0
 }
 inner_product_param {
  num_output: 4096
  weight_filler {
   type: "gaussian"
   std: 0.005
  }
  bias_filler {
   type: "constant"
   value: 1
  }
 }
}
layer {
 name: "relu7"
 type: "ReLU"
 bottom: "fc7"
 top: "fc7"
}
layer {
 name: "drop7"
 type: "Dropout"
 bottom: "fc7"
 top: "fc7"
 dropout_param {
  dropout_ratio: 0.5
 }
}
layer {
 name: "fc8-test"
 type: "InnerProduct"
 bottom: "fc7"
 top: "fc8-test"
 param {
  lr_mult: 1
  decay_mult: 1
 }
 param {
  lr_mult: 2
  decay_mult: 0
 }
 inner_product_param {
  num_output: 2
  weight_filler {
   type: "gaussian"
   std: 0.01
  }
  bias_filler {
   type: "constant"
   value: 0
  }
 }
}
layer {
 name: "accuracy"
 type: "Accuracy"
 bottom: "fc8-test"
 bottom: "label"
 top: "accuracy"
 include {
  phase: TEST
 }
}
layer {
 name: "loss"
 type: "SoftmaxWithLoss"
 bottom: "fc8-test"
 bottom: "label"
 top: "loss"