Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # DetectNet network
- # Data/Input layers
- name: "DetectNet"
- layer {
- name: "train_data"
- type: "Data"
- top: "data"
- include: { phase: TRAIN }
- }
- layer {
- name: "train_label"
- type: "Data"
- top: "label"
- include: { phase: TRAIN }
- }
- layer {
- name: "val_data"
- type: "Data"
- top: "data"
- include: { phase: TEST stage: "val" }
- }
- layer {
- name: "val_label"
- type: "Data"
- top: "label"
- include: { phase: TEST stage: "val" }
- }
- layer {
- name: "deploy_data"
- type: "Input"
- top: "data"
- input_param {
- shape {
- dim: 1
- dim: 3
- dim: 512
- dim: 704
- }
- }
- include: { phase: TEST not_stage: "val" }
- }
- # Data transformation layers
- layer {
- name: "train_transform"
- type: "DetectNetTransformation"
- bottom: "data"
- bottom: "label"
- top: "transformed_data"
- top: "transformed_label"
- detectnet_groundtruth_param: {
- stride: 16
- scale_cvg: 0.4
- gridbox_type: GRIDBOX_MIN
- coverage_type: RECTANGULAR
- min_cvg_len: 20
- obj_norm: true
- image_size_x: 704
- image_size_y: 512
- crop_bboxes: true
- object_class: { src: 1 dst: 0} # obj class 1 -> cvg index 0
- }
- detectnet_augmentation_param: {
- crop_prob: 1
- shift_x: 32
- shift_y: 32
- flip_prob: 0.5
- rotation_prob: 0
- max_rotate_degree: 5
- scale_prob: 0.4
- scale_min: 0.8
- scale_max: 1.2
- hue_rotation_prob: 0.8
- hue_rotation: 30
- desaturation_prob: 0.8
- desaturation_max: 0.8
- }
- transform_param: {
- mean_value: 127
- }
- include: { phase: TRAIN }
- }
- layer {
- name: "val_transform"
- type: "DetectNetTransformation"
- bottom: "data"
- bottom: "label"
- top: "transformed_data"
- top: "transformed_label"
- detectnet_groundtruth_param: {
- stride: 16
- scale_cvg: 0.4
- gridbox_type: GRIDBOX_MIN
- coverage_type: RECTANGULAR
- min_cvg_len: 20
- obj_norm: true
- image_size_x: 704
- image_size_y: 512
- crop_bboxes: false
- object_class: { src: 1 dst: 0} # obj class 1 -> cvg index 0
- }
- transform_param: {
- mean_value: 127
- }
- include: { phase: TEST stage: "val" }
- }
- layer {
- name: "deploy_transform"
- type: "Power"
- bottom: "data"
- top: "transformed_data"
- power_param {
- shift: -127
- }
- include: { phase: TEST not_stage: "val" }
- }
- # Label conversion layers
- layer {
- name: "slice-label"
- type: "Slice"
- bottom: "transformed_label"
- top: "foreground-label"
- top: "bbox-label"
- top: "size-label"
- top: "obj-label"
- top: "coverage-label"
- slice_param {
- slice_dim: 1
- slice_point: 1
- slice_point: 5
- slice_point: 7
- slice_point: 8
- }
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- layer {
- name: "coverage-block"
- type: "Concat"
- bottom: "foreground-label"
- bottom: "foreground-label"
- bottom: "foreground-label"
- bottom: "foreground-label"
- top: "coverage-block"
- concat_param {
- concat_dim: 1
- }
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- layer {
- name: "size-block"
- type: "Concat"
- bottom: "size-label"
- bottom: "size-label"
- top: "size-block"
- concat_param {
- concat_dim: 1
- }
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- layer {
- name: "obj-block"
- type: "Concat"
- bottom: "obj-label"
- bottom: "obj-label"
- bottom: "obj-label"
- bottom: "obj-label"
- top: "obj-block"
- concat_param {
- concat_dim: 1
- }
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- layer {
- name: "bb-label-norm"
- type: "Eltwise"
- bottom: "bbox-label"
- bottom: "size-block"
- top: "bbox-label-norm"
- eltwise_param {
- operation: PROD
- }
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- layer {
- name: "bb-obj-norm"
- type: "Eltwise"
- bottom: "bbox-label-norm"
- bottom: "obj-block"
- top: "bbox-obj-label-norm"
- eltwise_param {
- operation: PROD
- }
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- ######################################################################
- # Start of convolutional network
- ######################################################################
- layer {
- name: "conv1/7x7_s2"
- type: "Convolution"
- bottom: "transformed_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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.09
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.2
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.09
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.2
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.09
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.2
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.09
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.2
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.09
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.2
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.09
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.2
- }
- 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"
- std: 0.03
- }
- 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"
- std: 0.1
- }
- 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: "inception_5a/1x1"
- type: "Convolution"
- bottom: "inception_4e/output"
- 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"
- std: 0.03
- }
- 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: "inception_4e/output"
- 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"
- std: 0.09
- }
- 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"
- std: 0.03
- }
- 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: "inception_4e/output"
- 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"
- std: 0.2
- }
- 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"
- std: 0.03
- }
- 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: "inception_4e/output"
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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: 1
- decay_mult: 0
- }
- convolution_param {
- num_output: 192
- kernel_size: 1
- weight_filler {
- type: "xavier"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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"
- std: 0.1
- }
- 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/drop_s1"
- type: "Dropout"
- bottom: "inception_5b/output"
- top: "pool5/drop_s1"
- dropout_param {
- dropout_ratio: 0.4
- }
- }
- layer {
- name: "cvg/classifier"
- type: "Convolution"
- bottom: "pool5/drop_s1"
- top: "cvg/classifier"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 1
- kernel_size: 1
- weight_filler {
- type: "xavier"
- std: 0.03
- }
- bias_filler {
- type: "constant"
- value: 0.
- }
- }
- }
- layer {
- name: "coverage/sig"
- type: "Sigmoid"
- bottom: "cvg/classifier"
- top: "coverage"
- }
- layer {
- name: "bbox/regressor"
- type: "Convolution"
- bottom: "pool5/drop_s1"
- top: "bboxes"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 4
- kernel_size: 1
- weight_filler {
- type: "xavier"
- std: 0.03
- }
- bias_filler {
- type: "constant"
- value: 0.
- }
- }
- }
- ######################################################################
- # End of convolutional network
- ######################################################################
- # Convert bboxes
- layer {
- name: "bbox_mask"
- type: "Eltwise"
- bottom: "bboxes"
- bottom: "coverage-block"
- top: "bboxes-masked"
- eltwise_param {
- operation: PROD
- }
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- layer {
- name: "bbox-norm"
- type: "Eltwise"
- bottom: "bboxes-masked"
- bottom: "size-block"
- top: "bboxes-masked-norm"
- eltwise_param {
- operation: PROD
- }
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- layer {
- name: "bbox-obj-norm"
- type: "Eltwise"
- bottom: "bboxes-masked-norm"
- bottom: "obj-block"
- top: "bboxes-obj-masked-norm"
- eltwise_param {
- operation: PROD
- }
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- # Loss layers
- layer {
- name: "bbox_loss"
- type: "L1Loss"
- bottom: "bboxes-obj-masked-norm"
- bottom: "bbox-obj-label-norm"
- top: "loss_bbox"
- loss_weight: 2
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- layer {
- name: "coverage_loss"
- type: "EuclideanLoss"
- bottom: "coverage"
- bottom: "coverage-label"
- top: "loss_coverage"
- include { phase: TRAIN }
- include { phase: TEST stage: "val" }
- }
- # Cluster bboxes
- layer {
- type: 'Python'
- name: 'cluster'
- bottom: 'coverage'
- bottom: 'bboxes'
- top: 'bbox-list'
- python_param {
- module: 'caffe.layers.detectnet.clustering'
- layer: 'ClusterDetections'
- param_str : '704, 512, 16, 0.6, 3, 0.02, 22, 1'
- }
- include: { phase: TEST }
- }
- # Calculate mean average precision
- layer {
- type: 'Python'
- name: 'cluster_gt'
- bottom: 'coverage-label'
- bottom: 'bbox-label'
- top: 'bbox-list-label'
- python_param {
- module: 'caffe.layers.detectnet.clustering'
- layer: 'ClusterGroundtruth'
- param_str : '704, 512, 16, 1'
- }
- include: { phase: TEST stage: "val" }
- }
- layer {
- type: 'Python'
- name: 'score'
- bottom: 'bbox-list-label'
- bottom: 'bbox-list'
- top: 'bbox-list-scored'
- python_param {
- module: 'caffe.layers.detectnet.mean_ap'
- layer: 'ScoreDetections'
- }
- include: { phase: TEST stage: "val" }
- }
- layer {
- type: 'Python'
- name: 'mAP'
- bottom: 'bbox-list-scored'
- top: 'mAP'
- top: 'precision'
- top: 'recall'
- python_param {
- module: 'caffe.layers.detectnet.mean_ap'
- layer: 'mAP'
- param_str : '704, 512, 16'
- }
- include: { phase: TEST stage: "val" }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement