diff --git a/caffe_models/pvanet/caffe_model/PVA9.1_ImgNet_COCO_VOC0712.caffemodel b/caffe_models/pvanet/caffe_model/PVA9.1_ImgNet_COCO_VOC0712.caffemodel new file mode 100644 index 0000000..7ebb362 --- /dev/null +++ b/caffe_models/pvanet/caffe_model/PVA9.1_ImgNet_COCO_VOC0712.caffemodel @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcefa83d4728ef32a227f32f088b9d37c44d1adbde68fdbf2a208a51cbf803d3 +size 386480732 diff --git a/caffe_models/pvanet/caffe_model/PVA9.1_ImgNet_COCO_VOC0712plus.caffemodel b/caffe_models/pvanet/caffe_model/PVA9.1_ImgNet_COCO_VOC0712plus.caffemodel new file mode 100644 index 0000000..c705b76 --- /dev/null +++ b/caffe_models/pvanet/caffe_model/PVA9.1_ImgNet_COCO_VOC0712plus.caffemodel @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60b6dba4902a6271ba2e318e8ec8a052d7ffb53ab805ed1ae123f20297659d59 +size 386480732 diff --git a/caffe_models/pvanet/caffe_model/notes.txt b/caffe_models/pvanet/caffe_model/notes.txt new file mode 100644 index 0000000..12cd777 --- /dev/null +++ b/caffe_models/pvanet/caffe_model/notes.txt @@ -0,0 +1,6 @@ + +Model from https://github.com/sanghoon/pva-faster-rcnn.git: +- test.prototxt +- PVA9.1_ImgNet_COCO_VOC0712.caffemodel +- PVA9.1_ImgNet_COCO_VOC0712plus.caffemodel + diff --git a/caffe_models/pvanet/caffe_model/test.prototxt b/caffe_models/pvanet/caffe_model/test.prototxt new file mode 100644 index 0000000..1a73ba2 --- /dev/null +++ b/caffe_models/pvanet/caffe_model/test.prototxt @@ -0,0 +1,6683 @@ +name: "PVANET" + +################################################################################ +## Input +################################################################################ + +input: "data" +input_shape { + dim: 1 + dim: 3 + dim: 640 + dim: 1056 +} + +input: "im_info" +input_shape { + dim: 1 + dim: 3 # was 6 +} + +################################################################################ +## Convolution +################################################################################ + +layer { + name: "conv1_1/conv" + type: "Convolution" + bottom: "data" + top: "conv1_1/conv" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 16 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 3 + pad_w: 3 + kernel_h: 7 + kernel_w: 7 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv1_1/bn" + type: "BatchNorm" + bottom: "conv1_1/conv" + top: "conv1_1/conv" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv1_1/neg" + type: "Power" + bottom: "conv1_1/conv" + top: "conv1_1/neg" + power_param { + power: 1 + scale: -1.0 + shift: 0 + } +} +layer { + name: "conv1_1/concat" + type: "Concat" + bottom: "conv1_1/conv" + bottom: "conv1_1/neg" + top: "conv1_1" +} +layer { + name: "conv1_1/scale" + type: "Scale" + bottom: "conv1_1" + top: "conv1_1" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.2 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv1_1/relu" + type: "ReLU" + bottom: "conv1_1" + top: "conv1_1" +} +layer { + name: "pool1" + type: "Pooling" + bottom: "conv1_1" + top: "pool1" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + pad: 0 + } +} +layer { + name: "conv2_1/1/conv" + type: "Convolution" + bottom: "pool1" + top: "conv2_1/1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 24 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_1/2/bn" + type: "BatchNorm" + bottom: "conv2_1/1" + top: "conv2_1/2/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv2_1/2/bn_scale" + type: "Scale" + bottom: "conv2_1/2/pre" + top: "conv2_1/2/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv2_1/2/relu" + type: "ReLU" + bottom: "conv2_1/2/pre" + top: "conv2_1/2/pre" +} +layer { + name: "conv2_1/2/conv" + type: "Convolution" + bottom: "conv2_1/2/pre" + top: "conv2_1/2" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 24 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_1/3/bn" + type: "BatchNorm" + bottom: "conv2_1/2" + top: "conv2_1/3/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv2_1/3/neg" + type: "Power" + bottom: "conv2_1/3/pre" + top: "conv2_1/3/neg" + power_param { + power: 1 + scale: -1.0 + shift: 0 + } +} +layer { + name: "conv2_1/3/concat" + type: "Concat" + bottom: "conv2_1/3/pre" + bottom: "conv2_1/3/neg" + top: "conv2_1/3/preAct" +} +layer { + name: "conv2_1/3/scale" + type: "Scale" + bottom: "conv2_1/3/preAct" + top: "conv2_1/3/preAct" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.2 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv2_1/3/relu" + type: "ReLU" + bottom: "conv2_1/3/preAct" + top: "conv2_1/3/preAct" +} +layer { + name: "conv2_1/3/conv" + type: "Convolution" + bottom: "conv2_1/3/preAct" + top: "conv2_1/3" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 64 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_1/proj" + type: "Convolution" + bottom: "pool1" + top: "conv2_1/proj" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 64 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_1" + type: "Eltwise" + bottom: "conv2_1/3" + bottom: "conv2_1/proj" + top: "conv2_1" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv2_2/1/bn" + type: "BatchNorm" + bottom: "conv2_1" + top: "conv2_2/1/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv2_2/1/bn_scale" + type: "Scale" + bottom: "conv2_2/1/pre" + top: "conv2_2/1/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv2_2/1/relu" + type: "ReLU" + bottom: "conv2_2/1/pre" + top: "conv2_2/1/pre" +} +layer { + name: "conv2_2/1/conv" + type: "Convolution" + bottom: "conv2_2/1/pre" + top: "conv2_2/1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 24 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_2/2/bn" + type: "BatchNorm" + bottom: "conv2_2/1" + top: "conv2_2/2/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv2_2/2/bn_scale" + type: "Scale" + bottom: "conv2_2/2/pre" + top: "conv2_2/2/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv2_2/2/relu" + type: "ReLU" + bottom: "conv2_2/2/pre" + top: "conv2_2/2/pre" +} +layer { + name: "conv2_2/2/conv" + type: "Convolution" + bottom: "conv2_2/2/pre" + top: "conv2_2/2" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 24 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_2/3/bn" + type: "BatchNorm" + bottom: "conv2_2/2" + top: "conv2_2/3/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv2_2/3/neg" + type: "Power" + bottom: "conv2_2/3/pre" + top: "conv2_2/3/neg" + power_param { + power: 1 + scale: -1.0 + shift: 0 + } +} +layer { + name: "conv2_2/3/concat" + type: "Concat" + bottom: "conv2_2/3/pre" + bottom: "conv2_2/3/neg" + top: "conv2_2/3/preAct" +} +layer { + name: "conv2_2/3/scale" + type: "Scale" + bottom: "conv2_2/3/preAct" + top: "conv2_2/3/preAct" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.2 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv2_2/3/relu" + type: "ReLU" + bottom: "conv2_2/3/preAct" + top: "conv2_2/3/preAct" +} +layer { + name: "conv2_2/3/conv" + type: "Convolution" + bottom: "conv2_2/3/preAct" + top: "conv2_2/3" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 64 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_2/input" + type: "Power" + bottom: "conv2_1" + top: "conv2_2/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv2_2" + type: "Eltwise" + bottom: "conv2_2/3" + bottom: "conv2_2/input" + top: "conv2_2" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv2_3/1/bn" + type: "BatchNorm" + bottom: "conv2_2" + top: "conv2_3/1/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv2_3/1/bn_scale" + type: "Scale" + bottom: "conv2_3/1/pre" + top: "conv2_3/1/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv2_3/1/relu" + type: "ReLU" + bottom: "conv2_3/1/pre" + top: "conv2_3/1/pre" +} +layer { + name: "conv2_3/1/conv" + type: "Convolution" + bottom: "conv2_3/1/pre" + top: "conv2_3/1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 24 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_3/2/bn" + type: "BatchNorm" + bottom: "conv2_3/1" + top: "conv2_3/2/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv2_3/2/bn_scale" + type: "Scale" + bottom: "conv2_3/2/pre" + top: "conv2_3/2/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv2_3/2/relu" + type: "ReLU" + bottom: "conv2_3/2/pre" + top: "conv2_3/2/pre" +} +layer { + name: "conv2_3/2/conv" + type: "Convolution" + bottom: "conv2_3/2/pre" + top: "conv2_3/2" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 24 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_3/3/bn" + type: "BatchNorm" + bottom: "conv2_3/2" + top: "conv2_3/3/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv2_3/3/neg" + type: "Power" + bottom: "conv2_3/3/pre" + top: "conv2_3/3/neg" + power_param { + power: 1 + scale: -1.0 + shift: 0 + } +} +layer { + name: "conv2_3/3/concat" + type: "Concat" + bottom: "conv2_3/3/pre" + bottom: "conv2_3/3/neg" + top: "conv2_3/3/preAct" +} +layer { + name: "conv2_3/3/scale" + type: "Scale" + bottom: "conv2_3/3/preAct" + top: "conv2_3/3/preAct" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.2 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv2_3/3/relu" + type: "ReLU" + bottom: "conv2_3/3/preAct" + top: "conv2_3/3/preAct" +} +layer { + name: "conv2_3/3/conv" + type: "Convolution" + bottom: "conv2_3/3/preAct" + top: "conv2_3/3" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 64 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv2_3/input" + type: "Power" + bottom: "conv2_2" + top: "conv2_3/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv2_3" + type: "Eltwise" + bottom: "conv2_3/3" + bottom: "conv2_3/input" + top: "conv2_3" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv3_1/1/bn" + type: "BatchNorm" + bottom: "conv2_3" + top: "conv3_1/1/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_1/1/bn_scale" + type: "Scale" + bottom: "conv3_1/1/pre" + top: "conv3_1/1/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_1/1/relu" + type: "ReLU" + bottom: "conv3_1/1/pre" + top: "conv3_1/1/pre" +} +layer { + name: "conv3_1/1/conv" + type: "Convolution" + bottom: "conv3_1/1/pre" + top: "conv3_1/1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 48 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv3_1/2/bn" + type: "BatchNorm" + bottom: "conv3_1/1" + top: "conv3_1/2/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_1/2/bn_scale" + type: "Scale" + bottom: "conv3_1/2/pre" + top: "conv3_1/2/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_1/2/relu" + type: "ReLU" + bottom: "conv3_1/2/pre" + top: "conv3_1/2/pre" +} +layer { + name: "conv3_1/2/conv" + type: "Convolution" + bottom: "conv3_1/2/pre" + top: "conv3_1/2" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 48 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_1/3/bn" + type: "BatchNorm" + bottom: "conv3_1/2" + top: "conv3_1/3/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_1/3/neg" + type: "Power" + bottom: "conv3_1/3/pre" + top: "conv3_1/3/neg" + power_param { + power: 1 + scale: -1.0 + shift: 0 + } +} +layer { + name: "conv3_1/3/concat" + type: "Concat" + bottom: "conv3_1/3/pre" + bottom: "conv3_1/3/neg" + top: "conv3_1/3/preAct" +} +layer { + name: "conv3_1/3/scale" + type: "Scale" + bottom: "conv3_1/3/preAct" + top: "conv3_1/3/preAct" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.2 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_1/3/relu" + type: "ReLU" + bottom: "conv3_1/3/preAct" + top: "conv3_1/3/preAct" +} +layer { + name: "conv3_1/3/conv" + type: "Convolution" + bottom: "conv3_1/3/preAct" + top: "conv3_1/3" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 128 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_1/proj" + type: "Convolution" + bottom: "conv3_1/1/pre" + top: "conv3_1/proj" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 128 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv3_1" + type: "Eltwise" + bottom: "conv3_1/3" + bottom: "conv3_1/proj" + top: "conv3_1" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv3_2/1/bn" + type: "BatchNorm" + bottom: "conv3_1" + top: "conv3_2/1/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_2/1/bn_scale" + type: "Scale" + bottom: "conv3_2/1/pre" + top: "conv3_2/1/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_2/1/relu" + type: "ReLU" + bottom: "conv3_2/1/pre" + top: "conv3_2/1/pre" +} +layer { + name: "conv3_2/1/conv" + type: "Convolution" + bottom: "conv3_2/1/pre" + top: "conv3_2/1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 48 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_2/2/bn" + type: "BatchNorm" + bottom: "conv3_2/1" + top: "conv3_2/2/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_2/2/bn_scale" + type: "Scale" + bottom: "conv3_2/2/pre" + top: "conv3_2/2/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_2/2/relu" + type: "ReLU" + bottom: "conv3_2/2/pre" + top: "conv3_2/2/pre" +} +layer { + name: "conv3_2/2/conv" + type: "Convolution" + bottom: "conv3_2/2/pre" + top: "conv3_2/2" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 48 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_2/3/bn" + type: "BatchNorm" + bottom: "conv3_2/2" + top: "conv3_2/3/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_2/3/neg" + type: "Power" + bottom: "conv3_2/3/pre" + top: "conv3_2/3/neg" + power_param { + power: 1 + scale: -1.0 + shift: 0 + } +} +layer { + name: "conv3_2/3/concat" + type: "Concat" + bottom: "conv3_2/3/pre" + bottom: "conv3_2/3/neg" + top: "conv3_2/3/preAct" +} +layer { + name: "conv3_2/3/scale" + type: "Scale" + bottom: "conv3_2/3/preAct" + top: "conv3_2/3/preAct" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.2 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_2/3/relu" + type: "ReLU" + bottom: "conv3_2/3/preAct" + top: "conv3_2/3/preAct" +} +layer { + name: "conv3_2/3/conv" + type: "Convolution" + bottom: "conv3_2/3/preAct" + top: "conv3_2/3" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 128 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_2/input" + type: "Power" + bottom: "conv3_1" + top: "conv3_2/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv3_2" + type: "Eltwise" + bottom: "conv3_2/3" + bottom: "conv3_2/input" + top: "conv3_2" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv3_3/1/bn" + type: "BatchNorm" + bottom: "conv3_2" + top: "conv3_3/1/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_3/1/bn_scale" + type: "Scale" + bottom: "conv3_3/1/pre" + top: "conv3_3/1/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_3/1/relu" + type: "ReLU" + bottom: "conv3_3/1/pre" + top: "conv3_3/1/pre" +} +layer { + name: "conv3_3/1/conv" + type: "Convolution" + bottom: "conv3_3/1/pre" + top: "conv3_3/1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 48 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_3/2/bn" + type: "BatchNorm" + bottom: "conv3_3/1" + top: "conv3_3/2/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_3/2/bn_scale" + type: "Scale" + bottom: "conv3_3/2/pre" + top: "conv3_3/2/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_3/2/relu" + type: "ReLU" + bottom: "conv3_3/2/pre" + top: "conv3_3/2/pre" +} +layer { + name: "conv3_3/2/conv" + type: "Convolution" + bottom: "conv3_3/2/pre" + top: "conv3_3/2" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 48 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_3/3/bn" + type: "BatchNorm" + bottom: "conv3_3/2" + top: "conv3_3/3/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_3/3/neg" + type: "Power" + bottom: "conv3_3/3/pre" + top: "conv3_3/3/neg" + power_param { + power: 1 + scale: -1.0 + shift: 0 + } +} +layer { + name: "conv3_3/3/concat" + type: "Concat" + bottom: "conv3_3/3/pre" + bottom: "conv3_3/3/neg" + top: "conv3_3/3/preAct" +} +layer { + name: "conv3_3/3/scale" + type: "Scale" + bottom: "conv3_3/3/preAct" + top: "conv3_3/3/preAct" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.2 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_3/3/relu" + type: "ReLU" + bottom: "conv3_3/3/preAct" + top: "conv3_3/3/preAct" +} +layer { + name: "conv3_3/3/conv" + type: "Convolution" + bottom: "conv3_3/3/preAct" + top: "conv3_3/3" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 128 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_3/input" + type: "Power" + bottom: "conv3_2" + top: "conv3_3/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv3_3" + type: "Eltwise" + bottom: "conv3_3/3" + bottom: "conv3_3/input" + top: "conv3_3" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv3_4/1/bn" + type: "BatchNorm" + bottom: "conv3_3" + top: "conv3_4/1/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_4/1/bn_scale" + type: "Scale" + bottom: "conv3_4/1/pre" + top: "conv3_4/1/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_4/1/relu" + type: "ReLU" + bottom: "conv3_4/1/pre" + top: "conv3_4/1/pre" +} +layer { + name: "conv3_4/1/conv" + type: "Convolution" + bottom: "conv3_4/1/pre" + top: "conv3_4/1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 48 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_4/2/bn" + type: "BatchNorm" + bottom: "conv3_4/1" + top: "conv3_4/2/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_4/2/bn_scale" + type: "Scale" + bottom: "conv3_4/2/pre" + top: "conv3_4/2/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_4/2/relu" + type: "ReLU" + bottom: "conv3_4/2/pre" + top: "conv3_4/2/pre" +} +layer { + name: "conv3_4/2/conv" + type: "Convolution" + bottom: "conv3_4/2/pre" + top: "conv3_4/2" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 48 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_4/3/bn" + type: "BatchNorm" + bottom: "conv3_4/2" + top: "conv3_4/3/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv3_4/3/neg" + type: "Power" + bottom: "conv3_4/3/pre" + top: "conv3_4/3/neg" + power_param { + power: 1 + scale: -1.0 + shift: 0 + } +} +layer { + name: "conv3_4/3/concat" + type: "Concat" + bottom: "conv3_4/3/pre" + bottom: "conv3_4/3/neg" + top: "conv3_4/3/preAct" +} +layer { + name: "conv3_4/3/scale" + type: "Scale" + bottom: "conv3_4/3/preAct" + top: "conv3_4/3/preAct" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.2 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv3_4/3/relu" + type: "ReLU" + bottom: "conv3_4/3/preAct" + top: "conv3_4/3/preAct" +} +layer { + name: "conv3_4/3/conv" + type: "Convolution" + bottom: "conv3_4/3/preAct" + top: "conv3_4/3" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 128 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv3_4/input" + type: "Power" + bottom: "conv3_3" + top: "conv3_4/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv3_4" + type: "Eltwise" + bottom: "conv3_4/3" + bottom: "conv3_4/input" + top: "conv3_4" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv4_1/incep/bn" + type: "BatchNorm" + bottom: "conv3_4" + top: "conv4_1/incep/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_1/incep/bn_scale" + type: "Scale" + bottom: "conv4_1/incep/pre" + top: "conv4_1/incep/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_1/incep/relu" + type: "ReLU" + bottom: "conv4_1/incep/pre" + top: "conv4_1/incep/pre" +} +layer { + name: "conv4_1/incep/0/conv" + type: "Convolution" + bottom: "conv4_1/incep/pre" + top: "conv4_1/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv4_1/incep/0/bn" + type: "BatchNorm" + bottom: "conv4_1/incep/0" + top: "conv4_1/incep/0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_1/incep/0/bn_scale" + type: "Scale" + bottom: "conv4_1/incep/0" + top: "conv4_1/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_1/incep/0/relu" + type: "ReLU" + bottom: "conv4_1/incep/0" + top: "conv4_1/incep/0" +} +layer { + name: "conv4_1/incep/1_reduce/conv" + type: "Convolution" + bottom: "conv4_1/incep/pre" + top: "conv4_1/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 48 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv4_1/incep/1_reduce/bn" + type: "BatchNorm" + bottom: "conv4_1/incep/1_reduce" + top: "conv4_1/incep/1_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_1/incep/1_reduce/bn_scale" + type: "Scale" + bottom: "conv4_1/incep/1_reduce" + top: "conv4_1/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_1/incep/1_reduce/relu" + type: "ReLU" + bottom: "conv4_1/incep/1_reduce" + top: "conv4_1/incep/1_reduce" +} +layer { + name: "conv4_1/incep/1_0/conv" + type: "Convolution" + bottom: "conv4_1/incep/1_reduce" + top: "conv4_1/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 128 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_1/incep/1_0/bn" + type: "BatchNorm" + bottom: "conv4_1/incep/1_0" + top: "conv4_1/incep/1_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_1/incep/1_0/bn_scale" + type: "Scale" + bottom: "conv4_1/incep/1_0" + top: "conv4_1/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_1/incep/1_0/relu" + type: "ReLU" + bottom: "conv4_1/incep/1_0" + top: "conv4_1/incep/1_0" +} +layer { + name: "conv4_1/incep/2_reduce/conv" + type: "Convolution" + bottom: "conv4_1/incep/pre" + top: "conv4_1/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 24 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv4_1/incep/2_reduce/bn" + type: "BatchNorm" + bottom: "conv4_1/incep/2_reduce" + top: "conv4_1/incep/2_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_1/incep/2_reduce/bn_scale" + type: "Scale" + bottom: "conv4_1/incep/2_reduce" + top: "conv4_1/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_1/incep/2_reduce/relu" + type: "ReLU" + bottom: "conv4_1/incep/2_reduce" + top: "conv4_1/incep/2_reduce" +} +layer { + name: "conv4_1/incep/2_0/conv" + type: "Convolution" + bottom: "conv4_1/incep/2_reduce" + top: "conv4_1/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 48 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_1/incep/2_0/bn" + type: "BatchNorm" + bottom: "conv4_1/incep/2_0" + top: "conv4_1/incep/2_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_1/incep/2_0/bn_scale" + type: "Scale" + bottom: "conv4_1/incep/2_0" + top: "conv4_1/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_1/incep/2_0/relu" + type: "ReLU" + bottom: "conv4_1/incep/2_0" + top: "conv4_1/incep/2_0" +} +layer { + name: "conv4_1/incep/2_1/conv" + type: "Convolution" + bottom: "conv4_1/incep/2_0" + top: "conv4_1/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 48 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_1/incep/2_1/bn" + type: "BatchNorm" + bottom: "conv4_1/incep/2_1" + top: "conv4_1/incep/2_1" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_1/incep/2_1/bn_scale" + type: "Scale" + bottom: "conv4_1/incep/2_1" + top: "conv4_1/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_1/incep/2_1/relu" + type: "ReLU" + bottom: "conv4_1/incep/2_1" + top: "conv4_1/incep/2_1" +} +layer { + name: "conv4_1/incep/pool" + type: "Pooling" + bottom: "conv4_1/incep/pre" + top: "conv4_1/incep/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + pad: 0 + } +} +layer { + name: "conv4_1/incep/poolproj/conv" + type: "Convolution" + bottom: "conv4_1/incep/pool" + top: "conv4_1/incep/poolproj" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 128 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_1/incep/poolproj/bn" + type: "BatchNorm" + bottom: "conv4_1/incep/poolproj" + top: "conv4_1/incep/poolproj" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_1/incep/poolproj/bn_scale" + type: "Scale" + bottom: "conv4_1/incep/poolproj" + top: "conv4_1/incep/poolproj" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_1/incep/poolproj/relu" + type: "ReLU" + bottom: "conv4_1/incep/poolproj" + top: "conv4_1/incep/poolproj" +} +layer { + name: "conv4_1/incep" + type: "Concat" + bottom: "conv4_1/incep/0" + bottom: "conv4_1/incep/1_0" + bottom: "conv4_1/incep/2_1" + bottom: "conv4_1/incep/poolproj" + top: "conv4_1/incep" +} +layer { + name: "conv4_1/out/conv" + type: "Convolution" + bottom: "conv4_1/incep" + top: "conv4_1/out" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 256 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_1/proj" + type: "Convolution" + bottom: "conv3_4" + top: "conv4_1/proj" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 256 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv4_1" + type: "Eltwise" + bottom: "conv4_1/out" + bottom: "conv4_1/proj" + top: "conv4_1" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv4_2/incep/bn" + type: "BatchNorm" + bottom: "conv4_1" + top: "conv4_2/incep/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_2/incep/bn_scale" + type: "Scale" + bottom: "conv4_2/incep/pre" + top: "conv4_2/incep/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_2/incep/relu" + type: "ReLU" + bottom: "conv4_2/incep/pre" + top: "conv4_2/incep/pre" +} +layer { + name: "conv4_2/incep/0/conv" + type: "Convolution" + bottom: "conv4_2/incep/pre" + top: "conv4_2/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_2/incep/0/bn" + type: "BatchNorm" + bottom: "conv4_2/incep/0" + top: "conv4_2/incep/0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_2/incep/0/bn_scale" + type: "Scale" + bottom: "conv4_2/incep/0" + top: "conv4_2/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_2/incep/0/relu" + type: "ReLU" + bottom: "conv4_2/incep/0" + top: "conv4_2/incep/0" +} +layer { + name: "conv4_2/incep/1_reduce/conv" + type: "Convolution" + bottom: "conv4_2/incep/pre" + top: "conv4_2/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_2/incep/1_reduce/bn" + type: "BatchNorm" + bottom: "conv4_2/incep/1_reduce" + top: "conv4_2/incep/1_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_2/incep/1_reduce/bn_scale" + type: "Scale" + bottom: "conv4_2/incep/1_reduce" + top: "conv4_2/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_2/incep/1_reduce/relu" + type: "ReLU" + bottom: "conv4_2/incep/1_reduce" + top: "conv4_2/incep/1_reduce" +} +layer { + name: "conv4_2/incep/1_0/conv" + type: "Convolution" + bottom: "conv4_2/incep/1_reduce" + top: "conv4_2/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 128 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_2/incep/1_0/bn" + type: "BatchNorm" + bottom: "conv4_2/incep/1_0" + top: "conv4_2/incep/1_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_2/incep/1_0/bn_scale" + type: "Scale" + bottom: "conv4_2/incep/1_0" + top: "conv4_2/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_2/incep/1_0/relu" + type: "ReLU" + bottom: "conv4_2/incep/1_0" + top: "conv4_2/incep/1_0" +} +layer { + name: "conv4_2/incep/2_reduce/conv" + type: "Convolution" + bottom: "conv4_2/incep/pre" + top: "conv4_2/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 24 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_2/incep/2_reduce/bn" + type: "BatchNorm" + bottom: "conv4_2/incep/2_reduce" + top: "conv4_2/incep/2_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_2/incep/2_reduce/bn_scale" + type: "Scale" + bottom: "conv4_2/incep/2_reduce" + top: "conv4_2/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_2/incep/2_reduce/relu" + type: "ReLU" + bottom: "conv4_2/incep/2_reduce" + top: "conv4_2/incep/2_reduce" +} +layer { + name: "conv4_2/incep/2_0/conv" + type: "Convolution" + bottom: "conv4_2/incep/2_reduce" + top: "conv4_2/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 48 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_2/incep/2_0/bn" + type: "BatchNorm" + bottom: "conv4_2/incep/2_0" + top: "conv4_2/incep/2_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_2/incep/2_0/bn_scale" + type: "Scale" + bottom: "conv4_2/incep/2_0" + top: "conv4_2/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_2/incep/2_0/relu" + type: "ReLU" + bottom: "conv4_2/incep/2_0" + top: "conv4_2/incep/2_0" +} +layer { + name: "conv4_2/incep/2_1/conv" + type: "Convolution" + bottom: "conv4_2/incep/2_0" + top: "conv4_2/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 48 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_2/incep/2_1/bn" + type: "BatchNorm" + bottom: "conv4_2/incep/2_1" + top: "conv4_2/incep/2_1" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_2/incep/2_1/bn_scale" + type: "Scale" + bottom: "conv4_2/incep/2_1" + top: "conv4_2/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_2/incep/2_1/relu" + type: "ReLU" + bottom: "conv4_2/incep/2_1" + top: "conv4_2/incep/2_1" +} +layer { + name: "conv4_2/incep" + type: "Concat" + bottom: "conv4_2/incep/0" + bottom: "conv4_2/incep/1_0" + bottom: "conv4_2/incep/2_1" + top: "conv4_2/incep" +} +layer { + name: "conv4_2/out/conv" + type: "Convolution" + bottom: "conv4_2/incep" + top: "conv4_2/out" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 256 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_2/input" + type: "Power" + bottom: "conv4_1" + top: "conv4_2/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv4_2" + type: "Eltwise" + bottom: "conv4_2/out" + bottom: "conv4_2/input" + top: "conv4_2" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv4_3/incep/bn" + type: "BatchNorm" + bottom: "conv4_2" + top: "conv4_3/incep/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_3/incep/bn_scale" + type: "Scale" + bottom: "conv4_3/incep/pre" + top: "conv4_3/incep/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_3/incep/relu" + type: "ReLU" + bottom: "conv4_3/incep/pre" + top: "conv4_3/incep/pre" +} +layer { + name: "conv4_3/incep/0/conv" + type: "Convolution" + bottom: "conv4_3/incep/pre" + top: "conv4_3/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_3/incep/0/bn" + type: "BatchNorm" + bottom: "conv4_3/incep/0" + top: "conv4_3/incep/0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_3/incep/0/bn_scale" + type: "Scale" + bottom: "conv4_3/incep/0" + top: "conv4_3/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_3/incep/0/relu" + type: "ReLU" + bottom: "conv4_3/incep/0" + top: "conv4_3/incep/0" +} +layer { + name: "conv4_3/incep/1_reduce/conv" + type: "Convolution" + bottom: "conv4_3/incep/pre" + top: "conv4_3/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_3/incep/1_reduce/bn" + type: "BatchNorm" + bottom: "conv4_3/incep/1_reduce" + top: "conv4_3/incep/1_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_3/incep/1_reduce/bn_scale" + type: "Scale" + bottom: "conv4_3/incep/1_reduce" + top: "conv4_3/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_3/incep/1_reduce/relu" + type: "ReLU" + bottom: "conv4_3/incep/1_reduce" + top: "conv4_3/incep/1_reduce" +} +layer { + name: "conv4_3/incep/1_0/conv" + type: "Convolution" + bottom: "conv4_3/incep/1_reduce" + top: "conv4_3/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 128 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_3/incep/1_0/bn" + type: "BatchNorm" + bottom: "conv4_3/incep/1_0" + top: "conv4_3/incep/1_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_3/incep/1_0/bn_scale" + type: "Scale" + bottom: "conv4_3/incep/1_0" + top: "conv4_3/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_3/incep/1_0/relu" + type: "ReLU" + bottom: "conv4_3/incep/1_0" + top: "conv4_3/incep/1_0" +} +layer { + name: "conv4_3/incep/2_reduce/conv" + type: "Convolution" + bottom: "conv4_3/incep/pre" + top: "conv4_3/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 24 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_3/incep/2_reduce/bn" + type: "BatchNorm" + bottom: "conv4_3/incep/2_reduce" + top: "conv4_3/incep/2_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_3/incep/2_reduce/bn_scale" + type: "Scale" + bottom: "conv4_3/incep/2_reduce" + top: "conv4_3/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_3/incep/2_reduce/relu" + type: "ReLU" + bottom: "conv4_3/incep/2_reduce" + top: "conv4_3/incep/2_reduce" +} +layer { + name: "conv4_3/incep/2_0/conv" + type: "Convolution" + bottom: "conv4_3/incep/2_reduce" + top: "conv4_3/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 48 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_3/incep/2_0/bn" + type: "BatchNorm" + bottom: "conv4_3/incep/2_0" + top: "conv4_3/incep/2_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_3/incep/2_0/bn_scale" + type: "Scale" + bottom: "conv4_3/incep/2_0" + top: "conv4_3/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_3/incep/2_0/relu" + type: "ReLU" + bottom: "conv4_3/incep/2_0" + top: "conv4_3/incep/2_0" +} +layer { + name: "conv4_3/incep/2_1/conv" + type: "Convolution" + bottom: "conv4_3/incep/2_0" + top: "conv4_3/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 48 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_3/incep/2_1/bn" + type: "BatchNorm" + bottom: "conv4_3/incep/2_1" + top: "conv4_3/incep/2_1" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_3/incep/2_1/bn_scale" + type: "Scale" + bottom: "conv4_3/incep/2_1" + top: "conv4_3/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_3/incep/2_1/relu" + type: "ReLU" + bottom: "conv4_3/incep/2_1" + top: "conv4_3/incep/2_1" +} +layer { + name: "conv4_3/incep" + type: "Concat" + bottom: "conv4_3/incep/0" + bottom: "conv4_3/incep/1_0" + bottom: "conv4_3/incep/2_1" + top: "conv4_3/incep" +} +layer { + name: "conv4_3/out/conv" + type: "Convolution" + bottom: "conv4_3/incep" + top: "conv4_3/out" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 256 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_3/input" + type: "Power" + bottom: "conv4_2" + top: "conv4_3/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv4_3" + type: "Eltwise" + bottom: "conv4_3/out" + bottom: "conv4_3/input" + top: "conv4_3" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv4_4/incep/bn" + type: "BatchNorm" + bottom: "conv4_3" + top: "conv4_4/incep/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_4/incep/bn_scale" + type: "Scale" + bottom: "conv4_4/incep/pre" + top: "conv4_4/incep/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_4/incep/relu" + type: "ReLU" + bottom: "conv4_4/incep/pre" + top: "conv4_4/incep/pre" +} +layer { + name: "conv4_4/incep/0/conv" + type: "Convolution" + bottom: "conv4_4/incep/pre" + top: "conv4_4/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_4/incep/0/bn" + type: "BatchNorm" + bottom: "conv4_4/incep/0" + top: "conv4_4/incep/0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_4/incep/0/bn_scale" + type: "Scale" + bottom: "conv4_4/incep/0" + top: "conv4_4/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_4/incep/0/relu" + type: "ReLU" + bottom: "conv4_4/incep/0" + top: "conv4_4/incep/0" +} +layer { + name: "conv4_4/incep/1_reduce/conv" + type: "Convolution" + bottom: "conv4_4/incep/pre" + top: "conv4_4/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_4/incep/1_reduce/bn" + type: "BatchNorm" + bottom: "conv4_4/incep/1_reduce" + top: "conv4_4/incep/1_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_4/incep/1_reduce/bn_scale" + type: "Scale" + bottom: "conv4_4/incep/1_reduce" + top: "conv4_4/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_4/incep/1_reduce/relu" + type: "ReLU" + bottom: "conv4_4/incep/1_reduce" + top: "conv4_4/incep/1_reduce" +} +layer { + name: "conv4_4/incep/1_0/conv" + type: "Convolution" + bottom: "conv4_4/incep/1_reduce" + top: "conv4_4/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 128 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_4/incep/1_0/bn" + type: "BatchNorm" + bottom: "conv4_4/incep/1_0" + top: "conv4_4/incep/1_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_4/incep/1_0/bn_scale" + type: "Scale" + bottom: "conv4_4/incep/1_0" + top: "conv4_4/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_4/incep/1_0/relu" + type: "ReLU" + bottom: "conv4_4/incep/1_0" + top: "conv4_4/incep/1_0" +} +layer { + name: "conv4_4/incep/2_reduce/conv" + type: "Convolution" + bottom: "conv4_4/incep/pre" + top: "conv4_4/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 24 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_4/incep/2_reduce/bn" + type: "BatchNorm" + bottom: "conv4_4/incep/2_reduce" + top: "conv4_4/incep/2_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_4/incep/2_reduce/bn_scale" + type: "Scale" + bottom: "conv4_4/incep/2_reduce" + top: "conv4_4/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_4/incep/2_reduce/relu" + type: "ReLU" + bottom: "conv4_4/incep/2_reduce" + top: "conv4_4/incep/2_reduce" +} +layer { + name: "conv4_4/incep/2_0/conv" + type: "Convolution" + bottom: "conv4_4/incep/2_reduce" + top: "conv4_4/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 48 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_4/incep/2_0/bn" + type: "BatchNorm" + bottom: "conv4_4/incep/2_0" + top: "conv4_4/incep/2_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_4/incep/2_0/bn_scale" + type: "Scale" + bottom: "conv4_4/incep/2_0" + top: "conv4_4/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_4/incep/2_0/relu" + type: "ReLU" + bottom: "conv4_4/incep/2_0" + top: "conv4_4/incep/2_0" +} +layer { + name: "conv4_4/incep/2_1/conv" + type: "Convolution" + bottom: "conv4_4/incep/2_0" + top: "conv4_4/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 48 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_4/incep/2_1/bn" + type: "BatchNorm" + bottom: "conv4_4/incep/2_1" + top: "conv4_4/incep/2_1" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv4_4/incep/2_1/bn_scale" + type: "Scale" + bottom: "conv4_4/incep/2_1" + top: "conv4_4/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv4_4/incep/2_1/relu" + type: "ReLU" + bottom: "conv4_4/incep/2_1" + top: "conv4_4/incep/2_1" +} +layer { + name: "conv4_4/incep" + type: "Concat" + bottom: "conv4_4/incep/0" + bottom: "conv4_4/incep/1_0" + bottom: "conv4_4/incep/2_1" + top: "conv4_4/incep" +} +layer { + name: "conv4_4/out/conv" + type: "Convolution" + bottom: "conv4_4/incep" + top: "conv4_4/out" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 256 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv4_4/input" + type: "Power" + bottom: "conv4_3" + top: "conv4_4/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv4_4" + type: "Eltwise" + bottom: "conv4_4/out" + bottom: "conv4_4/input" + top: "conv4_4" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv5_1/incep/bn" + type: "BatchNorm" + bottom: "conv4_4" + top: "conv5_1/incep/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_1/incep/bn_scale" + type: "Scale" + bottom: "conv5_1/incep/pre" + top: "conv5_1/incep/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_1/incep/relu" + type: "ReLU" + bottom: "conv5_1/incep/pre" + top: "conv5_1/incep/pre" +} +layer { + name: "conv5_1/incep/0/conv" + type: "Convolution" + bottom: "conv5_1/incep/pre" + top: "conv5_1/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv5_1/incep/0/bn" + type: "BatchNorm" + bottom: "conv5_1/incep/0" + top: "conv5_1/incep/0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_1/incep/0/bn_scale" + type: "Scale" + bottom: "conv5_1/incep/0" + top: "conv5_1/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_1/incep/0/relu" + type: "ReLU" + bottom: "conv5_1/incep/0" + top: "conv5_1/incep/0" +} +layer { + name: "conv5_1/incep/1_reduce/conv" + type: "Convolution" + bottom: "conv5_1/incep/pre" + top: "conv5_1/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 96 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv5_1/incep/1_reduce/bn" + type: "BatchNorm" + bottom: "conv5_1/incep/1_reduce" + top: "conv5_1/incep/1_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_1/incep/1_reduce/bn_scale" + type: "Scale" + bottom: "conv5_1/incep/1_reduce" + top: "conv5_1/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_1/incep/1_reduce/relu" + type: "ReLU" + bottom: "conv5_1/incep/1_reduce" + top: "conv5_1/incep/1_reduce" +} +layer { + name: "conv5_1/incep/1_0/conv" + type: "Convolution" + bottom: "conv5_1/incep/1_reduce" + top: "conv5_1/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 192 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_1/incep/1_0/bn" + type: "BatchNorm" + bottom: "conv5_1/incep/1_0" + top: "conv5_1/incep/1_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_1/incep/1_0/bn_scale" + type: "Scale" + bottom: "conv5_1/incep/1_0" + top: "conv5_1/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_1/incep/1_0/relu" + type: "ReLU" + bottom: "conv5_1/incep/1_0" + top: "conv5_1/incep/1_0" +} +layer { + name: "conv5_1/incep/2_reduce/conv" + type: "Convolution" + bottom: "conv5_1/incep/pre" + top: "conv5_1/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 32 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv5_1/incep/2_reduce/bn" + type: "BatchNorm" + bottom: "conv5_1/incep/2_reduce" + top: "conv5_1/incep/2_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_1/incep/2_reduce/bn_scale" + type: "Scale" + bottom: "conv5_1/incep/2_reduce" + top: "conv5_1/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_1/incep/2_reduce/relu" + type: "ReLU" + bottom: "conv5_1/incep/2_reduce" + top: "conv5_1/incep/2_reduce" +} +layer { + name: "conv5_1/incep/2_0/conv" + type: "Convolution" + bottom: "conv5_1/incep/2_reduce" + top: "conv5_1/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_1/incep/2_0/bn" + type: "BatchNorm" + bottom: "conv5_1/incep/2_0" + top: "conv5_1/incep/2_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_1/incep/2_0/bn_scale" + type: "Scale" + bottom: "conv5_1/incep/2_0" + top: "conv5_1/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_1/incep/2_0/relu" + type: "ReLU" + bottom: "conv5_1/incep/2_0" + top: "conv5_1/incep/2_0" +} +layer { + name: "conv5_1/incep/2_1/conv" + type: "Convolution" + bottom: "conv5_1/incep/2_0" + top: "conv5_1/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_1/incep/2_1/bn" + type: "BatchNorm" + bottom: "conv5_1/incep/2_1" + top: "conv5_1/incep/2_1" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_1/incep/2_1/bn_scale" + type: "Scale" + bottom: "conv5_1/incep/2_1" + top: "conv5_1/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_1/incep/2_1/relu" + type: "ReLU" + bottom: "conv5_1/incep/2_1" + top: "conv5_1/incep/2_1" +} +layer { + name: "conv5_1/incep/pool" + type: "Pooling" + bottom: "conv5_1/incep/pre" + top: "conv5_1/incep/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + pad: 0 + } +} +layer { + name: "conv5_1/incep/poolproj/conv" + type: "Convolution" + bottom: "conv5_1/incep/pool" + top: "conv5_1/incep/poolproj" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 128 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_1/incep/poolproj/bn" + type: "BatchNorm" + bottom: "conv5_1/incep/poolproj" + top: "conv5_1/incep/poolproj" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_1/incep/poolproj/bn_scale" + type: "Scale" + bottom: "conv5_1/incep/poolproj" + top: "conv5_1/incep/poolproj" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_1/incep/poolproj/relu" + type: "ReLU" + bottom: "conv5_1/incep/poolproj" + top: "conv5_1/incep/poolproj" +} +layer { + name: "conv5_1/incep" + type: "Concat" + bottom: "conv5_1/incep/0" + bottom: "conv5_1/incep/1_0" + bottom: "conv5_1/incep/2_1" + bottom: "conv5_1/incep/poolproj" + top: "conv5_1/incep" +} +layer { + name: "conv5_1/out/conv" + type: "Convolution" + bottom: "conv5_1/incep" + top: "conv5_1/out" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 384 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_1/proj" + type: "Convolution" + bottom: "conv4_4" + top: "conv5_1/proj" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 384 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 2 + stride_w: 2 + } +} +layer { + name: "conv5_1" + type: "Eltwise" + bottom: "conv5_1/out" + bottom: "conv5_1/proj" + top: "conv5_1" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv5_2/incep/bn" + type: "BatchNorm" + bottom: "conv5_1" + top: "conv5_2/incep/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_2/incep/bn_scale" + type: "Scale" + bottom: "conv5_2/incep/pre" + top: "conv5_2/incep/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_2/incep/relu" + type: "ReLU" + bottom: "conv5_2/incep/pre" + top: "conv5_2/incep/pre" +} +layer { + name: "conv5_2/incep/0/conv" + type: "Convolution" + bottom: "conv5_2/incep/pre" + top: "conv5_2/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_2/incep/0/bn" + type: "BatchNorm" + bottom: "conv5_2/incep/0" + top: "conv5_2/incep/0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_2/incep/0/bn_scale" + type: "Scale" + bottom: "conv5_2/incep/0" + top: "conv5_2/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_2/incep/0/relu" + type: "ReLU" + bottom: "conv5_2/incep/0" + top: "conv5_2/incep/0" +} +layer { + name: "conv5_2/incep/1_reduce/conv" + type: "Convolution" + bottom: "conv5_2/incep/pre" + top: "conv5_2/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 96 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_2/incep/1_reduce/bn" + type: "BatchNorm" + bottom: "conv5_2/incep/1_reduce" + top: "conv5_2/incep/1_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_2/incep/1_reduce/bn_scale" + type: "Scale" + bottom: "conv5_2/incep/1_reduce" + top: "conv5_2/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_2/incep/1_reduce/relu" + type: "ReLU" + bottom: "conv5_2/incep/1_reduce" + top: "conv5_2/incep/1_reduce" +} +layer { + name: "conv5_2/incep/1_0/conv" + type: "Convolution" + bottom: "conv5_2/incep/1_reduce" + top: "conv5_2/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 192 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_2/incep/1_0/bn" + type: "BatchNorm" + bottom: "conv5_2/incep/1_0" + top: "conv5_2/incep/1_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_2/incep/1_0/bn_scale" + type: "Scale" + bottom: "conv5_2/incep/1_0" + top: "conv5_2/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_2/incep/1_0/relu" + type: "ReLU" + bottom: "conv5_2/incep/1_0" + top: "conv5_2/incep/1_0" +} +layer { + name: "conv5_2/incep/2_reduce/conv" + type: "Convolution" + bottom: "conv5_2/incep/pre" + top: "conv5_2/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 32 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_2/incep/2_reduce/bn" + type: "BatchNorm" + bottom: "conv5_2/incep/2_reduce" + top: "conv5_2/incep/2_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_2/incep/2_reduce/bn_scale" + type: "Scale" + bottom: "conv5_2/incep/2_reduce" + top: "conv5_2/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_2/incep/2_reduce/relu" + type: "ReLU" + bottom: "conv5_2/incep/2_reduce" + top: "conv5_2/incep/2_reduce" +} +layer { + name: "conv5_2/incep/2_0/conv" + type: "Convolution" + bottom: "conv5_2/incep/2_reduce" + top: "conv5_2/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_2/incep/2_0/bn" + type: "BatchNorm" + bottom: "conv5_2/incep/2_0" + top: "conv5_2/incep/2_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_2/incep/2_0/bn_scale" + type: "Scale" + bottom: "conv5_2/incep/2_0" + top: "conv5_2/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_2/incep/2_0/relu" + type: "ReLU" + bottom: "conv5_2/incep/2_0" + top: "conv5_2/incep/2_0" +} +layer { + name: "conv5_2/incep/2_1/conv" + type: "Convolution" + bottom: "conv5_2/incep/2_0" + top: "conv5_2/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_2/incep/2_1/bn" + type: "BatchNorm" + bottom: "conv5_2/incep/2_1" + top: "conv5_2/incep/2_1" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_2/incep/2_1/bn_scale" + type: "Scale" + bottom: "conv5_2/incep/2_1" + top: "conv5_2/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_2/incep/2_1/relu" + type: "ReLU" + bottom: "conv5_2/incep/2_1" + top: "conv5_2/incep/2_1" +} +layer { + name: "conv5_2/incep" + type: "Concat" + bottom: "conv5_2/incep/0" + bottom: "conv5_2/incep/1_0" + bottom: "conv5_2/incep/2_1" + top: "conv5_2/incep" +} +layer { + name: "conv5_2/out/conv" + type: "Convolution" + bottom: "conv5_2/incep" + top: "conv5_2/out" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 384 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_2/input" + type: "Power" + bottom: "conv5_1" + top: "conv5_2/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv5_2" + type: "Eltwise" + bottom: "conv5_2/out" + bottom: "conv5_2/input" + top: "conv5_2" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv5_3/incep/bn" + type: "BatchNorm" + bottom: "conv5_2" + top: "conv5_3/incep/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_3/incep/bn_scale" + type: "Scale" + bottom: "conv5_3/incep/pre" + top: "conv5_3/incep/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_3/incep/relu" + type: "ReLU" + bottom: "conv5_3/incep/pre" + top: "conv5_3/incep/pre" +} +layer { + name: "conv5_3/incep/0/conv" + type: "Convolution" + bottom: "conv5_3/incep/pre" + top: "conv5_3/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_3/incep/0/bn" + type: "BatchNorm" + bottom: "conv5_3/incep/0" + top: "conv5_3/incep/0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_3/incep/0/bn_scale" + type: "Scale" + bottom: "conv5_3/incep/0" + top: "conv5_3/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_3/incep/0/relu" + type: "ReLU" + bottom: "conv5_3/incep/0" + top: "conv5_3/incep/0" +} +layer { + name: "conv5_3/incep/1_reduce/conv" + type: "Convolution" + bottom: "conv5_3/incep/pre" + top: "conv5_3/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 96 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_3/incep/1_reduce/bn" + type: "BatchNorm" + bottom: "conv5_3/incep/1_reduce" + top: "conv5_3/incep/1_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_3/incep/1_reduce/bn_scale" + type: "Scale" + bottom: "conv5_3/incep/1_reduce" + top: "conv5_3/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_3/incep/1_reduce/relu" + type: "ReLU" + bottom: "conv5_3/incep/1_reduce" + top: "conv5_3/incep/1_reduce" +} +layer { + name: "conv5_3/incep/1_0/conv" + type: "Convolution" + bottom: "conv5_3/incep/1_reduce" + top: "conv5_3/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 192 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_3/incep/1_0/bn" + type: "BatchNorm" + bottom: "conv5_3/incep/1_0" + top: "conv5_3/incep/1_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_3/incep/1_0/bn_scale" + type: "Scale" + bottom: "conv5_3/incep/1_0" + top: "conv5_3/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_3/incep/1_0/relu" + type: "ReLU" + bottom: "conv5_3/incep/1_0" + top: "conv5_3/incep/1_0" +} +layer { + name: "conv5_3/incep/2_reduce/conv" + type: "Convolution" + bottom: "conv5_3/incep/pre" + top: "conv5_3/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 32 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_3/incep/2_reduce/bn" + type: "BatchNorm" + bottom: "conv5_3/incep/2_reduce" + top: "conv5_3/incep/2_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_3/incep/2_reduce/bn_scale" + type: "Scale" + bottom: "conv5_3/incep/2_reduce" + top: "conv5_3/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_3/incep/2_reduce/relu" + type: "ReLU" + bottom: "conv5_3/incep/2_reduce" + top: "conv5_3/incep/2_reduce" +} +layer { + name: "conv5_3/incep/2_0/conv" + type: "Convolution" + bottom: "conv5_3/incep/2_reduce" + top: "conv5_3/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_3/incep/2_0/bn" + type: "BatchNorm" + bottom: "conv5_3/incep/2_0" + top: "conv5_3/incep/2_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_3/incep/2_0/bn_scale" + type: "Scale" + bottom: "conv5_3/incep/2_0" + top: "conv5_3/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_3/incep/2_0/relu" + type: "ReLU" + bottom: "conv5_3/incep/2_0" + top: "conv5_3/incep/2_0" +} +layer { + name: "conv5_3/incep/2_1/conv" + type: "Convolution" + bottom: "conv5_3/incep/2_0" + top: "conv5_3/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_3/incep/2_1/bn" + type: "BatchNorm" + bottom: "conv5_3/incep/2_1" + top: "conv5_3/incep/2_1" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_3/incep/2_1/bn_scale" + type: "Scale" + bottom: "conv5_3/incep/2_1" + top: "conv5_3/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_3/incep/2_1/relu" + type: "ReLU" + bottom: "conv5_3/incep/2_1" + top: "conv5_3/incep/2_1" +} +layer { + name: "conv5_3/incep" + type: "Concat" + bottom: "conv5_3/incep/0" + bottom: "conv5_3/incep/1_0" + bottom: "conv5_3/incep/2_1" + top: "conv5_3/incep" +} +layer { + name: "conv5_3/out/conv" + type: "Convolution" + bottom: "conv5_3/incep" + top: "conv5_3/out" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + param { + lr_mult: 0.2 + decay_mult: 0.0 + } + convolution_param { + num_output: 384 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_3/input" + type: "Power" + bottom: "conv5_2" + top: "conv5_3/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv5_3" + type: "Eltwise" + bottom: "conv5_3/out" + bottom: "conv5_3/input" + top: "conv5_3" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv5_4/incep/bn" + type: "BatchNorm" + bottom: "conv5_3" + top: "conv5_4/incep/pre" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_4/incep/bn_scale" + type: "Scale" + bottom: "conv5_4/incep/pre" + top: "conv5_4/incep/pre" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_4/incep/relu" + type: "ReLU" + bottom: "conv5_4/incep/pre" + top: "conv5_4/incep/pre" +} +layer { + name: "conv5_4/incep/0/conv" + type: "Convolution" + bottom: "conv5_4/incep/pre" + top: "conv5_4/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_4/incep/0/bn" + type: "BatchNorm" + bottom: "conv5_4/incep/0" + top: "conv5_4/incep/0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_4/incep/0/bn_scale" + type: "Scale" + bottom: "conv5_4/incep/0" + top: "conv5_4/incep/0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_4/incep/0/relu" + type: "ReLU" + bottom: "conv5_4/incep/0" + top: "conv5_4/incep/0" +} +layer { + name: "conv5_4/incep/1_reduce/conv" + type: "Convolution" + bottom: "conv5_4/incep/pre" + top: "conv5_4/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 96 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_4/incep/1_reduce/bn" + type: "BatchNorm" + bottom: "conv5_4/incep/1_reduce" + top: "conv5_4/incep/1_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_4/incep/1_reduce/bn_scale" + type: "Scale" + bottom: "conv5_4/incep/1_reduce" + top: "conv5_4/incep/1_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_4/incep/1_reduce/relu" + type: "ReLU" + bottom: "conv5_4/incep/1_reduce" + top: "conv5_4/incep/1_reduce" +} +layer { + name: "conv5_4/incep/1_0/conv" + type: "Convolution" + bottom: "conv5_4/incep/1_reduce" + top: "conv5_4/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 192 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_4/incep/1_0/bn" + type: "BatchNorm" + bottom: "conv5_4/incep/1_0" + top: "conv5_4/incep/1_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_4/incep/1_0/bn_scale" + type: "Scale" + bottom: "conv5_4/incep/1_0" + top: "conv5_4/incep/1_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_4/incep/1_0/relu" + type: "ReLU" + bottom: "conv5_4/incep/1_0" + top: "conv5_4/incep/1_0" +} +layer { + name: "conv5_4/incep/2_reduce/conv" + type: "Convolution" + bottom: "conv5_4/incep/pre" + top: "conv5_4/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 32 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_4/incep/2_reduce/bn" + type: "BatchNorm" + bottom: "conv5_4/incep/2_reduce" + top: "conv5_4/incep/2_reduce" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_4/incep/2_reduce/bn_scale" + type: "Scale" + bottom: "conv5_4/incep/2_reduce" + top: "conv5_4/incep/2_reduce" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_4/incep/2_reduce/relu" + type: "ReLU" + bottom: "conv5_4/incep/2_reduce" + top: "conv5_4/incep/2_reduce" +} +layer { + name: "conv5_4/incep/2_0/conv" + type: "Convolution" + bottom: "conv5_4/incep/2_reduce" + top: "conv5_4/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_4/incep/2_0/bn" + type: "BatchNorm" + bottom: "conv5_4/incep/2_0" + top: "conv5_4/incep/2_0" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_4/incep/2_0/bn_scale" + type: "Scale" + bottom: "conv5_4/incep/2_0" + top: "conv5_4/incep/2_0" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_4/incep/2_0/relu" + type: "ReLU" + bottom: "conv5_4/incep/2_0" + top: "conv5_4/incep/2_0" +} +layer { + name: "conv5_4/incep/2_1/conv" + type: "Convolution" + bottom: "conv5_4/incep/2_0" + top: "conv5_4/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 64 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 1 + pad_w: 1 + kernel_h: 3 + kernel_w: 3 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_4/incep/2_1/bn" + type: "BatchNorm" + bottom: "conv5_4/incep/2_1" + top: "conv5_4/incep/2_1" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_4/incep/2_1/bn_scale" + type: "Scale" + bottom: "conv5_4/incep/2_1" + top: "conv5_4/incep/2_1" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_4/incep/2_1/relu" + type: "ReLU" + bottom: "conv5_4/incep/2_1" + top: "conv5_4/incep/2_1" +} +layer { + name: "conv5_4/incep" + type: "Concat" + bottom: "conv5_4/incep/0" + bottom: "conv5_4/incep/1_0" + bottom: "conv5_4/incep/2_1" + top: "conv5_4/incep" +} +layer { + name: "conv5_4/out/conv" + type: "Convolution" + bottom: "conv5_4/incep" + top: "conv5_4/out" + param { + lr_mult: 0.1 + decay_mult: 0.1 + } + convolution_param { + num_output: 384 + bias_term: false + weight_filler { + type: "xavier" + } + pad_h: 0 + pad_w: 0 + kernel_h: 1 + kernel_w: 1 + stride_h: 1 + stride_w: 1 + } +} +layer { + name: "conv5_4/out/bn" + type: "BatchNorm" + bottom: "conv5_4/out" + top: "conv5_4/out" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_4/out/bn_scale" + type: "Scale" + bottom: "conv5_4/out" + top: "conv5_4/out" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_4/input" + type: "Power" + bottom: "conv5_3" + top: "conv5_4/input" + power_param { + power: 1 + scale: 1 + shift: 0 + } +} +layer { + name: "conv5_4" + type: "Eltwise" + bottom: "conv5_4/out" + bottom: "conv5_4/input" + top: "conv5_4" + eltwise_param { + operation: SUM + coeff: 1 + coeff: 1 + } +} +layer { + name: "conv5_4/last_bn" + type: "BatchNorm" + bottom: "conv5_4" + top: "conv5_4" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "conv5_4/last_bn_scale" + type: "Scale" + bottom: "conv5_4" + top: "conv5_4" + param { + lr_mult: 0.1 + decay_mult: 0 + } + param { + lr_mult: 0.1 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv5_4/last_relu" + type: "ReLU" + bottom: "conv5_4" + top: "conv5_4" +} + +### hyper feature ### +layer { + name: "downsample" + type: "Pooling" + bottom: "conv3_4" + top: "downsample" + pooling_param { kernel_size: 3 stride: 2 pad: 0 pool: MAX } +} +layer { + name: "upsample" + type: "Deconvolution" + bottom: "conv5_4" + top: "upsample" + param { lr_mult: 0 decay_mult: 0} + convolution_param { + num_output: 384 kernel_size: 4 pad: 1 stride: 2 group: 384 + weight_filler: {type: "bilinear" } + bias_term: false + } +} +layer { + name: "concat" + bottom: "downsample" + bottom: "conv4_4" + bottom: "upsample" + top: "concat" + type: "Concat" + concat_param { axis: 1 } +} + +layer { + name: "convf_rpn" + type: "Convolution" + bottom: "concat" + top: "convf_rpn" + param { lr_mult: 1.0 decay_mult: 1.0 } + param { lr_mult: 2.0 decay_mult: 0 } + convolution_param { + num_output: 128 kernel_size: 1 pad: 0 stride: 1 + weight_filler { type: "xavier" std: 0.1 } + bias_filler { type: "constant" value: 0.1 } + } +} +layer { + name: "reluf_rpn" + type: "ReLU" + bottom: "convf_rpn" + top: "convf_rpn" +} + + +layer { + name: "convf_2" + type: "Convolution" + bottom: "concat" + top: "convf_2" + param { lr_mult: 1.0 decay_mult: 1.0 } + param { lr_mult: 2.0 decay_mult: 0 } + convolution_param { + num_output: 384 kernel_size: 1 pad: 0 stride: 1 + weight_filler { type: "xavier" std: 0.1 } + bias_filler { type: "constant" value: 0.1 } + } +} +layer { + name: "reluf_2" + type: "ReLU" + bottom: "convf_2" + top: "convf_2" +} + +layer { + name: "concat_convf" + bottom: "convf_rpn" + bottom: "convf_2" + top: "convf" + type: "Concat" + concat_param { axis: 1 } +} + +################################################################################ +## RPN +################################################################################ + +### RPN conv ### +layer { + name: "rpn_conv1" + type: "Convolution" + bottom: "convf_rpn" + top: "rpn_conv1" + param { lr_mult: 1.0 decay_mult: 1.0 } + param { lr_mult: 2.0 decay_mult: 0 } + convolution_param { + num_output: 384 kernel_size: 3 pad: 1 stride: 1 + weight_filler { type: "gaussian" std: 0.01 } + bias_filler { type: "constant" value: 0 } + } +} +layer { + name: "rpn_relu1" + type: "ReLU" + bottom: "rpn_conv1" + top: "rpn_conv1" +} +layer { + name: "rpn_cls_score" + type: "Convolution" + bottom: "rpn_conv1" + top: "rpn_cls_score" + param { lr_mult: 1.0 decay_mult: 1.0 } + param { lr_mult: 2.0 decay_mult: 0 } + convolution_param { + num_output: 84 # 2(bg/fg) * 42(anchors) + kernel_size: 1 pad: 0 stride: 1 + weight_filler { type: "gaussian" std: 0.01 } + bias_filler { type: "constant" value: 0 } + } +} +layer { + name: "rpn_bbox_pred" + type: "Convolution" + bottom: "rpn_conv1" + top: "rpn_bbox_pred" + param { lr_mult: 1.0 decay_mult: 1.0 } + param { lr_mult: 2.0 decay_mult: 0 } + convolution_param { + num_output: 168 # 4 * 42(anchors) + kernel_size: 1 pad: 0 stride: 1 + weight_filler { type: "gaussian" std: 0.01 } + bias_filler { type: "constant" value: 0 } + } +} +layer { + bottom: "rpn_cls_score" + top: "rpn_cls_score_reshape" + name: "rpn_cls_score_reshape" + type: "Reshape" + reshape_param { shape { dim: 0 dim: 2 dim: -1 dim: 0 } } +} + +################################################################################ +## Proposal +################################################################################ +layer { + name: "rpn_cls_prob" + type: "Softmax" + bottom: "rpn_cls_score_reshape" + top: "rpn_cls_prob" +} +layer { + name: 'rpn_cls_prob_reshape' + type: 'Reshape' + bottom: 'rpn_cls_prob' + top: 'rpn_cls_prob_reshape' + reshape_param { shape { dim: 0 dim: 84 dim: -1 dim: 0 } } +} +#layer { +# name: 'proposal' +# type: 'Python' +# bottom: 'rpn_cls_prob_reshape' +# bottom: 'rpn_bbox_pred' +# bottom: 'im_info' +# bottom: 'gt_boxes' +# top: 'rois' +# top: 'labels' +# top: 'bbox_targets' +# top: 'bbox_inside_weights' +# top: 'bbox_outside_weights' +# include { phase: TRAIN } +# python_param { +# module: 'rpn.proposal_layer' +# layer: 'ProposalLayer2' +# param_str: "{'feat_stride': 16, 'num_classes': 21, 'ratios': [0.333, 0.5, 0.667, 1, 1.5, 2, 3], 'scales': [2, 3, 5, 9, 16, 32]}" +# } +#} +layer { + name: 'proposal' + type: 'Python' + bottom: 'rpn_cls_prob_reshape' + bottom: 'rpn_bbox_pred' + bottom: 'im_info' + top: 'rois' + top: 'scores' + include { phase: TEST } + python_param { + module: 'rpn.proposal_layer' + layer: 'ProposalLayer' + param_str: "{'feat_stride': 16, 'ratios': [0.333, 0.5, 0.667, 1, 1.5, 2, 3], 'scales': [2, 3, 5, 9, 16, 32]}" + } +} + +################################################################################ +## RCNN +################################################################################ +layer { + name: "roi_pool_conv5" + type: "ROIPooling" + bottom: "convf" + bottom: "rois" + top: "roi_pool_conv5" + roi_pooling_param { + pooled_w: 6 + pooled_h: 6 + spatial_scale: 0.0625 # 1/16 + } +} +layer { + name: "fc6" + type: "InnerProduct" + bottom: "roi_pool_conv5" + top: "fc6" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 0.0 + } + inner_product_param { + num_output: 4096 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "fc6/bn" + type: "BatchNorm" + bottom: "fc6" + top: "fc6" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "fc6/scale" + type: "Scale" + bottom: "fc6" + top: "fc6" + param { + lr_mult: 1.0 + decay_mult: 0 + } + param { + lr_mult: 1.0 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "fc6/dropout" + type: "Dropout" + bottom: "fc6" + top: "fc6" + dropout_param { + dropout_ratio: 0.25 + } +} +layer { + name: "fc6/relu" + type: "ReLU" + bottom: "fc6" + top: "fc6" +} +layer { + name: "fc7" + type: "InnerProduct" + bottom: "fc6" + top: "fc7" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 0.0 + } + inner_product_param { + num_output: 4096 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "fc7/bn" + type: "BatchNorm" + bottom: "fc7" + top: "fc7" + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + param { + lr_mult: 0 + decay_mult: 0 + } + batch_norm_param { + use_global_stats: true + } +} +layer { + name: "fc7/scale" + type: "Scale" + bottom: "fc7" + top: "fc7" + param { + lr_mult: 1.0 + decay_mult: 0 + } + param { + lr_mult: 1.0 + decay_mult: 0 + } + scale_param { + bias_term: true + } +} +layer { + name: "fc7/dropout" + type: "Dropout" + bottom: "fc7" + top: "fc7" + dropout_param { + dropout_ratio: 0.25 + } +} +layer { + name: "fc7/relu" + type: "ReLU" + bottom: "fc7" + top: "fc7" +} +layer { + name: "cls_score" + type: "InnerProduct" + bottom: "fc7" + top: "cls_score" + param { lr_mult: 1.0 } + param { lr_mult: 2.0 } + inner_product_param { + num_output: 21 + weight_filler { type: "gaussian" std: 0.01 } + bias_filler { type: "constant" value: 0 } + } +} +layer { + name: "bbox_pred" + type: "InnerProduct" + bottom: "fc7" + top: "bbox_pred" + param { lr_mult: 1.0 } + param { lr_mult: 2.0 } + inner_product_param { + num_output: 84 + weight_filler { type: "gaussian" std: 0.001 } + bias_filler { type: "constant" value: 0 } + } +} +layer { + name: "cls_prob" + type: "Softmax" + bottom: "cls_score" + top: "cls_prob" + include { phase: TEST } + loss_param { + ignore_label: -1 + normalize: true + } +}