SSD Model example - Pipeline (Solved)


Can you provide an SSD model example ?

name: "SqueezeNet_traffic_detect_2cls_SqueezeNetSSD_300x300_deploy"
layer {
  name: "data"
  type: "MemoryData"
  top: "data"
  top: "label"
  transform_param {
  }
  data_param {
  }
  memory_data_param {
    batch_size: 1
    channels: 3
    height: 300
    width: 300
  }
  annotated_data_param {
  }
}
layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    kernel_size: 3
    stride: 2
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "relu_conv1"
  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: "fire2/squeeze1x1"
  type: "Convolution"
  bottom: "pool1"
  top: "fire2/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire2/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire2/squeeze1x1"
  top: "fire2/squeeze1x1"
}
layer {
  name: "fire2/expand1x1"
  type: "Convolution"
  bottom: "fire2/squeeze1x1"
  top: "fire2/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire2/relu_expand1x1"
  type: "ReLU"
  bottom: "fire2/expand1x1"
  top: "fire2/expand1x1"
}
layer {
  name: "fire2/expand3x3"
  type: "Convolution"
  bottom: "fire2/squeeze1x1"
  top: "fire2/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire2/relu_expand3x3"
  type: "ReLU"
  bottom: "fire2/expand3x3"
  top: "fire2/expand3x3"
}
layer {
  name: "fire2/concat"
  type: "Concat"
  bottom: "fire2/expand1x1"
  bottom: "fire2/expand3x3"
  top: "fire2/concat"
}
layer {
  name: "fire3/squeeze1x1"
  type: "Convolution"
  bottom: "fire2/concat"
  top: "fire3/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire3/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire3/squeeze1x1"
  top: "fire3/squeeze1x1"
}
layer {
  name: "fire3/expand1x1"
  type: "Convolution"
  bottom: "fire3/squeeze1x1"
  top: "fire3/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire3/relu_expand1x1"
  type: "ReLU"
  bottom: "fire3/expand1x1"
  top: "fire3/expand1x1"
}
layer {
  name: "fire3/expand3x3"
  type: "Convolution"
  bottom: "fire3/squeeze1x1"
  top: "fire3/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire3/relu_expand3x3"
  type: "ReLU"
  bottom: "fire3/expand3x3"
  top: "fire3/expand3x3"
}
layer {
  name: "fire3/concat"
  type: "Concat"
  bottom: "fire3/expand1x1"
  bottom: "fire3/expand3x3"
  top: "fire3/concat"
}
layer {
  name: "pool3"
  type: "Pooling"
  bottom: "fire3/concat"
  top: "pool3"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "fire4/squeeze1x1"
  type: "Convolution"
  bottom: "pool3"
  top: "fire4/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire4/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire4/squeeze1x1"
  top: "fire4/squeeze1x1"
}
layer {
  name: "fire4/expand1x1"
  type: "Convolution"
  bottom: "fire4/squeeze1x1"
  top: "fire4/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire4/relu_expand1x1"
  type: "ReLU"
  bottom: "fire4/expand1x1"
  top: "fire4/expand1x1"
}
layer {
  name: "fire4/expand3x3"
  type: "Convolution"
  bottom: "fire4/squeeze1x1"
  top: "fire4/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire4/relu_expand3x3"
  type: "ReLU"
  bottom: "fire4/expand3x3"
  top: "fire4/expand3x3"
}
layer {
  name: "fire4/concat"
  type: "Concat"
  bottom: "fire4/expand1x1"
  bottom: "fire4/expand3x3"
  top: "fire4/concat"
}
layer {
  name: "fire5/squeeze1x1"
  type: "Convolution"
  bottom: "fire4/concat"
  top: "fire5/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire5/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire5/squeeze1x1"
  top: "fire5/squeeze1x1"
}
layer {
  name: "fire5/expand1x1"
  type: "Convolution"
  bottom: "fire5/squeeze1x1"
  top: "fire5/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire5/relu_expand1x1"
  type: "ReLU"
  bottom: "fire5/expand1x1"
  top: "fire5/expand1x1"
}
layer {
  name: "fire5/expand3x3"
  type: "Convolution"
  bottom: "fire5/squeeze1x1"
  top: "fire5/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire5/relu_expand3x3"
  type: "ReLU"
  bottom: "fire5/expand3x3"
  top: "fire5/expand3x3"
}
layer {
  name: "fire5/concat"
  type: "Concat"
  bottom: "fire5/expand1x1"
  bottom: "fire5/expand3x3"
  top: "fire5/concat"
}
layer {
  name: "pool5"
  type: "Pooling"
  bottom: "fire5/concat"
  top: "pool5"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "fire6/squeeze1x1"
  type: "Convolution"
  bottom: "pool5"
  top: "fire6/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 48
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire6/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire6/squeeze1x1"
  top: "fire6/squeeze1x1"
}
layer {
  name: "fire6/expand1x1"
  type: "Convolution"
  bottom: "fire6/squeeze1x1"
  top: "fire6/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 192
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire6/relu_expand1x1"
  type: "ReLU"
  bottom: "fire6/expand1x1"
  top: "fire6/expand1x1"
}
layer {
  name: "fire6/expand3x3"
  type: "Convolution"
  bottom: "fire6/squeeze1x1"
  top: "fire6/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 192
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire6/relu_expand3x3"
  type: "ReLU"
  bottom: "fire6/expand3x3"
  top: "fire6/expand3x3"
}
layer {
  name: "fire6/concat"
  type: "Concat"
  bottom: "fire6/expand1x1"
  bottom: "fire6/expand3x3"
  top: "fire6/concat"
}
layer {
  name: "fire7/squeeze1x1"
  type: "Convolution"
  bottom: "fire6/concat"
  top: "fire7/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 48
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire7/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire7/squeeze1x1"
  top: "fire7/squeeze1x1"
}
layer {
  name: "fire7/expand1x1"
  type: "Convolution"
  bottom: "fire7/squeeze1x1"
  top: "fire7/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 192
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire7/relu_expand1x1"
  type: "ReLU"
  bottom: "fire7/expand1x1"
  top: "fire7/expand1x1"
}
layer {
  name: "fire7/expand3x3"
  type: "Convolution"
  bottom: "fire7/squeeze1x1"
  top: "fire7/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 192
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire7/relu_expand3x3"
  type: "ReLU"
  bottom: "fire7/expand3x3"
  top: "fire7/expand3x3"
}
layer {
  name: "fire7/concat"
  type: "Concat"
  bottom: "fire7/expand1x1"
  bottom: "fire7/expand3x3"
  top: "fire7/concat"
}
layer {
  name: "fire8/squeeze1x1"
  type: "Convolution"
  bottom: "fire7/concat"
  top: "fire8/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire8/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire8/squeeze1x1"
  top: "fire8/squeeze1x1"
}
layer {
  name: "fire8/expand1x1"
  type: "Convolution"
  bottom: "fire8/squeeze1x1"
  top: "fire8/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire8/relu_expand1x1"
  type: "ReLU"
  bottom: "fire8/expand1x1"
  top: "fire8/expand1x1"
}
layer {
  name: "fire8/expand3x3"
  type: "Convolution"
  bottom: "fire8/squeeze1x1"
  top: "fire8/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire8/relu_expand3x3"
  type: "ReLU"
  bottom: "fire8/expand3x3"
  top: "fire8/expand3x3"
}
layer {
  name: "fire8/concat"
  type: "Concat"
  bottom: "fire8/expand1x1"
  bottom: "fire8/expand3x3"
  top: "fire8/concat"
}
layer {
  name: "fire9/squeeze1x1"
  type: "Convolution"
  bottom: "fire8/concat"
  top: "fire9/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire9/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire9/squeeze1x1"
  top: "fire9/squeeze1x1"
}
layer {
  name: "fire9/expand1x1"
  type: "Convolution"
  bottom: "fire9/squeeze1x1"
  top: "fire9/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire9/expand1x1/bn"
  type: "BatchNorm"
  bottom: "fire9/expand1x1"
  top: "fire9/expand1x1"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "fire9/expand1x1/scale"
  type: "Scale"
  bottom: "fire9/expand1x1"
  top: "fire9/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "fire9/relu_expand1x1"
  type: "ReLU"
  bottom: "fire9/expand1x1"
  top: "fire9/expand1x1"
}
layer {
  name: "fire9/expand3x3"
  type: "Convolution"
  bottom: "fire9/squeeze1x1"
  top: "fire9/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire9/expand3x3/bn"
  type: "BatchNorm"
  bottom: "fire9/expand3x3"
  top: "fire9/expand3x3"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "fire9/expand3x3/scale"
  type: "Scale"
  bottom: "fire9/expand3x3"
  top: "fire9/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "fire9/relu_expand3x3"
  type: "ReLU"
  bottom: "fire9/expand3x3"
  top: "fire9/expand3x3"
}
layer {
  name: "fire9/concat"
  type: "Concat"
  bottom: "fire9/expand1x1"
  bottom: "fire9/expand3x3"
  top: "fire9/concat"
}
layer {
  name: "pool9"
  type: "Pooling"
  bottom: "fire9/concat"
  top: "pool9"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "fire10/squeeze1x1"
  type: "Convolution"
  bottom: "pool9"
  top: "fire10/squeeze1x1"
  convolution_param {
    num_output: 96
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire10/squeeze1x1/bn"
  type: "BatchNorm"
  bottom: "fire10/squeeze1x1"
  top: "fire10/squeeze1x1"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "fire10/squeeze1x1/scale"
  type: "Scale"
  bottom: "fire10/squeeze1x1"
  top: "fire10/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "fire10/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire10/squeeze1x1"
  top: "fire10/squeeze1x1"
}
layer {
  name: "fire10/expand1x1"
  type: "Convolution"
  bottom: "fire10/squeeze1x1"
  top: "fire10/expand1x1"
  convolution_param {
    num_output: 384
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire10/expand1x1/bn"
  type: "BatchNorm"
  bottom: "fire10/expand1x1"
  top: "fire10/expand1x1"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "fire10/expand1x1/scale"
  type: "Scale"
  bottom: "fire10/expand1x1"
  top: "fire10/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "fire10/relu_expand1x1"
  type: "ReLU"
  bottom: "fire10/expand1x1"
  top: "fire10/expand1x1"
}
layer {
  name: "fire10/expand3x3"
  type: "Convolution"
  bottom: "fire10/squeeze1x1"
  top: "fire10/expand3x3"
  convolution_param {
    num_output: 384
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire10/expand3x3/bn"
  type: "BatchNorm"
  bottom: "fire10/expand3x3"
  top: "fire10/expand3x3"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "fire10/expand3x3/scale"
  type: "Scale"
  bottom: "fire10/expand3x3"
  top: "fire10/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "fire10/relu_expand3x3"
  type: "ReLU"
  bottom: "fire10/expand3x3"
  top: "fire10/expand3x3"
}
layer {
  name: "fire10/concat"
  type: "Concat"
  bottom: "fire10/expand1x1"
  bottom: "fire10/expand3x3"
  top: "fire10/concat"
}
layer {
  name: "pool10"
  type: "Pooling"
  bottom: "fire10/concat"
  top: "pool10"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "fire11/squeeze1x1"
  type: "Convolution"
  bottom: "pool10"
  top: "fire11/squeeze1x1"
  convolution_param {
    num_output: 96
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire11/squeeze1x1/bn"
  type: "BatchNorm"
  bottom: "fire11/squeeze1x1"
  top: "fire11/squeeze1x1"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "fire11/squeeze1x1/scale"
  type: "Scale"
  bottom: "fire11/squeeze1x1"
  top: "fire11/squeeze1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "fire11/relu_squeeze1x1"
  type: "ReLU"
  bottom: "fire11/squeeze1x1"
  top: "fire11/squeeze1x1"
}
layer {
  name: "fire11/expand1x1"
  type: "Convolution"
  bottom: "fire11/squeeze1x1"
  top: "fire11/expand1x1"
  convolution_param {
    num_output: 384
    kernel_size: 1
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire11/expand1x1/bn"
  type: "BatchNorm"
  bottom: "fire11/expand1x1"
  top: "fire11/expand1x1"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "fire11/expand1x1/scale"
  type: "Scale"
  bottom: "fire11/expand1x1"
  top: "fire11/expand1x1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "fire11/relu_expand1x1"
  type: "ReLU"
  bottom: "fire11/expand1x1"
  top: "fire11/expand1x1"
}
layer {
  name: "fire11/expand3x3"
  type: "Convolution"
  bottom: "fire11/squeeze1x1"
  top: "fire11/expand3x3"
  convolution_param {
    num_output: 384
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "xavier"
    }
  }
}
layer {
  name: "fire11/expand3x3/bn"
  type: "BatchNorm"
  bottom: "fire11/expand3x3"
  top: "fire11/expand3x3"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "fire11/expand3x3/scale"
  type: "Scale"
  bottom: "fire11/expand3x3"
  top: "fire11/expand3x3"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "fire11/relu_expand3x3"
  type: "ReLU"
  bottom: "fire11/expand3x3"
  top: "fire11/expand3x3"
}
layer {
  name: "fire11/concat"
  type: "Concat"
  bottom: "fire11/expand1x1"
  bottom: "fire11/expand3x3"
  top: "fire11/concat"
}
layer {
  name: "conv12_1"
  type: "Convolution"
  bottom: "fire11/concat"
  top: "conv12_1"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    kernel_size: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "conv12_1/bn"
  type: "BatchNorm"
  bottom: "conv12_1"
  top: "conv12_1"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "conv12_1/scale"
  type: "Scale"
  bottom: "conv12_1"
  top: "conv12_1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "conv12_1/relu"
  type: "ReLU"
  bottom: "conv12_1"
  top: "conv12_1"
}
layer {
  name: "conv12_2"
  type: "Convolution"
  bottom: "conv12_1"
  top: "conv12_2"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 1
    kernel_size: 3
    stride: 2
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "conv12_2/bn"
  type: "BatchNorm"
  bottom: "conv12_2"
  top: "conv12_2"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "conv12_2/scale"
  type: "Scale"
  bottom: "conv12_2"
  top: "conv12_2"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "conv12_2/relu"
  type: "ReLU"
  bottom: "conv12_2"
  top: "conv12_2"
}
layer {
  name: "conv13_1"
  type: "Convolution"
  bottom: "conv12_2"
  top: "conv13_1"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    kernel_size: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "conv13_1/bn"
  type: "BatchNorm"
  bottom: "conv13_1"
  top: "conv13_1"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "conv13_1/scale"
  type: "Scale"
  bottom: "conv13_1"
  top: "conv13_1"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "conv13_1/relu"
  type: "ReLU"
  bottom: "conv13_1"
  top: "conv13_1"
}
layer {
  name: "conv13_2"
  type: "Convolution"
  bottom: "conv13_1"
  top: "conv13_2"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 1
    kernel_size: 3
    stride: 2
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "conv13_2/bn"
  type: "BatchNorm"
  bottom: "conv13_2"
  top: "conv13_2"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "conv13_2/scale"
  type: "Scale"
  bottom: "conv13_2"
  top: "conv13_2"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "conv13_2/relu"
  type: "ReLU"
  bottom: "conv13_2"
  top: "conv13_2"
}
layer {
  name: "fire5/bn"
  type: "BatchNorm"
  bottom: "fire5/concat"
  top: "fire5/normal"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "fire5/scale"
  type: "Scale"
  bottom: "fire5/normal"
  top: "fire5/normal"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "fire5_mbox_loc_mine"
  type: "Convolution"
  bottom: "fire5/normal"
  top: "fire5_mbox_loc_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "fire5_mbox_loc_perm_mine"
  type: "Permute"
  bottom: "fire5_mbox_loc_mine"
  top: "fire5_mbox_loc_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "fire5_mbox_loc_flat_mine"
  type: "Flatten"
  bottom: "fire5_mbox_loc_perm_mine"
  top: "fire5_mbox_loc_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "fire5_mbox_conf_mine"
  type: "Convolution"
  bottom: "fire5/normal"
  top: "fire5_mbox_conf_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "fire5_mbox_conf_perm_mine"
  type: "Permute"
  bottom: "fire5_mbox_conf_mine"
  top: "fire5_mbox_conf_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "fire5_mbox_conf_flat_mine"
  type: "Flatten"
  bottom: "fire5_mbox_conf_perm_mine"
  top: "fire5_mbox_conf_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "fire5_mbox_priorbox"
  type: "PriorBox"
  bottom: "fire5/normal"
  bottom: "data"
  top: "fire5_mbox_priorbox"
  prior_box_param {
    min_size: 21.0
    max_size: 45.0
    aspect_ratio: 2.0
    flip: true
    clip: false
    variance: 0.10000000149
    variance: 0.10000000149
    variance: 0.20000000298
    variance: 0.20000000298
    step: 8.0
  }
}
layer {
  name: "fire9_mbox_loc_mine"
  type: "Convolution"
  bottom: "fire9/concat"
  top: "fire9_mbox_loc_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "fire9_mbox_loc_perm_mine"
  type: "Permute"
  bottom: "fire9_mbox_loc_mine"
  top: "fire9_mbox_loc_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "fire9_mbox_loc_flat_mine"
  type: "Flatten"
  bottom: "fire9_mbox_loc_perm_mine"
  top: "fire9_mbox_loc_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "fire9_mbox_conf_mine"
  type: "Convolution"
  bottom: "fire9/concat"
  top: "fire9_mbox_conf_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "fire9_mbox_conf_perm_mine"
  type: "Permute"
  bottom: "fire9_mbox_conf_mine"
  top: "fire9_mbox_conf_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "fire9_mbox_conf_flat_mine"
  type: "Flatten"
  bottom: "fire9_mbox_conf_perm_mine"
  top: "fire9_mbox_conf_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "fire9_mbox_priorbox"
  type: "PriorBox"
  bottom: "fire9/concat"
  bottom: "data"
  top: "fire9_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
  }
}
layer {
  name: "fire10_mbox_loc_mine"
  type: "Convolution"
  bottom: "fire10/concat"
  top: "fire10_mbox_loc_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "fire10_mbox_loc_perm_mine"
  type: "Permute"
  bottom: "fire10_mbox_loc_mine"
  top: "fire10_mbox_loc_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "fire10_mbox_loc_flat_mine"
  type: "Flatten"
  bottom: "fire10_mbox_loc_perm_mine"
  top: "fire10_mbox_loc_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "fire10_mbox_conf_mine"
  type: "Convolution"
  bottom: "fire10/concat"
  top: "fire10_mbox_conf_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "fire10_mbox_conf_perm_mine"
  type: "Permute"
  bottom: "fire10_mbox_conf_mine"
  top: "fire10_mbox_conf_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "fire10_mbox_conf_flat_mine"
  type: "Flatten"
  bottom: "fire10_mbox_conf_perm_mine"
  top: "fire10_mbox_conf_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "fire10_mbox_priorbox"
  type: "PriorBox"
  bottom: "fire10/concat"
  bottom: "data"
  top: "fire10_mbox_priorbox"
  prior_box_param {
    min_size: 99.0
    max_size: 153.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
  }
}
layer {
  name: "fire11_mbox_loc_mine"
  type: "Convolution"
  bottom: "fire11/concat"
  top: "fire11_mbox_loc_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "fire11_mbox_loc_perm_mine"
  type: "Permute"
  bottom: "fire11_mbox_loc_mine"
  top: "fire11_mbox_loc_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "fire11_mbox_loc_flat_mine"
  type: "Flatten"
  bottom: "fire11_mbox_loc_perm_mine"
  top: "fire11_mbox_loc_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "fire11_mbox_conf_mine"
  type: "Convolution"
  bottom: "fire11/concat"
  top: "fire11_mbox_conf_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "fire11_mbox_conf_perm_mine"
  type: "Permute"
  bottom: "fire11_mbox_conf_mine"
  top: "fire11_mbox_conf_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "fire11_mbox_conf_flat_mine"
  type: "Flatten"
  bottom: "fire11_mbox_conf_perm_mine"
  top: "fire11_mbox_conf_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "fire11_mbox_priorbox"
  type: "PriorBox"
  bottom: "fire11/concat"
  bottom: "data"
  top: "fire11_mbox_priorbox"
  prior_box_param {
    min_size: 153.0
    max_size: 207.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
  }
}
layer {
  name: "conv12_2_mbox_loc_mine"
  type: "Convolution"
  bottom: "conv12_2"
  top: "conv12_2_mbox_loc_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "conv12_2_mbox_loc_perm_mine"
  type: "Permute"
  bottom: "conv12_2_mbox_loc_mine"
  top: "conv12_2_mbox_loc_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "conv12_2_mbox_loc_flat_mine"
  type: "Flatten"
  bottom: "conv12_2_mbox_loc_perm_mine"
  top: "conv12_2_mbox_loc_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "conv12_2_mbox_conf_mine"
  type: "Convolution"
  bottom: "conv12_2"
  top: "conv12_2_mbox_conf_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "conv12_2_mbox_conf_perm_mine"
  type: "Permute"
  bottom: "conv12_2_mbox_conf_mine"
  top: "conv12_2_mbox_conf_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "conv12_2_mbox_conf_flat_mine"
  type: "Flatten"
  bottom: "conv12_2_mbox_conf_perm_mine"
  top: "conv12_2_mbox_conf_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "conv12_2_mbox_priorbox"
  type: "PriorBox"
  bottom: "conv12_2"
  bottom: "data"
  top: "conv12_2_mbox_priorbox"
  prior_box_param {
    min_size: 207.0
    max_size: 261.0
    aspect_ratio: 2.0
    flip: true
    clip: false
    variance: 0.10000000149
    variance: 0.10000000149
    variance: 0.20000000298
    variance: 0.20000000298
    step: 100.0
  }
}
layer {
  name: "conv13_2_mbox_loc_mine"
  type: "Convolution"
  bottom: "conv13_2"
  top: "conv13_2_mbox_loc_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "conv13_2_mbox_loc_perm_mine"
  type: "Permute"
  bottom: "conv13_2_mbox_loc_mine"
  top: "conv13_2_mbox_loc_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "conv13_2_mbox_loc_flat_mine"
  type: "Flatten"
  bottom: "conv13_2_mbox_loc_perm_mine"
  top: "conv13_2_mbox_loc_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "conv13_2_mbox_conf_mine"
  type: "Convolution"
  bottom: "conv13_2"
  top: "conv13_2_mbox_conf_mine"
  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: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "conv13_2_mbox_conf_perm_mine"
  type: "Permute"
  bottom: "conv13_2_mbox_conf_mine"
  top: "conv13_2_mbox_conf_perm_mine"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}
layer {
  name: "conv13_2_mbox_conf_flat_mine"
  type: "Flatten"
  bottom: "conv13_2_mbox_conf_perm_mine"
  top: "conv13_2_mbox_conf_flat_mine"
  flatten_param {
    axis: 1
  }
}
layer {
  name: "conv13_2_mbox_priorbox"
  type: "PriorBox"
  bottom: "conv13_2"
  bottom: "data"
  top: "conv13_2_mbox_priorbox"
  prior_box_param {
    min_size: 261.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
  }
}
layer {
  name: "mbox_loc_mine"
  type: "Concat"
  bottom: "fire5_mbox_loc_flat_mine"
  bottom: "fire9_mbox_loc_flat_mine"
  bottom: "fire10_mbox_loc_flat_mine"
  bottom: "fire11_mbox_loc_flat_mine"
  bottom: "conv12_2_mbox_loc_flat_mine"
  bottom: "conv13_2_mbox_loc_flat_mine"
  top: "mbox_loc_mine"
  concat_param {
    axis: 1
  }
}
layer {
  name: "mbox_conf_mine"
  type: "Concat"
  bottom: "fire5_mbox_conf_flat_mine"
  bottom: "fire9_mbox_conf_flat_mine"
  bottom: "fire10_mbox_conf_flat_mine"
  bottom: "fire11_mbox_conf_flat_mine"
  bottom: "conv12_2_mbox_conf_flat_mine"
  bottom: "conv13_2_mbox_conf_flat_mine"
  top: "mbox_conf_mine"
  concat_param {
    axis: 1
  }
}
layer {
  name: "mbox_priorbox"
  type: "Concat"
  bottom: "fire5_mbox_priorbox"
  bottom: "fire9_mbox_priorbox"
  bottom: "fire10_mbox_priorbox"
  bottom: "fire11_mbox_priorbox"
  bottom: "conv12_2_mbox_priorbox"
  bottom: "conv13_2_mbox_priorbox"
  top: "mbox_priorbox"
  concat_param {
    axis: 2
  }
}
layer {
  name: "mbox_conf_reshape"
  type: "Reshape"
  bottom: "mbox_conf_mine"
  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_mine"
  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
    }
    code_type: CENTER_SIZE
    keep_top_k: 200
    confidence_threshold: 0.00999999977648
  }
}

Hi Raak,
For SSD network, you need use TensorRT + iPlugin(implement unsupported layer) to do it.

About how to write your APP, two pipelins can be used:

  1. gstreamer decode → Appsink-> nvbuf → TensorRT+ Iplugin
  2. You can add TensorRT + Iplugin to gstdsexample plugin, then connect it to pipeline.

Hi Waynezhu
I can use the YOLO model on TX2 by using TensorRT now.

If I want to use it on Deepstream what should I do next.

Deepstream APP code don’t have interface to expose buffer to TensorRT directly, it give a whole pipeline only.

You can follow this way:
create a pipline: RTSP Source → decode ->appsink, in appsink’s callback you can get nvbuf, then you can send buffer to TensorRT.

Pls use 28.2 for extract raw video data from nvbuf.