Caffe_Linux学习笔记(二)细粒度图像分类

来源:互联网 发布:论坛软件有哪些 编辑:程序博客网 时间:2024/05/19 09:10

0、参考文献

参考我上一次在Win10上跑的实验

1、跳至第五步

2、耐心等待完成

3、计算均值并保存

结果:

4、synset_words.txt文件

因为有196类汽车,没必要一一写清楚,我就用数字代替类,唯独31类是我的测试选择,故如图

5、deploy.txt文件

name: "GoogleNet"layer {  name: "data"  type: "Input"  top: "data"  input_param { shape: { dim: 10 dim: 3 dim: 224 dim: 224 } }}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: "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: "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_car"  type: "InnerProduct"  bottom: "pool5/7x7_s1"  top: "loss3/classifier_car"  param {    lr_mult: 10    decay_mult: 1  }  param {    lr_mult: 20    decay_mult: 0  }  inner_product_param {    num_output: 196    weight_filler {      type: "xavier"    }    bias_filler {      type: "constant"      value: 0    }  }}layer {  name: "prob"  type: "Softmax"  bottom: "loss3/classifier_car"  top: "prob"}

6、测试图片(宝马v5)


7、C++方法

结果:

成功啦~告一段落~

阅读全文
0 0
原创粉丝点击