VGG very deep 19 layer prototxt

1. 改动版本

name: "VGG_ILSVRC_19_layer"


layer {
  name: "data"
  type: "ImageData"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
 
  image_data_param {
    batch_size: 12
    source: "../../fine_tuning_data/HAT_fineTuning_data/train_data_fineTuning.txt"
    root_folder: "../../fine_tuning_data/HAT_fineTuning_data/train_data/"
  }
}


layer {
  name: "data"
  type: "ImageData"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  transform_param {
    mirror: false
  }
  image_data_param {
    batch_size: 10
    source: "../../fine_tuning_data/HAT_fineTuning_data/test_data_fineTuning.txt"
    root_folder: "../../fine_tuning_data/HAT_fineTuning_data/test_data/"
  }
}


layer {
  bottom:"data" 
  top:"conv1_1" 
  name:"conv1_1" 
  type:"Convolution" 
  convolution_param {
    num_output:64 
    pad:1
    kernel_size:3 
  }
}
layer {
  bottom:"conv1_1" 
  top:"conv1_1" 
  name:"relu1_1" 
  type:"ReLU" 
}
layer {
  bottom:"conv1_1" 
  top:"conv1_2" 
  name:"conv1_2" 
  type:"Convolution" 
  convolution_param {
    num_output:64 
    pad:1
    kernel_size:3
  }
}
layer {
  bottom:"conv1_2" 
  top:"conv1_2" 
  name:"relu1_2" 
  type:"ReLU" 
}
layer {
  bottom:"conv1_2" 
  top:"pool1" 
  name:"pool1" 
  type:"Pooling" 
  pooling_param {
    pool:MAX 
    kernel_size:2
    stride:2 
  }
}
layer {
  bottom:"pool1" 
  top:"conv2_1" 
  name:"conv2_1" 
  type:"Convolution" 
  convolution_param {
    num_output:128
    pad:1
    kernel_size:3
  }
}
layer {
  bottom:"conv2_1" 
  top:"conv2_1" 
  name:"relu2_1" 
  type:"ReLU" 
}
layer {
  bottom:"conv2_1" 
  top:"conv2_2" 
  name:"conv2_2" 
  type:"Convolution" 
  convolution_param {
    num_output:128 
    pad:1
    kernel_size:3
  }
}
layer {
  bottom:"conv2_2" 
  top:"conv2_2" 
  name:"relu2_2" 
  type:"ReLU" 
}
layer {
  bottom:"conv2_2" 
  top:"pool2" 
  name:"pool2" 
  type:"Pooling" 
  pooling_param {
    pool:MAX
    kernel_size:2 
    stride:2 
  }
}
layer {
  bottom:"pool2" 
  top:"conv3_1" 
  name: "conv3_1"
  type:"Convolution" 
  convolution_param {
    num_output:256 
    pad:1
    kernel_size:3
  }
}
layer {
  bottom:"conv3_1" 
  top:"conv3_1" 
  name:"relu3_1" 
  type:"ReLU" 
}
layer {
  bottom:"conv3_1" 
  top:"conv3_2" 
  name:"conv3_2" 
  type:"Convolution" 
  convolution_param {
    num_output:256
    pad:1
    kernel_size:3
  }
}
layer {
  bottom:"conv3_2" 
  top:"conv3_2" 
  name:"relu3_2" 
  type:"ReLU" 
}
layer {
  bottom:"conv3_2" 
  top:"conv3_3" 
  name:"conv3_3" 
  type:"Convolution" 
  convolution_param {
    num_output:256 
    pad:1 
    kernel_size:3
  }
}
layer {
  bottom:"conv3_3" 
  top:"conv3_3"
  name:"relu3_3" 
  type:"ReLU" 
}
layer {
  bottom:"conv3_3" 
  top:"conv3_4" 
  name:"conv3_4" 
  type:"Convolution" 
  convolution_param {
    num_output:256
    pad:1
    kernel_size:3
  }
}
layer {
  bottom:"conv3_4" 
  top:"conv3_4" 
  name:"relu3_4" 
  type:"ReLU" 
}
layer {
  bottom:"conv3_4" 
  top:"pool3" 
  name:"pool3" 
  type:"Pooling" 
  pooling_param {
    pool:MAX 
    kernel_size: 2
    stride: 2
  }
}
layer {
  bottom:"pool3" 
  top:"conv4_1" 
  name:"conv4_1" 
  type:"Convolution" 
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layer {
  bottom:"conv4_1" 
  top:"conv4_1" 
  name:"relu4_1" 
  type:"ReLU" 
}
layer {
  bottom:"conv4_1" 
  top:"conv4_2" 
  name:"conv4_2" 
  type:"Convolution" 
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layer {
  bottom:"conv4_2" 
  top:"conv4_2" 
  name:"relu4_2" 
  type:"ReLU" 
}
layer {
  bottom:"conv4_2" 
  top:"conv4_3" 
  name:"conv4_3" 
  type:"Convolution" 
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layer {
  bottom:"conv4_3" 
  top:"conv4_3" 
  name:"relu4_3" 
  type:"ReLU" 
}
layer {
  bottom:"conv4_3" 
  top:"conv4_4" 
  name:"conv4_4" 
  type:"Convolution" 
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layer {
  bottom:"conv4_4" 
  top:"conv4_4" 
  name:"relu4_4" 
  type:"ReLU" 
}
layer {
  bottom:"conv4_4" 
  top:"pool4" 
  name:"pool4" 
  type:"Pooling" 
  pooling_param {
    pool:MAX
    kernel_size: 2
    stride: 2
  }
}
layer {
  bottom:"pool4" 
  top:"conv5_1" 
  name:"conv5_1" 
  type:"Convolution" 
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layer {
  bottom:"conv5_1" 
  top:"conv5_1" 
  name:"relu5_1" 
  type:"ReLU" 
}
layer {
  bottom:"conv5_1" 
  top:"conv5_2" 
  name:"conv5_2" 
  type:"Convolution" 
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layer {
  bottom:"conv5_2" 
  top:"conv5_2" 
  name:"relu5_2" 
  type:"ReLU" 
}
layer {
  bottom:"conv5_2" 
  top:"conv5_3" 
  name:"conv5_3" 
  type:"Convolution" 
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layer {
  bottom:"conv5_3" 
  top:"conv5_3" 
  name:"relu5_3" 
  type:"ReLU" 
}
layer {
  bottom:"conv5_3" 
  top:"conv5_4" 
  name:"conv5_4" 
  type:"Convolution" 
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layer {
  bottom:"conv5_4" 
  top:"conv5_4" 
  name:"relu5_4" 
  type:"ReLU" 
}
layer {
  bottom:"conv5_4" 
  top:"pool5" 
  name:"pool5" 
  type:"Pooling" 
  pooling_param {
    pool:MAX 
    kernel_size: 2
    stride: 2
  }
}
layer {
  bottom:"pool5" 
  top:"fc6_" 
  name:"fc6_" 
  type:"InnerProduct" 
  inner_product_param {
    num_output: 4096
  }
}
layer {
  bottom:"fc6_" 
  top:"fc6_" 
  name:"relu6" 
  type:"ReLU" 
}
layer {
  bottom:"fc6_" 
  top:"fc6_" 
  name:"drop6" 
  type:"Dropout" 
  dropout_param {
    dropout_ratio: 0.5
  }
}
layer {
  bottom:"fc6_" 
  top:"fc7" 
  name:"fc7" 
  type:"InnerProduct" 
  inner_product_param {
    num_output: 4096
  }
}
layer {
  bottom:"fc7" 
  top:"fc7" 
  name:"relu7" 
  type:"ReLU" 
}
layer {
  bottom:"fc7" 
  top:"fc7" 
  name:"drop7" 
  type:"Dropout" 
  dropout_param {
    dropout_ratio: 0.5
  }
}
layer {
  bottom:"fc7" 
  top:"fc8_" 
  name:"fc8_" 
  type:"InnerProduct" 
  inner_product_param {
    num_output: 27
  }
}


layer {
  name: "sigmoid"
  type: "Sigmoid"
  bottom: "fc8_"
  top: "fc8_"
}


 layer {
   name: "accuracy"
   type: "Accuracy"
   bottom: "fc8_"
   bottom: "label"
   top: "accuracy"
   include {
     phase: TEST
   }
 }


layer {
  name: "loss"
  type: "EuclideanLoss"
  bottom: "fc8_"
  bottom: "label"
  top: "loss"
}



2.原版

VGG_ILSVRC_19_layers_train_val.prototxt
name: "VGG_ILSVRC_19_layers"
layers {
  name: "data"
  type: DATA
  include {
    phase: TRAIN
  }
 transform_param {
    crop_size: 224
    mean_value: 104
    mean_value: 117
    mean_value: 123
    mirror: true
 }
 data_param {
    source: "data/ilsvrc12/ilsvrc12_train_lmdb"
    batch_size: 64
    backend: LMDB
  }
  top: "data"
  top: "label"
}
layers {
  name: "data"
  type: DATA
  include {
    phase: TEST
  }
 transform_param {
    crop_size: 224
    mean_value: 104
    mean_value: 117
    mean_value: 123
    mirror: false
 }
 data_param {
    source: "data/ilsvrc12/ilsvrc12_val_lmdb"
    batch_size: 50
    backend: LMDB
  }
  top: "data"
  top: "label"
}
layers {
  bottom: "data"
  top: "conv1_1"
  name: "conv1_1"
  type: CONVOLUTION
  convolution_param {
    num_output: 64
    pad: 1
    kernel_size: 3
  } 
}
layers {
  bottom: "conv1_1"
  top: "conv1_1"
  name: "relu1_1"
  type: RELU
}
layers {
  bottom: "conv1_1"
  top: "conv1_2"
  name: "conv1_2"
  type: CONVOLUTION
  convolution_param {
    num_output: 64
    pad: 1
    kernel_size: 3
  }
}
layers {
  bottom: "conv1_2"
  top: "conv1_2"
  name: "relu1_2"
  type: RELU
}
layers {
  bottom: "conv1_2"
  top: "pool1"
  name: "pool1"
  type: POOLING
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
  }
}
layers {
  bottom: "pool1"
  top: "conv2_1"
  name: "conv2_1"
  type: CONVOLUTION
  convolution_param {
    num_output: 128
    pad: 1
    kernel_size: 3
  } 
}
layers {
  bottom: "conv2_1"
  top: "conv2_1"
  name: "relu2_1"
  type: RELU
}
layers {
  bottom: "conv2_1"
  top: "conv2_2"
  name: "conv2_2"
  type: CONVOLUTION
  convolution_param {
    num_output: 128
    pad: 1
    kernel_size: 3
  }
}
layers {
  bottom: "conv2_2"
  top: "conv2_2"
  name: "relu2_2"
  type: RELU
}
layers {
  bottom: "conv2_2"
  top: "pool2"
  name: "pool2"
  type: POOLING
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
  }
}
layers {
  bottom: "pool2"
  top: "conv3_1"
  name: "conv3_1"
  type: CONVOLUTION
  convolution_param {
    num_output: 256
    pad: 1
    kernel_size: 3
  }
}
layers {
  bottom: "conv3_1"
  top: "conv3_1"
  name: "relu3_1"
  type: RELU
}
layers {
  bottom: "conv3_1"
  top: "conv3_2"
  name: "conv3_2"
  type: CONVOLUTION
  convolution_param {
    num_output: 256
    pad: 1
    kernel_size: 3
  }
}
layers {
  bottom: "conv3_2"
  top: "conv3_2"
  name: "relu3_2"
  type: RELU
}
layers {
  bottom: "conv3_2"
  top: "conv3_3"
  name: "conv3_3"
  type: CONVOLUTION
  convolution_param {
    num_output: 256
    pad: 1
    kernel_size: 3
  }
}
layers {
  bottom: "conv3_3"
  top: "conv3_3"
  name: "relu3_3"
  type: RELU
}
layers {
  bottom: "conv3_3"
  top: "conv3_4"
  name: "conv3_4"
  type: CONVOLUTION
  convolution_param {
    num_output: 256
    pad: 1
    kernel_size: 3
  }
}
layers {
  bottom: "conv3_4"
  top: "conv3_4"
  name: "relu3_4"
  type: RELU
}
layers {
  bottom: "conv3_4"
  top: "pool3"
  name: "pool3"
  type: POOLING
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
  }
}
layers {
  bottom: "pool3"
  top: "conv4_1"
  name: "conv4_1"
  type: CONVOLUTION
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  } 
}
layers {
  bottom: "conv4_1"
  top: "conv4_1"
  name: "relu4_1"
  type: RELU
}
layers {
  bottom: "conv4_1"
  top: "conv4_2"
  name: "conv4_2"
  type: CONVOLUTION
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layers {
  bottom: "conv4_2"
  top: "conv4_2"
  name: "relu4_2"
  type: RELU
}
layers {
  bottom: "conv4_2"
  top: "conv4_3"
  name: "conv4_3"
  type: CONVOLUTION
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  } 
}
layers {
  bottom: "conv4_3"
  top: "conv4_3"
  name: "relu4_3"
  type: RELU
}
layers {
  bottom: "conv4_3"
  top: "conv4_4"
  name: "conv4_4"
  type: CONVOLUTION
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  } 
}
layers {
  bottom: "conv4_4"
  top: "conv4_4"
  name: "relu4_4"
  type: RELU
}
layers {
  bottom: "conv4_4"
  top: "pool4"
  name: "pool4"
  type: POOLING
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
  }
}
layers {
  bottom: "pool4"
  top: "conv5_1"
  name: "conv5_1"
  type: CONVOLUTION
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  }
}
layers {
  bottom: "conv5_1"
  top: "conv5_1"
  name: "relu5_1"
  type: RELU
}
layers {
  bottom: "conv5_1"
  top: "conv5_2"
  name: "conv5_2"
  type: CONVOLUTION
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  } 
}
layers {
  bottom: "conv5_2"
  top: "conv5_2"
  name: "relu5_2"
  type: RELU
}
layers {
  bottom: "conv5_2"
  top: "conv5_3"
  name: "conv5_3"
  type: CONVOLUTION
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  } 
}
layers {
  bottom: "conv5_3"
  top: "conv5_3"
  name: "relu5_3"
  type: RELU
}
layers {
  bottom: "conv5_3"
  top: "conv5_4"
  name: "conv5_4"
  type: CONVOLUTION
  convolution_param {
    num_output: 512
    pad: 1
    kernel_size: 3
  } 
}
layers {
  bottom: "conv5_4"
  top: "conv5_4"
  name: "relu5_4"
  type: RELU
}
layers {
  bottom: "conv5_4"
  top: "pool5"
  name: "pool5"
  type: POOLING
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
  }
}
layers {
  bottom: "pool5"
  top: "fc6"
  name: "fc6"
  type: INNER_PRODUCT
  inner_product_param {
    num_output: 4096
  }
}
layers {
  bottom: "fc6"
  top: "fc6"
  name: "relu6"
  type: RELU
}
layers {
  bottom: "fc6"
  top: "fc6"
  name: "drop6"
  type: DROPOUT
  dropout_param {
    dropout_ratio: 0.5
  }
}
layers {
  bottom: "fc6"
  top: "fc7"
  name: "fc7"
  type: INNER_PRODUCT
  inner_product_param {
    num_output: 4096
  }
}
layers {
  bottom: "fc7"
  top: "fc7"
  name: "relu7"
  type: RELU
}
layers {
  bottom: "fc7"
  top: "fc7"
  name: "drop7"
  type: DROPOUT
  dropout_param {
    dropout_ratio: 0.5
  }
}
layers {
  name: "fc8"
  bottom: "fc7"
  top: "fc8"
  type: INNER_PRODUCT
  inner_product_param {
    num_output: 1000
  }
}
layers {
  name: "loss"
  type: SOFTMAX_LOSS
  bottom: "fc8"
  bottom: "label"
  top: "loss/loss"
}
layers {
  name: "accuracy/top1"
  type: ACCURACY
  bottom: "fc8"
  bottom: "label"
  top: "accuracy@1"
  include: { phase: TEST }
  accuracy_param {
    top_k: 1
  }
}
layers {
  name: "accuracy/top5"
  type: ACCURACY
  bottom: "fc8"
  bottom: "label"
  top: "accuracy@5"
  include: { phase: TEST }
  accuracy_param {
    top_k: 5
  }
}


你可能感兴趣的:(DNN,classification,caffe,VGG)