caffe入门 从vgg16结构学习caffe

来源:互联网 发布:淘宝动漫壁纸店铺推荐 编辑:程序博客网 时间:2024/06/11 02:14
//注释了一些参数,还有一些看到了那里在注释,下面是ssd的网络模型
name: "VGG_VOC0712_SSD_300x300_deploy"input: "data"input_shape {  dim: 1  dim: 3  dim: 300  dim: 300}layer {  name: "conv1_1"  type: "Convolution"  bottom: "data"  top: "conv1_1"  param {    lr_mult: 1.0   //权值学习率,需要乘上solver.prototxt    decay_mult: 1.0  //权值衰减  }  param {    lr_mult: 2.0   //偏置学习率,一般是权值的两倍    decay_mult: 0.0  }  convolution_param {    num_output: 64   //卷积核数目    pad: 1            //边界补0,范围为1,保持图像原大小,默认为0,如果kernelsize=5,那么pad=2,能保持原图像不变    kernel_size: 3   //内核大小    weight_filler {      type: "xavier" //权值初始方法,也可以用gaussian http://blog.csdn.net/shuzfan/article/details/51338178 每一层输出的方差尽可能相同    }    bias_filler {      type: "constant"//偏置,全部为0      value: 0.0    }  }}layer {      name: "relu1_1"   //激活层 方法用relu  type: "ReLU"  bottom: "conv1_1"  top: "conv1_1"}layer {  name: "conv1_2"  type: "Convolution"  bottom: "conv1_1"  top: "conv1_2"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 64    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu1_2"  type: "ReLU"  bottom: "conv1_2"  top: "conv1_2"}layer {  name: "pool1"  type: "Pooling"  bottom: "conv1_2"  top: "pool1"  pooling_param {    pool: MAX    kernel_size: 2    stride: 2  }}layer {  name: "conv2_1"  type: "Convolution"  bottom: "pool1"  top: "conv2_1"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 128    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu2_1"  type: "ReLU"  bottom: "conv2_1"  top: "conv2_1"}layer {  name: "conv2_2"  type: "Convolution"  bottom: "conv2_1"  top: "conv2_2"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 128    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu2_2"  type: "ReLU"  bottom: "conv2_2"  top: "conv2_2"}layer {  name: "pool2"  type: "Pooling"  bottom: "conv2_2"  top: "pool2"  pooling_param {    pool: MAX    kernel_size: 2    stride: 2  }}layer {  name: "conv3_1"  type: "Convolution"  bottom: "pool2"  top: "conv3_1"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 256    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu3_1"  type: "ReLU"  bottom: "conv3_1"  top: "conv3_1"}layer {  name: "conv3_2"  type: "Convolution"  bottom: "conv3_1"  top: "conv3_2"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 256    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu3_2"  type: "ReLU"  bottom: "conv3_2"  top: "conv3_2"}layer {  name: "conv3_3"  type: "Convolution"  bottom: "conv3_2"  top: "conv3_3"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 256    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu3_3"  type: "ReLU"  bottom: "conv3_3"  top: "conv3_3"}layer {  name: "pool3"  type: "Pooling"  bottom: "conv3_3"  top: "pool3"  pooling_param {    pool: MAX    kernel_size: 2    stride: 2  }}layer {  name: "conv4_1"  type: "Convolution"  bottom: "pool3"  top: "conv4_1"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 512    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu4_1"  type: "ReLU"  bottom: "conv4_1"  top: "conv4_1"}layer {  name: "conv4_2"  type: "Convolution"  bottom: "conv4_1"  top: "conv4_2"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 512    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu4_2"  type: "ReLU"  bottom: "conv4_2"  top: "conv4_2"}layer {  name: "conv4_3"  type: "Convolution"  bottom: "conv4_2"  top: "conv4_3"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 512    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu4_3"  type: "ReLU"  bottom: "conv4_3"  top: "conv4_3"}layer {  name: "pool4"  type: "Pooling"  bottom: "conv4_3"  top: "pool4"  pooling_param {    pool: MAX    kernel_size: 2    stride: 2  }}layer {  name: "conv5_1"  type: "Convolution"  bottom: "pool4"  top: "conv5_1"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 512    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }    dilation: 1  }}layer {  name: "relu5_1"  type: "ReLU"  bottom: "conv5_1"  top: "conv5_1"}layer {  name: "conv5_2"  type: "Convolution"  bottom: "conv5_1"  top: "conv5_2"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 512    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }    dilation: 1  }}layer {  name: "relu5_2"  type: "ReLU"  bottom: "conv5_2"  top: "conv5_2"}layer {  name: "conv5_3"  type: "Convolution"  bottom: "conv5_2"  top: "conv5_3"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 512    pad: 1    kernel_size: 3    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }    dilation: 1  }}layer {  name: "relu5_3"  type: "ReLU"  bottom: "conv5_3"  top: "conv5_3"}layer {  name: "pool5"   //和vgg16的差别,修改了输出  type: "Pooling"  bottom: "conv5_3"  top: "pool5"  pooling_param {    //注意这个pooling层,步长为1,pad为1那么pool层保持原fmap不变,所以300*300的图像到这里是19*19(300/16)    pool: MAX    kernel_size: 3    stride: 1    pad: 1  }}layer {  name: "fc6"   //全连接层  type: "Convolution"  bottom: "pool5"  top: "fc6"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 1024    pad: 6    kernel_size: 3   //6×(3-1)+1=13,所以pad=6    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }    dilation: 6   //膨胀系数 http://blog.csdn.net/jiongnima/article/details/69487519 这篇博客讲的很清楚,理解为放大,没有的地方变成0  }}layer {  name: "relu6"  type: "ReLU"  bottom: "fc6"  top: "fc6"}layer {  name: "fc7"  type: "Convolution"  bottom: "fc6"  top: "fc7"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 1024    kernel_size: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "relu7"  type: "ReLU"  bottom: "fc7"  top: "fc7"}layer {  name: "conv6_1"  type: "Convolution"  bottom: "fc7"  top: "conv6_1"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 256    pad: 0    kernel_size: 1    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv6_1_relu"  type: "ReLU"  bottom: "conv6_1"  top: "conv6_1"}layer {  name: "conv6_2"  type: "Convolution"  bottom: "conv6_1"  top: "conv6_2"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 512    pad: 1    kernel_size: 3    stride: 2    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv6_2_relu"  type: "ReLU"  bottom: "conv6_2"  top: "conv6_2"}layer {  name: "conv7_1"  type: "Convolution"  bottom: "conv6_2"  top: "conv7_1"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 128    pad: 0    kernel_size: 1    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv7_1_relu"  type: "ReLU"  bottom: "conv7_1"  top: "conv7_1"}layer {  name: "conv7_2"  type: "Convolution"  bottom: "conv7_1"  top: "conv7_2"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 256    pad: 1    kernel_size: 3    stride: 2    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv7_2_relu"  type: "ReLU"  bottom: "conv7_2"  top: "conv7_2"}layer {  name: "conv8_1"  type: "Convolution"  bottom: "conv7_2"  top: "conv8_1"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 128    pad: 0    kernel_size: 1    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv8_1_relu"  type: "ReLU"  bottom: "conv8_1"  top: "conv8_1"}layer {  name: "conv8_2"  type: "Convolution"  bottom: "conv8_1"  top: "conv8_2"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 256    pad: 0    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv8_2_relu"  type: "ReLU"  bottom: "conv8_2"  top: "conv8_2"}layer {  name: "conv9_1"  type: "Convolution"  bottom: "conv8_2"  top: "conv9_1"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 128    pad: 0    kernel_size: 1    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv9_1_relu"  type: "ReLU"  bottom: "conv9_1"  top: "conv9_1"}layer {  name: "conv9_2"  type: "Convolution"  bottom: "conv9_1"  top: "conv9_2"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 256    pad: 0    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv9_2_relu"  type: "ReLU"  bottom: "conv9_2"  top: "conv9_2"}layer {  name: "conv4_3_norm"  type: "Normalize"     http://blog.csdn.net/zqjackking/article/details/69938901对normalize层的详细介绍  bottom: "conv4_3"  top: "conv4_3_norm"  norm_param {    across_spatial: false  不跨层归一化,就是每一个fmap单独归一化    scale_filler {      type: "constant"      value: 20.0    }    channel_shared: false 参数不共享  }}layer {  name: "conv4_3_norm_mbox_loc"  type: "Convolution"  bottom: "conv4_3_norm"  top: "conv4_3_norm_mbox_loc"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 16    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv4_3_norm_mbox_loc_perm"  type: "Permute"  bottom: "conv4_3_norm_mbox_loc"  top: "conv4_3_norm_mbox_loc_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv4_3_norm_mbox_loc_flat"  type: "Flatten"  bottom: "conv4_3_norm_mbox_loc_perm"  top: "conv4_3_norm_mbox_loc_flat"  flatten_param {    axis: 1  }}layer {  name: "conv4_3_norm_mbox_conf"  type: "Convolution"  bottom: "conv4_3_norm"  top: "conv4_3_norm_mbox_conf"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 8    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv4_3_norm_mbox_conf_perm"  type: "Permute"  bottom: "conv4_3_norm_mbox_conf"  top: "conv4_3_norm_mbox_conf_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv4_3_norm_mbox_conf_flat"  type: "Flatten"  bottom: "conv4_3_norm_mbox_conf_perm"  top: "conv4_3_norm_mbox_conf_flat"  flatten_param {    axis: 1  }}layer {  name: "conv4_3_norm_mbox_priorbox"  type: "PriorBox"  bottom: "conv4_3_norm"  bottom: "data"  top: "conv4_3_norm_mbox_priorbox"  prior_box_param {    min_size: 30.0    max_size: 60.0    aspect_ratio: 2.0    flip: true    clip: false    variance: 0.10000000149    variance: 0.10000000149    variance: 0.20000000298    variance: 0.20000000298    step: 8.0    offset: 0.5  }}layer {  name: "fc7_mbox_loc"  type: "Convolution"  bottom: "fc7"  top: "fc7_mbox_loc"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 24    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "fc7_mbox_loc_perm"  type: "Permute"  bottom: "fc7_mbox_loc"  top: "fc7_mbox_loc_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "fc7_mbox_loc_flat"  type: "Flatten"  bottom: "fc7_mbox_loc_perm"  top: "fc7_mbox_loc_flat"  flatten_param {    axis: 1  }}layer {  name: "fc7_mbox_conf"  type: "Convolution"  bottom: "fc7"  top: "fc7_mbox_conf"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 12    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "fc7_mbox_conf_perm"  type: "Permute"  bottom: "fc7_mbox_conf"  top: "fc7_mbox_conf_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "fc7_mbox_conf_flat"  type: "Flatten"  bottom: "fc7_mbox_conf_perm"  top: "fc7_mbox_conf_flat"  flatten_param {    axis: 1  }}layer {  name: "fc7_mbox_priorbox"  type: "PriorBox"  bottom: "fc7"  bottom: "data"  top: "fc7_mbox_priorbox"  prior_box_param {    min_size: 60.0    max_size: 111.0    aspect_ratio: 2.0    aspect_ratio: 3.0    flip: true    clip: false    variance: 0.10000000149    variance: 0.10000000149    variance: 0.20000000298    variance: 0.20000000298    step: 16.0    offset: 0.5  }}layer {  name: "conv6_2_mbox_loc"  type: "Convolution"  bottom: "conv6_2"  top: "conv6_2_mbox_loc"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 24    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv6_2_mbox_loc_perm"  type: "Permute"  bottom: "conv6_2_mbox_loc"  top: "conv6_2_mbox_loc_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv6_2_mbox_loc_flat"  type: "Flatten"  bottom: "conv6_2_mbox_loc_perm"  top: "conv6_2_mbox_loc_flat"  flatten_param {    axis: 1  }}layer {  name: "conv6_2_mbox_conf"  type: "Convolution"  bottom: "conv6_2"  top: "conv6_2_mbox_conf"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 12    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv6_2_mbox_conf_perm"  type: "Permute"  bottom: "conv6_2_mbox_conf"  top: "conv6_2_mbox_conf_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv6_2_mbox_conf_flat"  type: "Flatten"  bottom: "conv6_2_mbox_conf_perm"  top: "conv6_2_mbox_conf_flat"  flatten_param {    axis: 1  }}layer {  name: "conv6_2_mbox_priorbox"  type: "PriorBox"  bottom: "conv6_2"  bottom: "data"  top: "conv6_2_mbox_priorbox"  prior_box_param {    min_size: 111.0    max_size: 162.0    aspect_ratio: 2.0    aspect_ratio: 3.0    flip: true    clip: false    variance: 0.10000000149    variance: 0.10000000149    variance: 0.20000000298    variance: 0.20000000298    step: 32.0    offset: 0.5  }}layer {  name: "conv7_2_mbox_loc"  type: "Convolution"  bottom: "conv7_2"  top: "conv7_2_mbox_loc"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 24    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv7_2_mbox_loc_perm"  type: "Permute"  bottom: "conv7_2_mbox_loc"  top: "conv7_2_mbox_loc_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv7_2_mbox_loc_flat"  type: "Flatten"  bottom: "conv7_2_mbox_loc_perm"  top: "conv7_2_mbox_loc_flat"  flatten_param {    axis: 1  }}layer {  name: "conv7_2_mbox_conf"  type: "Convolution"  bottom: "conv7_2"  top: "conv7_2_mbox_conf"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 12    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv7_2_mbox_conf_perm"  type: "Permute"  bottom: "conv7_2_mbox_conf"  top: "conv7_2_mbox_conf_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv7_2_mbox_conf_flat"  type: "Flatten"  bottom: "conv7_2_mbox_conf_perm"  top: "conv7_2_mbox_conf_flat"  flatten_param {    axis: 1  }}layer {  name: "conv7_2_mbox_priorbox"  type: "PriorBox"  bottom: "conv7_2"  bottom: "data"  top: "conv7_2_mbox_priorbox"  prior_box_param {    min_size: 162.0    max_size: 213.0    aspect_ratio: 2.0    aspect_ratio: 3.0    flip: true    clip: false    variance: 0.10000000149    variance: 0.10000000149    variance: 0.20000000298    variance: 0.20000000298    step: 64.0    offset: 0.5  }}layer {  name: "conv8_2_mbox_loc"  type: "Convolution"  bottom: "conv8_2"  top: "conv8_2_mbox_loc"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 16    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv8_2_mbox_loc_perm"  type: "Permute"  bottom: "conv8_2_mbox_loc"  top: "conv8_2_mbox_loc_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv8_2_mbox_loc_flat"  type: "Flatten"  bottom: "conv8_2_mbox_loc_perm"  top: "conv8_2_mbox_loc_flat"  flatten_param {    axis: 1  }}layer {  name: "conv8_2_mbox_conf"  type: "Convolution"  bottom: "conv8_2"  top: "conv8_2_mbox_conf"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 8    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv8_2_mbox_conf_perm"  type: "Permute"  bottom: "conv8_2_mbox_conf"  top: "conv8_2_mbox_conf_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv8_2_mbox_conf_flat"  type: "Flatten"  bottom: "conv8_2_mbox_conf_perm"  top: "conv8_2_mbox_conf_flat"  flatten_param {    axis: 1  }}layer {  name: "conv8_2_mbox_priorbox"  type: "PriorBox"  bottom: "conv8_2"  bottom: "data"  top: "conv8_2_mbox_priorbox"  prior_box_param {    min_size: 213.0    max_size: 264.0    aspect_ratio: 2.0    flip: true    clip: false    variance: 0.10000000149    variance: 0.10000000149    variance: 0.20000000298    variance: 0.20000000298    step: 100.0    offset: 0.5  }}layer {  name: "conv9_2_mbox_loc"  type: "Convolution"  bottom: "conv9_2"  top: "conv9_2_mbox_loc"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 16    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv9_2_mbox_loc_perm"  type: "Permute"  bottom: "conv9_2_mbox_loc"  top: "conv9_2_mbox_loc_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv9_2_mbox_loc_flat"  type: "Flatten"  bottom: "conv9_2_mbox_loc_perm"  top: "conv9_2_mbox_loc_flat"  flatten_param {    axis: 1  }}layer {  name: "conv9_2_mbox_conf"  type: "Convolution"  bottom: "conv9_2"  top: "conv9_2_mbox_conf"  param {    lr_mult: 1.0    decay_mult: 1.0  }  param {    lr_mult: 2.0    decay_mult: 0.0  }  convolution_param {    num_output: 8    pad: 1    kernel_size: 3    stride: 1    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0.0    }  }}layer {  name: "conv9_2_mbox_conf_perm"  type: "Permute"  bottom: "conv9_2_mbox_conf"  top: "conv9_2_mbox_conf_perm"  permute_param {    order: 0    order: 2    order: 3    order: 1  }}layer {  name: "conv9_2_mbox_conf_flat"  type: "Flatten"  bottom: "conv9_2_mbox_conf_perm"  top: "conv9_2_mbox_conf_flat"  flatten_param {    axis: 1  }}layer {  name: "conv9_2_mbox_priorbox"  type: "PriorBox"  bottom: "conv9_2"  bottom: "data"  top: "conv9_2_mbox_priorbox"  prior_box_param {    min_size: 264.0    max_size: 315.0    aspect_ratio: 2.0    flip: true    clip: false    variance: 0.10000000149    variance: 0.10000000149    variance: 0.20000000298    variance: 0.20000000298    step: 300.0    offset: 0.5  }}layer {  name: "mbox_loc"  type: "Concat"  bottom: "conv4_3_norm_mbox_loc_flat"  bottom: "fc7_mbox_loc_flat"  bottom: "conv6_2_mbox_loc_flat"  bottom: "conv7_2_mbox_loc_flat"  bottom: "conv8_2_mbox_loc_flat"  bottom: "conv9_2_mbox_loc_flat"  top: "mbox_loc"  concat_param {    axis: 1  }}layer {  name: "mbox_conf"  type: "Concat"  bottom: "conv4_3_norm_mbox_conf_flat"  bottom: "fc7_mbox_conf_flat"  bottom: "conv6_2_mbox_conf_flat"  bottom: "conv7_2_mbox_conf_flat"  bottom: "conv8_2_mbox_conf_flat"  bottom: "conv9_2_mbox_conf_flat"  top: "mbox_conf"  concat_param {    axis: 1  }}layer {  name: "mbox_priorbox"  type: "Concat"  bottom: "conv4_3_norm_mbox_priorbox"  bottom: "fc7_mbox_priorbox"  bottom: "conv6_2_mbox_priorbox"  bottom: "conv7_2_mbox_priorbox"  bottom: "conv8_2_mbox_priorbox"  bottom: "conv9_2_mbox_priorbox"  top: "mbox_priorbox"  concat_param {    axis: 2  }}layer {  name: "mbox_conf_reshape"  type: "Reshape"  bottom: "mbox_conf"  top: "mbox_conf_reshape"  reshape_param {    shape {      dim: 0      dim: -1      dim: 2    }  }}layer {  name: "mbox_conf_softmax"  type: "Softmax"  bottom: "mbox_conf_reshape"  top: "mbox_conf_softmax"  softmax_param {    axis: 2  }}layer {  name: "mbox_conf_flatten"  type: "Flatten"  bottom: "mbox_conf_softmax"  top: "mbox_conf_flatten"  flatten_param {    axis: 1  }}layer {  name: "detection_out"  type: "DetectionOutput"  bottom: "mbox_loc"  bottom: "mbox_conf_flatten"  bottom: "mbox_priorbox"  top: "detection_out"  include {    phase: TEST  }  detection_output_param {    num_classes: 2    share_location: true    background_label_id: 0    nms_param {      nms_threshold: 0.449999988079      top_k: 400    }    save_output_param {      output_directory: "/home/caixing/data/VOCVehdevkit/results/VEH/SSD_300x300/Main"      output_name_prefix: "comp4_det_test_"      output_format: "VOC"      label_map_file: "/home/caixing/Desktop/caffe-ssd/data/Vehicle/labelmap_voc.prototxt"      name_size_file: "/home/caixing/Desktop/caffe-ssd/data/Vehicle/test_name_size.txt"      num_test_image: 4000    }    code_type: CENTER_SIZE    keep_top_k: 200    confidence_threshold: 0.00999999977648  }}


0 0
原创粉丝点击