From bda1c17077e40fc156e197885796e9f6604bb034 Mon Sep 17 00:00:00 2001 From: Daisy Deng Date: Fri, 25 Aug 2017 21:43:04 +0800 Subject: [PATCH 1/8] update MKLDNN to 27420a241b2efd8d88f1e003635434194fdfb1b8 for KNM release --- mkldnn.commit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkldnn.commit b/mkldnn.commit index 7eb0167ed..4c279b216 100644 --- a/mkldnn.commit +++ b/mkldnn.commit @@ -1 +1 @@ -171572a205c71f5bbb08657de5660c9d06cf2d8f +27420a241b2efd8d88f1e003635434194fdfb1b8 From 6b376717237169e10520c7a402c92fc04e9197f5 Mon Sep 17 00:00:00 2001 From: Daisy Deng Date: Sat, 26 Aug 2017 00:53:24 +0800 Subject: [PATCH 2/8] update mkl2017 version --- external/mkl/prepare_mkl.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/external/mkl/prepare_mkl.sh b/external/mkl/prepare_mkl.sh index b68bc7aec..f563fe088 100755 --- a/external/mkl/prepare_mkl.sh +++ b/external/mkl/prepare_mkl.sh @@ -74,8 +74,8 @@ echo $VERSION_LINE # Return Version Line # MKL DST=`dirname $0` OMP=0 -VERSION_MATCH=20170425 -ARCHIVE_BASENAME=mklml_lnx_2018.0.20170425.tgz +VERSION_MATCH=20170720 +ARCHIVE_BASENAME=mklml_lnx_2018.0.20170720.tgz MKL_CONTENT_DIR=`echo $ARCHIVE_BASENAME | rev | cut -d "." -f 2- | rev` GITHUB_RELEASE_TAG=1.0.0 From d121dfde22aaf6405e9b534b36947fc7d18ce8f1 Mon Sep 17 00:00:00 2001 From: Daisy Deng Date: Mon, 28 Aug 2017 21:42:31 +0800 Subject: [PATCH 3/8] change GITHUB_RELEASE_TAG --- external/mkl/prepare_mkl.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/mkl/prepare_mkl.sh b/external/mkl/prepare_mkl.sh index f563fe088..09284dc41 100755 --- a/external/mkl/prepare_mkl.sh +++ b/external/mkl/prepare_mkl.sh @@ -77,7 +77,7 @@ OMP=0 VERSION_MATCH=20170720 ARCHIVE_BASENAME=mklml_lnx_2018.0.20170720.tgz MKL_CONTENT_DIR=`echo $ARCHIVE_BASENAME | rev | cut -d "." -f 2- | rev` -GITHUB_RELEASE_TAG=1.0.0 +GITHUB_RELEASE_TAG=1.0.2 MKLURL="https://github.com/intel/caffe/releases/download/$GITHUB_RELEASE_TAG/$ARCHIVE_BASENAME" # there are diffrent MKL lib to be used for GCC and for ICC From 3b895983a793622ad4a292d0adbab7f515e1fb2e Mon Sep 17 00:00:00 2001 From: Daisy Deng Date: Sat, 2 Sep 2017 04:29:53 +0800 Subject: [PATCH 4/8] remove unverified models --- .../googlenet_16nodes/solver.prototxt | 27 - .../googlenet_16nodes/train_val.prototxt | 2434 ---------- .../googlenet_v2_4nodes/solver.prototxt | 24 - .../googlenet_v2_4nodes/train_val.prototxt | 4044 ----------------- .../resnet_50_16_nodes/solver.prototxt | 15 - .../resnet_50_16_nodes/train_val.prototxt | 2306 ---------- 6 files changed, 8850 deletions(-) delete mode 100644 models/intel_optimized_models/multinode/googlenet_16nodes/solver.prototxt delete mode 100644 models/intel_optimized_models/multinode/googlenet_16nodes/train_val.prototxt delete mode 100644 models/intel_optimized_models/multinode/googlenet_v2_4nodes/solver.prototxt delete mode 100644 models/intel_optimized_models/multinode/googlenet_v2_4nodes/train_val.prototxt delete mode 100644 models/intel_optimized_models/multinode/resnet_50_16_nodes/solver.prototxt delete mode 100644 models/intel_optimized_models/multinode/resnet_50_16_nodes/train_val.prototxt diff --git a/models/intel_optimized_models/multinode/googlenet_16nodes/solver.prototxt b/models/intel_optimized_models/multinode/googlenet_16nodes/solver.prototxt deleted file mode 100644 index 4c9b59fc4..000000000 --- a/models/intel_optimized_models/multinode/googlenet_16nodes/solver.prototxt +++ /dev/null @@ -1,27 +0,0 @@ -#This is Intel(R) optimized (in terms of time to train) version of solver for model described in the [GoogLeNet](http://arxiv.org/abs/1409.4842) publication. -#Original solver.prototxt can be found in /models/bvlc_googlenet/ directory of this repository. -#Differences: -#- base_lr is set to 0.065 -#- max_iter is set to 100000 -# -#- bias_filler value changed to 0.1 -# -#Top-5 and Top-1 results achieved with this version of solver: -#Top-5: 88.74% -#Top-1: 68.35% -#Training was performed using server equipped with Intel(R) Xeon Phi(TM) CPU 7250 processor. -net: "models/intel_optimized_models/multinode/googlenet_16nodes/train_val.prototxt" -#test_iter: 1000 -#test_interval: 10000 -#test_initialization: false -display: 40 -average_loss: 40 -base_lr: 0.065 -lr_policy: "poly" -power: 0.5 -max_iter: 100000 -momentum: 0.9 -weight_decay: 0.0002 -snapshot: 50000 -snapshot_prefix: "models/intel_optimized_models/multinode/googlenet_16nodes/googlenet" -solver_mode: CPU diff --git a/models/intel_optimized_models/multinode/googlenet_16nodes/train_val.prototxt b/models/intel_optimized_models/multinode/googlenet_16nodes/train_val.prototxt deleted file mode 100644 index f5276ab97..000000000 --- a/models/intel_optimized_models/multinode/googlenet_16nodes/train_val.prototxt +++ /dev/null @@ -1,2434 +0,0 @@ -name: "GoogleNet" -layer { - name: "data" - type: "Data" - top: "data" - top: "label" - include { - phase: TRAIN - } - transform_param { - mirror: true - crop_size: 224 - mean_value: 104 - mean_value: 117 - mean_value: 123 - } - data_param { - source: "examples/imagenet/ilsvrc12_train_lmdb" - batch_size: 64 - backend: LMDB - shuffle: true - } -} -layer { - name: "data" - type: "Data" - top: "data" - top: "label" - include { - phase: TEST - } - transform_param { - mirror: false - crop_size: 224 - mean_value: 104 - mean_value: 117 - mean_value: 123 - } - data_param { - source: "examples/imagenet/ilsvrc12_val_lmdb" - batch_size: 50 - backend: LMDB - } -} -layer { - name: "conv1/7x7_s2" - type: "Convolution" - bottom: "data" - top: "conv1/7x7_s2" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - pad: 3 - kernel_size: 7 - stride: 2 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "conv1/relu_7x7" - type: "ReLU" - bottom: "conv1/7x7_s2" - top: "conv1/7x7_s2" -} -layer { - name: "pool1/3x3_s2" - type: "Pooling" - bottom: "conv1/7x7_s2" - top: "pool1/3x3_s2" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layer { - name: "pool1/norm1" - type: "LRN" - bottom: "pool1/3x3_s2" - top: "pool1/norm1" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layer { - name: "conv2/3x3_reduce" - type: "Convolution" - bottom: "pool1/norm1" - top: "conv2/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "conv2/relu_3x3_reduce" - type: "ReLU" - bottom: "conv2/3x3_reduce" - top: "conv2/3x3_reduce" -} -layer { - name: "conv2/3x3" - type: "Convolution" - bottom: "conv2/3x3_reduce" - top: "conv2/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 192 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "conv2/relu_3x3" - type: "ReLU" - bottom: "conv2/3x3" - top: "conv2/3x3" -} -layer { - name: "conv2/norm2" - type: "LRN" - bottom: "conv2/3x3" - top: "conv2/norm2" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layer { - name: "pool2/3x3_s2" - type: "Pooling" - bottom: "conv2/norm2" - top: "pool2/3x3_s2" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layer { - name: "inception_3a/1x1" - type: "Convolution" - bottom: "pool2/3x3_s2" - top: "inception_3a/1x1" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3a/relu_1x1" - type: "ReLU" - bottom: "inception_3a/1x1" - top: "inception_3a/1x1" -} -layer { - name: "inception_3a/3x3_reduce" - type: "Convolution" - bottom: "pool2/3x3_s2" - top: "inception_3a/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 96 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3a/relu_3x3_reduce" - type: "ReLU" - bottom: "inception_3a/3x3_reduce" - top: "inception_3a/3x3_reduce" -} -layer { - name: "inception_3a/3x3" - type: "Convolution" - bottom: "inception_3a/3x3_reduce" - top: "inception_3a/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3a/relu_3x3" - type: "ReLU" - bottom: "inception_3a/3x3" - top: "inception_3a/3x3" -} -layer { - name: "inception_3a/5x5_reduce" - type: "Convolution" - bottom: "pool2/3x3_s2" - top: "inception_3a/5x5_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 16 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3a/relu_5x5_reduce" - type: "ReLU" - bottom: "inception_3a/5x5_reduce" - top: "inception_3a/5x5_reduce" -} -layer { - name: "inception_3a/5x5" - type: "Convolution" - bottom: "inception_3a/5x5_reduce" - top: "inception_3a/5x5" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 32 - pad: 2 - kernel_size: 5 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3a/relu_5x5" - type: "ReLU" - bottom: "inception_3a/5x5" - top: "inception_3a/5x5" -} -layer { - name: "inception_3a/pool" - type: "Pooling" - bottom: "pool2/3x3_s2" - top: "inception_3a/pool" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - name: "inception_3a/pool_proj" - type: "Convolution" - bottom: "inception_3a/pool" - top: "inception_3a/pool_proj" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 32 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3a/relu_pool_proj" - type: "ReLU" - bottom: "inception_3a/pool_proj" - top: "inception_3a/pool_proj" -} -layer { - name: "inception_3a/output" - type: "Concat" - bottom: "inception_3a/1x1" - bottom: "inception_3a/3x3" - bottom: "inception_3a/5x5" - bottom: "inception_3a/pool_proj" - top: "inception_3a/output" -} -layer { - name: "inception_3b/1x1" - type: "Convolution" - bottom: "inception_3a/output" - top: "inception_3b/1x1" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3b/relu_1x1" - type: "ReLU" - bottom: "inception_3b/1x1" - top: "inception_3b/1x1" -} -layer { - name: "inception_3b/3x3_reduce" - type: "Convolution" - bottom: "inception_3a/output" - top: "inception_3b/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3b/relu_3x3_reduce" - type: "ReLU" - bottom: "inception_3b/3x3_reduce" - top: "inception_3b/3x3_reduce" -} -layer { - name: "inception_3b/3x3" - type: "Convolution" - bottom: "inception_3b/3x3_reduce" - top: "inception_3b/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 192 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3b/relu_3x3" - type: "ReLU" - bottom: "inception_3b/3x3" - top: "inception_3b/3x3" -} -layer { - name: "inception_3b/5x5_reduce" - type: "Convolution" - bottom: "inception_3a/output" - top: "inception_3b/5x5_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 32 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3b/relu_5x5_reduce" - type: "ReLU" - bottom: "inception_3b/5x5_reduce" - top: "inception_3b/5x5_reduce" -} -layer { - name: "inception_3b/5x5" - type: "Convolution" - bottom: "inception_3b/5x5_reduce" - top: "inception_3b/5x5" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 96 - pad: 2 - kernel_size: 5 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3b/relu_5x5" - type: "ReLU" - bottom: "inception_3b/5x5" - top: "inception_3b/5x5" -} -layer { - name: "inception_3b/pool" - type: "Pooling" - bottom: "inception_3a/output" - top: "inception_3b/pool" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - name: "inception_3b/pool_proj" - type: "Convolution" - bottom: "inception_3b/pool" - top: "inception_3b/pool_proj" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_3b/relu_pool_proj" - type: "ReLU" - bottom: "inception_3b/pool_proj" - top: "inception_3b/pool_proj" -} -layer { - name: "inception_3b/output" - type: "Concat" - bottom: "inception_3b/1x1" - bottom: "inception_3b/3x3" - bottom: "inception_3b/5x5" - bottom: "inception_3b/pool_proj" - top: "inception_3b/output" -} -layer { - name: "pool3/3x3_s2" - type: "Pooling" - bottom: "inception_3b/output" - top: "pool3/3x3_s2" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layer { - name: "inception_4a/1x1" - type: "Convolution" - bottom: "pool3/3x3_s2" - top: "inception_4a/1x1" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 192 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4a/relu_1x1" - type: "ReLU" - bottom: "inception_4a/1x1" - top: "inception_4a/1x1" -} -layer { - name: "inception_4a/3x3_reduce" - type: "Convolution" - bottom: "pool3/3x3_s2" - top: "inception_4a/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 96 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4a/relu_3x3_reduce" - type: "ReLU" - bottom: "inception_4a/3x3_reduce" - top: "inception_4a/3x3_reduce" -} -layer { - name: "inception_4a/3x3" - type: "Convolution" - bottom: "inception_4a/3x3_reduce" - top: "inception_4a/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 208 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4a/relu_3x3" - type: "ReLU" - bottom: "inception_4a/3x3" - top: "inception_4a/3x3" -} -layer { - name: "inception_4a/5x5_reduce" - type: "Convolution" - bottom: "pool3/3x3_s2" - top: "inception_4a/5x5_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 16 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4a/relu_5x5_reduce" - type: "ReLU" - bottom: "inception_4a/5x5_reduce" - top: "inception_4a/5x5_reduce" -} -layer { - name: "inception_4a/5x5" - type: "Convolution" - bottom: "inception_4a/5x5_reduce" - top: "inception_4a/5x5" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 48 - pad: 2 - kernel_size: 5 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4a/relu_5x5" - type: "ReLU" - bottom: "inception_4a/5x5" - top: "inception_4a/5x5" -} -layer { - name: "inception_4a/pool" - type: "Pooling" - bottom: "pool3/3x3_s2" - top: "inception_4a/pool" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - name: "inception_4a/pool_proj" - type: "Convolution" - bottom: "inception_4a/pool" - top: "inception_4a/pool_proj" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4a/relu_pool_proj" - type: "ReLU" - bottom: "inception_4a/pool_proj" - top: "inception_4a/pool_proj" -} -layer { - name: "inception_4a/output" - type: "Concat" - bottom: "inception_4a/1x1" - bottom: "inception_4a/3x3" - bottom: "inception_4a/5x5" - bottom: "inception_4a/pool_proj" - top: "inception_4a/output" -} -layer { - name: "loss1/ave_pool" - type: "Pooling" - bottom: "inception_4a/output" - top: "loss1/ave_pool" - pooling_param { - pool: AVE - kernel_size: 5 - stride: 3 - } -} -layer { - name: "loss1/conv" - type: "Convolution" - bottom: "loss1/ave_pool" - top: "loss1/conv" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "loss1/relu_conv" - type: "ReLU" - bottom: "loss1/conv" - top: "loss1/conv" -} -layer { - name: "loss1/fc" - type: "InnerProduct" - bottom: "loss1/conv" - top: "loss1/fc" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - inner_product_param { - num_output: 1024 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "loss1/relu_fc" - type: "ReLU" - bottom: "loss1/fc" - top: "loss1/fc" -} -layer { - name: "loss1/drop_fc" - type: "Dropout" - bottom: "loss1/fc" - top: "loss1/fc" - dropout_param { - dropout_ratio: 0.7 - } -} -layer { - name: "loss1/classifier" - type: "InnerProduct" - bottom: "loss1/fc" - top: "loss1/classifier" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - inner_product_param { - num_output: 1000 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0 - } - } -} -layer { - name: "loss1/loss" - type: "SoftmaxWithLoss" - bottom: "loss1/classifier" - bottom: "label" - top: "loss1/loss1" - loss_weight: 0.3 -} -layer { - name: "loss1/top-1" - type: "Accuracy" - bottom: "loss1/classifier" - bottom: "label" - top: "loss1/top-1" - include { - phase: TEST - } -} -layer { - name: "loss1/top-5" - type: "Accuracy" - bottom: "loss1/classifier" - bottom: "label" - top: "loss1/top-5" - include { - phase: TEST - } - accuracy_param { - top_k: 5 - } -} -layer { - name: "inception_4b/1x1" - type: "Convolution" - bottom: "inception_4a/output" - top: "inception_4b/1x1" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 160 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4b/relu_1x1" - type: "ReLU" - bottom: "inception_4b/1x1" - top: "inception_4b/1x1" -} -layer { - name: "inception_4b/3x3_reduce" - type: "Convolution" - bottom: "inception_4a/output" - top: "inception_4b/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 112 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4b/relu_3x3_reduce" - type: "ReLU" - bottom: "inception_4b/3x3_reduce" - top: "inception_4b/3x3_reduce" -} -layer { - name: "inception_4b/3x3" - type: "Convolution" - bottom: "inception_4b/3x3_reduce" - top: "inception_4b/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 224 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4b/relu_3x3" - type: "ReLU" - bottom: "inception_4b/3x3" - top: "inception_4b/3x3" -} -layer { - name: "inception_4b/5x5_reduce" - type: "Convolution" - bottom: "inception_4a/output" - top: "inception_4b/5x5_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 24 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4b/relu_5x5_reduce" - type: "ReLU" - bottom: "inception_4b/5x5_reduce" - top: "inception_4b/5x5_reduce" -} -layer { - name: "inception_4b/5x5" - type: "Convolution" - bottom: "inception_4b/5x5_reduce" - top: "inception_4b/5x5" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - pad: 2 - kernel_size: 5 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4b/relu_5x5" - type: "ReLU" - bottom: "inception_4b/5x5" - top: "inception_4b/5x5" -} -layer { - name: "inception_4b/pool" - type: "Pooling" - bottom: "inception_4a/output" - top: "inception_4b/pool" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - name: "inception_4b/pool_proj" - type: "Convolution" - bottom: "inception_4b/pool" - top: "inception_4b/pool_proj" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4b/relu_pool_proj" - type: "ReLU" - bottom: "inception_4b/pool_proj" - top: "inception_4b/pool_proj" -} -layer { - name: "inception_4b/output" - type: "Concat" - bottom: "inception_4b/1x1" - bottom: "inception_4b/3x3" - bottom: "inception_4b/5x5" - bottom: "inception_4b/pool_proj" - top: "inception_4b/output" -} -layer { - name: "inception_4c/1x1" - type: "Convolution" - bottom: "inception_4b/output" - top: "inception_4c/1x1" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4c/relu_1x1" - type: "ReLU" - bottom: "inception_4c/1x1" - top: "inception_4c/1x1" -} -layer { - name: "inception_4c/3x3_reduce" - type: "Convolution" - bottom: "inception_4b/output" - top: "inception_4c/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4c/relu_3x3_reduce" - type: "ReLU" - bottom: "inception_4c/3x3_reduce" - top: "inception_4c/3x3_reduce" -} -layer { - name: "inception_4c/3x3" - type: "Convolution" - bottom: "inception_4c/3x3_reduce" - top: "inception_4c/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 256 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4c/relu_3x3" - type: "ReLU" - bottom: "inception_4c/3x3" - top: "inception_4c/3x3" -} -layer { - name: "inception_4c/5x5_reduce" - type: "Convolution" - bottom: "inception_4b/output" - top: "inception_4c/5x5_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 24 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4c/relu_5x5_reduce" - type: "ReLU" - bottom: "inception_4c/5x5_reduce" - top: "inception_4c/5x5_reduce" -} -layer { - name: "inception_4c/5x5" - type: "Convolution" - bottom: "inception_4c/5x5_reduce" - top: "inception_4c/5x5" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - pad: 2 - kernel_size: 5 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4c/relu_5x5" - type: "ReLU" - bottom: "inception_4c/5x5" - top: "inception_4c/5x5" -} -layer { - name: "inception_4c/pool" - type: "Pooling" - bottom: "inception_4b/output" - top: "inception_4c/pool" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - name: "inception_4c/pool_proj" - type: "Convolution" - bottom: "inception_4c/pool" - top: "inception_4c/pool_proj" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4c/relu_pool_proj" - type: "ReLU" - bottom: "inception_4c/pool_proj" - top: "inception_4c/pool_proj" -} -layer { - name: "inception_4c/output" - type: "Concat" - bottom: "inception_4c/1x1" - bottom: "inception_4c/3x3" - bottom: "inception_4c/5x5" - bottom: "inception_4c/pool_proj" - top: "inception_4c/output" -} -layer { - name: "inception_4d/1x1" - type: "Convolution" - bottom: "inception_4c/output" - top: "inception_4d/1x1" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 112 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4d/relu_1x1" - type: "ReLU" - bottom: "inception_4d/1x1" - top: "inception_4d/1x1" -} -layer { - name: "inception_4d/3x3_reduce" - type: "Convolution" - bottom: "inception_4c/output" - top: "inception_4d/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 144 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4d/relu_3x3_reduce" - type: "ReLU" - bottom: "inception_4d/3x3_reduce" - top: "inception_4d/3x3_reduce" -} -layer { - name: "inception_4d/3x3" - type: "Convolution" - bottom: "inception_4d/3x3_reduce" - top: "inception_4d/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 288 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4d/relu_3x3" - type: "ReLU" - bottom: "inception_4d/3x3" - top: "inception_4d/3x3" -} -layer { - name: "inception_4d/5x5_reduce" - type: "Convolution" - bottom: "inception_4c/output" - top: "inception_4d/5x5_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 32 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4d/relu_5x5_reduce" - type: "ReLU" - bottom: "inception_4d/5x5_reduce" - top: "inception_4d/5x5_reduce" -} -layer { - name: "inception_4d/5x5" - type: "Convolution" - bottom: "inception_4d/5x5_reduce" - top: "inception_4d/5x5" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - pad: 2 - kernel_size: 5 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4d/relu_5x5" - type: "ReLU" - bottom: "inception_4d/5x5" - top: "inception_4d/5x5" -} -layer { - name: "inception_4d/pool" - type: "Pooling" - bottom: "inception_4c/output" - top: "inception_4d/pool" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - name: "inception_4d/pool_proj" - type: "Convolution" - bottom: "inception_4d/pool" - top: "inception_4d/pool_proj" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 64 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4d/relu_pool_proj" - type: "ReLU" - bottom: "inception_4d/pool_proj" - top: "inception_4d/pool_proj" -} -layer { - name: "inception_4d/output" - type: "Concat" - bottom: "inception_4d/1x1" - bottom: "inception_4d/3x3" - bottom: "inception_4d/5x5" - bottom: "inception_4d/pool_proj" - top: "inception_4d/output" -} -layer { - name: "loss2/ave_pool" - type: "Pooling" - bottom: "inception_4d/output" - top: "loss2/ave_pool" - pooling_param { - pool: AVE - kernel_size: 5 - stride: 3 - } -} -layer { - name: "loss2/conv" - type: "Convolution" - bottom: "loss2/ave_pool" - top: "loss2/conv" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "loss2/relu_conv" - type: "ReLU" - bottom: "loss2/conv" - top: "loss2/conv" -} -layer { - name: "loss2/fc" - type: "InnerProduct" - bottom: "loss2/conv" - top: "loss2/fc" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - inner_product_param { - num_output: 1024 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "loss2/relu_fc" - type: "ReLU" - bottom: "loss2/fc" - top: "loss2/fc" -} -layer { - name: "loss2/drop_fc" - type: "Dropout" - bottom: "loss2/fc" - top: "loss2/fc" - dropout_param { - dropout_ratio: 0.7 - } -} -layer { - name: "loss2/classifier" - type: "InnerProduct" - bottom: "loss2/fc" - top: "loss2/classifier" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - inner_product_param { - num_output: 1000 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0 - } - } -} -layer { - name: "loss2/loss" - type: "SoftmaxWithLoss" - bottom: "loss2/classifier" - bottom: "label" - top: "loss2/loss1" - loss_weight: 0.3 -} -layer { - name: "loss2/top-1" - type: "Accuracy" - bottom: "loss2/classifier" - bottom: "label" - top: "loss2/top-1" - include { - phase: TEST - } -} -layer { - name: "loss2/top-5" - type: "Accuracy" - bottom: "loss2/classifier" - bottom: "label" - top: "loss2/top-5" - include { - phase: TEST - } - accuracy_param { - top_k: 5 - } -} -layer { - name: "inception_4e/1x1" - type: "Convolution" - bottom: "inception_4d/output" - top: "inception_4e/1x1" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 256 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4e/relu_1x1" - type: "ReLU" - bottom: "inception_4e/1x1" - top: "inception_4e/1x1" -} -layer { - name: "inception_4e/3x3_reduce" - type: "Convolution" - bottom: "inception_4d/output" - top: "inception_4e/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 160 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4e/relu_3x3_reduce" - type: "ReLU" - bottom: "inception_4e/3x3_reduce" - top: "inception_4e/3x3_reduce" -} -layer { - name: "inception_4e/3x3" - type: "Convolution" - bottom: "inception_4e/3x3_reduce" - top: "inception_4e/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 320 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4e/relu_3x3" - type: "ReLU" - bottom: "inception_4e/3x3" - top: "inception_4e/3x3" -} -layer { - name: "inception_4e/5x5_reduce" - type: "Convolution" - bottom: "inception_4d/output" - top: "inception_4e/5x5_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 32 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4e/relu_5x5_reduce" - type: "ReLU" - bottom: "inception_4e/5x5_reduce" - top: "inception_4e/5x5_reduce" -} -layer { - name: "inception_4e/5x5" - type: "Convolution" - bottom: "inception_4e/5x5_reduce" - top: "inception_4e/5x5" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - pad: 2 - kernel_size: 5 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4e/relu_5x5" - type: "ReLU" - bottom: "inception_4e/5x5" - top: "inception_4e/5x5" -} -layer { - name: "inception_4e/pool" - type: "Pooling" - bottom: "inception_4d/output" - top: "inception_4e/pool" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - name: "inception_4e/pool_proj" - type: "Convolution" - bottom: "inception_4e/pool" - top: "inception_4e/pool_proj" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_4e/relu_pool_proj" - type: "ReLU" - bottom: "inception_4e/pool_proj" - top: "inception_4e/pool_proj" -} -layer { - name: "inception_4e/output" - type: "Concat" - bottom: "inception_4e/1x1" - bottom: "inception_4e/3x3" - bottom: "inception_4e/5x5" - bottom: "inception_4e/pool_proj" - top: "inception_4e/output" -} -layer { - name: "pool4/3x3_s2" - type: "Pooling" - bottom: "inception_4e/output" - top: "pool4/3x3_s2" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layer { - name: "inception_5a/1x1" - type: "Convolution" - bottom: "pool4/3x3_s2" - top: "inception_5a/1x1" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 256 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5a/relu_1x1" - type: "ReLU" - bottom: "inception_5a/1x1" - top: "inception_5a/1x1" -} -layer { - name: "inception_5a/3x3_reduce" - type: "Convolution" - bottom: "pool4/3x3_s2" - top: "inception_5a/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 160 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5a/relu_3x3_reduce" - type: "ReLU" - bottom: "inception_5a/3x3_reduce" - top: "inception_5a/3x3_reduce" -} -layer { - name: "inception_5a/3x3" - type: "Convolution" - bottom: "inception_5a/3x3_reduce" - top: "inception_5a/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 320 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5a/relu_3x3" - type: "ReLU" - bottom: "inception_5a/3x3" - top: "inception_5a/3x3" -} -layer { - name: "inception_5a/5x5_reduce" - type: "Convolution" - bottom: "pool4/3x3_s2" - top: "inception_5a/5x5_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 32 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5a/relu_5x5_reduce" - type: "ReLU" - bottom: "inception_5a/5x5_reduce" - top: "inception_5a/5x5_reduce" -} -layer { - name: "inception_5a/5x5" - type: "Convolution" - bottom: "inception_5a/5x5_reduce" - top: "inception_5a/5x5" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - pad: 2 - kernel_size: 5 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5a/relu_5x5" - type: "ReLU" - bottom: "inception_5a/5x5" - top: "inception_5a/5x5" -} -layer { - name: "inception_5a/pool" - type: "Pooling" - bottom: "pool4/3x3_s2" - top: "inception_5a/pool" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - name: "inception_5a/pool_proj" - type: "Convolution" - bottom: "inception_5a/pool" - top: "inception_5a/pool_proj" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5a/relu_pool_proj" - type: "ReLU" - bottom: "inception_5a/pool_proj" - top: "inception_5a/pool_proj" -} -layer { - name: "inception_5a/output" - type: "Concat" - bottom: "inception_5a/1x1" - bottom: "inception_5a/3x3" - bottom: "inception_5a/5x5" - bottom: "inception_5a/pool_proj" - top: "inception_5a/output" -} -layer { - name: "inception_5b/1x1" - type: "Convolution" - bottom: "inception_5a/output" - top: "inception_5b/1x1" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 384 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5b/relu_1x1" - type: "ReLU" - bottom: "inception_5b/1x1" - top: "inception_5b/1x1" -} -layer { - name: "inception_5b/3x3_reduce" - type: "Convolution" - bottom: "inception_5a/output" - top: "inception_5b/3x3_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 192 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5b/relu_3x3_reduce" - type: "ReLU" - bottom: "inception_5b/3x3_reduce" - top: "inception_5b/3x3_reduce" -} -layer { - name: "inception_5b/3x3" - type: "Convolution" - bottom: "inception_5b/3x3_reduce" - top: "inception_5b/3x3" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5b/relu_3x3" - type: "ReLU" - bottom: "inception_5b/3x3" - top: "inception_5b/3x3" -} -layer { - name: "inception_5b/5x5_reduce" - type: "Convolution" - bottom: "inception_5a/output" - top: "inception_5b/5x5_reduce" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 48 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5b/relu_5x5_reduce" - type: "ReLU" - bottom: "inception_5b/5x5_reduce" - top: "inception_5b/5x5_reduce" -} -layer { - name: "inception_5b/5x5" - type: "Convolution" - bottom: "inception_5b/5x5_reduce" - top: "inception_5b/5x5" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - pad: 2 - kernel_size: 5 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5b/relu_5x5" - type: "ReLU" - bottom: "inception_5b/5x5" - top: "inception_5b/5x5" -} -layer { - name: "inception_5b/pool" - type: "Pooling" - bottom: "inception_5a/output" - top: "inception_5b/pool" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - name: "inception_5b/pool_proj" - type: "Convolution" - bottom: "inception_5b/pool" - top: "inception_5b/pool_proj" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - convolution_param { - num_output: 128 - kernel_size: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0.1 - } - } -} -layer { - name: "inception_5b/relu_pool_proj" - type: "ReLU" - bottom: "inception_5b/pool_proj" - top: "inception_5b/pool_proj" -} -layer { - name: "inception_5b/output" - type: "Concat" - bottom: "inception_5b/1x1" - bottom: "inception_5b/3x3" - bottom: "inception_5b/5x5" - bottom: "inception_5b/pool_proj" - top: "inception_5b/output" -} -layer { - name: "pool5/7x7_s1" - type: "Pooling" - bottom: "inception_5b/output" - top: "pool5/7x7_s1" - pooling_param { - pool: AVE - kernel_size: 7 - stride: 1 - } -} -layer { - name: "pool5/drop_7x7_s1" - type: "Dropout" - bottom: "pool5/7x7_s1" - top: "pool5/7x7_s1" - dropout_param { - dropout_ratio: 0.4 - } -} -layer { - name: "loss3/classifier" - type: "InnerProduct" - bottom: "pool5/7x7_s1" - top: "loss3/classifier" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - inner_product_param { - num_output: 1000 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0 - } - } -} -layer { - name: "loss3/loss3" - type: "SoftmaxWithLoss" - bottom: "loss3/classifier" - bottom: "label" - top: "loss3/loss3" - loss_weight: 1 -} -layer { - name: "loss3/top-1" - type: "Accuracy" - bottom: "loss3/classifier" - bottom: "label" - top: "loss3/top-1" - include { - phase: TEST - } -} -layer { - name: "loss3/top-5" - type: "Accuracy" - bottom: "loss3/classifier" - bottom: "label" - top: "loss3/top-5" - include { - phase: TEST - } - accuracy_param { - top_k: 5 - } -} diff --git a/models/intel_optimized_models/multinode/googlenet_v2_4nodes/solver.prototxt b/models/intel_optimized_models/multinode/googlenet_v2_4nodes/solver.prototxt deleted file mode 100644 index dda5240f3..000000000 --- a/models/intel_optimized_models/multinode/googlenet_v2_4nodes/solver.prototxt +++ /dev/null @@ -1,24 +0,0 @@ -#This is Intel(R) optimized (in terms of time to train) version of solver for model GoogLeNet v2. -#Original solver.prototxt can be found in /models/default_resnet_50/ directory of this repository. -#Differences: -#- lr_policy is set to poly instead of step -#- base_lr is set to 0.05 -#- max_iter is decreased to 100000 -# -#Top-5 and Top-1 results achieved with this version of solver: -#Top-5: 89.40% -#Top-1: 69.02% -#Training was performed using server equipped with Intel(R) Xeon Phi(TM) CPU 7250 processor. - -net: "models/intel_optimized_models/multinode/googlenet_v2_4nodes/train_val.prototxt" -base_lr: 0.05 -display: 40 -max_iter: 100000 -lr_policy: "poly" -power: 0.5 -momentum: 0.9 -weight_decay: 0.0002 -snapshot: 10000 -snapshot_prefix: "models/intel_optimized_models/multinode/googlenet_v2_4nodes/default_googlenet_v2" -solver_mode: CPU -average_loss: 40 \ No newline at end of file diff --git a/models/intel_optimized_models/multinode/googlenet_v2_4nodes/train_val.prototxt b/models/intel_optimized_models/multinode/googlenet_v2_4nodes/train_val.prototxt deleted file mode 100644 index 23cde7452..000000000 --- a/models/intel_optimized_models/multinode/googlenet_v2_4nodes/train_val.prototxt +++ /dev/null @@ -1,4044 +0,0 @@ -# Inception Network (GoogLeNet Batch Normalization Network) -name: "InceptionNetwork" -### Training Set -layer { - top: "data" - top: "label" - name: "data" - type: "Data" - data_param { - source: "examples/imagenet/ilsvrc12_train_lmdb" - batch_size: 96 - backend: LMDB - shuffle: true - } - include { - phase: TRAIN - } - transform_param { - mirror: true - crop_size: 224 -# mean_file: "data/ilsvrc12/imagenet_mean.binaryproto" - mean_value: 104 - mean_value: 117 - mean_value: 123 - } -} -### Validation Set -layer { - top: "data" - top: "label" - name: "data" - type: "Data" - data_param { - source: "examples/imagenet/ilsvrc12_val_lmdb" - batch_size: 50 - backend: LMDB - } - include { - phase: TEST - } - transform_param { - mirror: false - crop_size: 224 -# mean_file: "data/ilsvrc12/imagenet_mean.binaryproto" - mean_value: 104 - mean_value: 117 - mean_value: 123 - } -} - -layer { - bottom: "data" - top: "conv1/7x7_s2" - name: "conv1/7x7_s2" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 3 - kernel_size: 7 - stride: 2 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "conv1/7x7_s2" - name: "conv1/7x7_s2/bn" - top: "conv1/7x7_s2/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "conv1/7x7_s2/bn" - top: "conv1/7x7_s2/bn/sc" - name: "conv1/7x7_s2/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "conv1/7x7_s2/bn/sc" - top: "conv1/7x7_s2/bn/sc" - name: "conv1/7x7_s2/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "conv1/7x7_s2/bn/sc" - top: "pool1/3x3_s2" - name: "pool1/3x3_s2" - type: "Pooling" - pooling_param { - - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layer { - bottom: "pool1/3x3_s2" - top: "conv2/3x3_reduce" - name: "conv2/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "conv2/3x3_reduce" - name: "conv2/3x3_reduce/bn" - top: "conv2/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "conv2/3x3_reduce/bn" - top: "conv2/3x3_reduce/bn/sc" - name: "conv2/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "conv2/3x3_reduce/bn/sc" - top: "conv2/3x3_reduce/bn/sc" - name: "conv2/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "conv2/3x3_reduce/bn/sc" - top: "conv2/3x3" - name: "conv2/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "conv2/3x3" - name: "conv2/3x3/bn" - top: "conv2/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "conv2/3x3/bn" - top: "conv2/3x3/bn/sc" - name: "conv2/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "conv2/3x3/bn/sc" - top: "conv2/3x3/bn/sc" - name: "conv2/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "conv2/3x3/bn/sc" - top: "pool2/3x3_s2" - name: "pool2/3x3_s2" - type: "Pooling" - pooling_param { - - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layer { - bottom: "pool2/3x3_s2" - top: "inception_3a/1x1" - name: "inception_3a/1x1" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3a/1x1" - name: "inception_3a/1x1/bn" - top: "inception_3a/1x1/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3a/1x1/bn" - top: "inception_3a/1x1/bn/sc" - name: "inception_3a/1x1/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3a/1x1/bn/sc" - top: "inception_3a/1x1/bn/sc" - name: "inception_3a/1x1/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "pool2/3x3_s2" - top: "inception_3a/3x3_reduce" - name: "inception_3a/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3a/3x3_reduce" - name: "inception_3a/3x3_reduce/bn" - top: "inception_3a/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3a/3x3_reduce/bn" - top: "inception_3a/3x3_reduce/bn/sc" - name: "inception_3a/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3a/3x3_reduce/bn/sc" - top: "inception_3a/3x3_reduce/bn/sc" - name: "inception_3a/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3a/3x3_reduce/bn/sc" - top: "inception_3a/3x3" - name: "inception_3a/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3a/3x3" - name: "inception_3a/3x3/bn" - top: "inception_3a/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3a/3x3/bn" - top: "inception_3a/3x3/bn/sc" - name: "inception_3a/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3a/3x3/bn/sc" - top: "inception_3a/3x3/bn/sc" - name: "inception_3a/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "pool2/3x3_s2" - top: "inception_3a/double3x3_reduce" - name: "inception_3a/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3a/double3x3_reduce" - name: "inception_3a/double3x3_reduce/bn" - top: "inception_3a/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3a/double3x3_reduce/bn" - top: "inception_3a/double3x3_reduce/bn/sc" - name: "inception_3a/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3a/double3x3_reduce/bn/sc" - top: "inception_3a/double3x3_reduce/bn/sc" - name: "inception_3a/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3a/double3x3_reduce/bn/sc" - top: "inception_3a/double3x3a" - name: "inception_3a/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3a/double3x3a" - name: "inception_3a/double3x3a/bn" - top: "inception_3a/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3a/double3x3a/bn" - top: "inception_3a/double3x3a/bn/sc" - name: "inception_3a/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3a/double3x3a/bn/sc" - top: "inception_3a/double3x3a/bn/sc" - name: "inception_3a/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3a/double3x3a/bn/sc" - top: "inception_3a/double3x3b" - name: "inception_3a/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3a/double3x3b" - name: "inception_3a/double3x3b/bn" - top: "inception_3a/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3a/double3x3b/bn" - top: "inception_3a/double3x3b/bn/sc" - name: "inception_3a/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3a/double3x3b/bn/sc" - top: "inception_3a/double3x3b/bn/sc" - name: "inception_3a/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "pool2/3x3_s2" - top: "inception_3a/pool" - name: "inception_3a/pool" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - bottom: "inception_3a/pool" - top: "inception_3a/pool_proj" - name: "inception_3a/pool_proj" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 32 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3a/pool_proj" - name: "inception_3a/pool_proj/bn" - top: "inception_3a/pool_proj/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3a/pool_proj/bn" - top: "inception_3a/pool_proj/bn/sc" - name: "inception_3a/pool_proj/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3a/pool_proj/bn/sc" - top: "inception_3a/pool_proj/bn/sc" - name: "inception_3a/pool_proj/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3a/1x1/bn/sc" - bottom: "inception_3a/3x3/bn/sc" - bottom: "inception_3a/double3x3b/bn/sc" - bottom: "inception_3a/pool_proj/bn/sc" - top: "inception_3a/output" - name: "inception_3a/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_3a/output" - top: "inception_3b/1x1" - name: "inception_3b/1x1" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3b/1x1" - name: "inception_3b/1x1/bn" - top: "inception_3b/1x1/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3b/1x1/bn" - top: "inception_3b/1x1/bn/sc" - name: "inception_3b/1x1/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3b/1x1/bn/sc" - top: "inception_3b/1x1/bn/sc" - name: "inception_3b/1x1/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3a/output" - top: "inception_3b/3x3_reduce" - name: "inception_3b/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3b/3x3_reduce" - name: "inception_3b/3x3_reduce/bn" - top: "inception_3b/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3b/3x3_reduce/bn" - top: "inception_3b/3x3_reduce/bn/sc" - name: "inception_3b/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3b/3x3_reduce/bn/sc" - top: "inception_3b/3x3_reduce/bn/sc" - name: "inception_3b/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3b/3x3_reduce/bn/sc" - top: "inception_3b/3x3" - name: "inception_3b/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3b/3x3" - name: "inception_3b/3x3/bn" - top: "inception_3b/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3b/3x3/bn" - top: "inception_3b/3x3/bn/sc" - name: "inception_3b/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3b/3x3/bn/sc" - top: "inception_3b/3x3/bn/sc" - name: "inception_3b/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3a/output" - top: "inception_3b/double3x3_reduce" - name: "inception_3b/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3b/double3x3_reduce" - name: "inception_3b/double3x3_reduce/bn" - top: "inception_3b/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3b/double3x3_reduce/bn" - top: "inception_3b/double3x3_reduce/bn/sc" - name: "inception_3b/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3b/double3x3_reduce/bn/sc" - top: "inception_3b/double3x3_reduce/bn/sc" - name: "inception_3b/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3b/double3x3_reduce/bn/sc" - top: "inception_3b/double3x3a" - name: "inception_3b/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3b/double3x3a" - name: "inception_3b/double3x3a/bn" - top: "inception_3b/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3b/double3x3a/bn" - top: "inception_3b/double3x3a/bn/sc" - name: "inception_3b/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3b/double3x3a/bn/sc" - top: "inception_3b/double3x3a/bn/sc" - name: "inception_3b/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3b/double3x3a/bn/sc" - top: "inception_3b/double3x3b" - name: "inception_3b/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3b/double3x3b" - name: "inception_3b/double3x3b/bn" - top: "inception_3b/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3b/double3x3b/bn" - top: "inception_3b/double3x3b/bn/sc" - name: "inception_3b/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3b/double3x3b/bn/sc" - top: "inception_3b/double3x3b/bn/sc" - name: "inception_3b/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3a/output" - top: "inception_3b/pool" - name: "inception_3b/pool" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - bottom: "inception_3b/pool" - top: "inception_3b/pool_proj" - name: "inception_3b/pool_proj" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3b/pool_proj" - name: "inception_3b/pool_proj/bn" - top: "inception_3b/pool_proj/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3b/pool_proj/bn" - top: "inception_3b/pool_proj/bn/sc" - name: "inception_3b/pool_proj/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3b/pool_proj/bn/sc" - top: "inception_3b/pool_proj/bn/sc" - name: "inception_3b/pool_proj/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3b/1x1/bn/sc" - bottom: "inception_3b/3x3/bn/sc" - bottom: "inception_3b/double3x3b/bn/sc" - bottom: "inception_3b/pool_proj/bn/sc" - top: "inception_3b/output" - name: "inception_3b/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_3b/output" - top: "inception_3c/3x3_reduce" - name: "inception_3c/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3c/3x3_reduce" - name: "inception_3c/3x3_reduce/bn" - top: "inception_3c/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3c/3x3_reduce/bn" - top: "inception_3c/3x3_reduce/bn/sc" - name: "inception_3c/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3c/3x3_reduce/bn/sc" - top: "inception_3c/3x3_reduce/bn/sc" - name: "inception_3c/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3c/3x3_reduce/bn/sc" - top: "inception_3c/3x3" - name: "inception_3c/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 160 - pad: 1 - kernel_size: 3 - stride: 2 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3c/3x3" - name: "inception_3c/3x3/bn" - top: "inception_3c/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3c/3x3/bn" - top: "inception_3c/3x3/bn/sc" - name: "inception_3c/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3c/3x3/bn/sc" - top: "inception_3c/3x3/bn/sc" - name: "inception_3c/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3b/output" - top: "inception_3c/double3x3_reduce" - name: "inception_3c/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3c/double3x3_reduce" - name: "inception_3c/double3x3_reduce/bn" - top: "inception_3c/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3c/double3x3_reduce/bn" - top: "inception_3c/double3x3_reduce/bn/sc" - name: "inception_3c/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3c/double3x3_reduce/bn/sc" - top: "inception_3c/double3x3_reduce/bn/sc" - name: "inception_3c/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3c/double3x3_reduce/bn/sc" - top: "inception_3c/double3x3a" - name: "inception_3c/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3c/double3x3a" - name: "inception_3c/double3x3a/bn" - top: "inception_3c/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3c/double3x3a/bn" - top: "inception_3c/double3x3a/bn/sc" - name: "inception_3c/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3c/double3x3a/bn/sc" - top: "inception_3c/double3x3a/bn/sc" - name: "inception_3c/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3c/double3x3a/bn/sc" - top: "inception_3c/double3x3b" - name: "inception_3c/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 1 - kernel_size: 3 - stride: 2 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_3c/double3x3b" - name: "inception_3c/double3x3b/bn" - top: "inception_3c/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_3c/double3x3b/bn" - top: "inception_3c/double3x3b/bn/sc" - name: "inception_3c/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_3c/double3x3b/bn/sc" - top: "inception_3c/double3x3b/bn/sc" - name: "inception_3c/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3b/output" - top: "inception_3c/pool" - name: "inception_3c/pool" - type: "Pooling" - pooling_param { - - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layer { - bottom: "inception_3c/3x3/bn/sc" - bottom: "inception_3c/double3x3b/bn/sc" - bottom: "inception_3c/pool" - top: "inception_3c/output" - name: "inception_3c/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_3c/output" - top: "pool3/5x5_s3" - name: "pool3/5x5_s3" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 5 - stride: 3 - } -} -layer { - bottom: "pool3/5x5_s3" - top: "loss1/conv" - name: "loss1/conv" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "loss1/conv" - name: "loss1/conv/bn" - top: "loss1/conv/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "loss1/conv/bn" - top: "loss1/conv/bn/sc" - name: "loss1/conv/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "loss1/conv/bn/sc" - top: "loss1/conv/bn/sc" - name: "loss1/conv/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "loss1/conv/bn/sc" - top: "loss1/fc" - name: "loss1/fc" - type: "InnerProduct" - param { - lr_mult: 1 - decay_mult: 1 - } - inner_product_param { - num_output: 1024 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "loss1/fc" - name: "loss1/fc/bn" - top: "loss1/fc/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "loss1/fc/bn" - top: "loss1/fc/bn/sc" - name: "loss1/fc/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "loss1/fc/bn/sc" - top: "loss1/fc/bn/sc" - name: "loss1/fc/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "loss1/fc/bn/sc" - top: "loss1/classifier" - name: "loss1/classifier" - type: "InnerProduct" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - inner_product_param { - num_output: 1000 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0 - } - } -} -layer { - bottom: "loss1/classifier" - bottom: "label" - top: "loss1/loss" - name: "loss1/loss" - type: "SoftmaxWithLoss" - loss_weight: 0.3 -} -layer { - bottom: "loss1/classifier" - top: "loss1/prob" - name: "loss1/prob" - type: "Softmax" - include { - phase: TEST - } -} -layer { - bottom: "loss1/prob" - bottom: "label" - top: "loss1/top-1" - name: "loss1/top-1" - type: "Accuracy" - include { - phase: TEST - } -} -layer { - bottom: "loss1/prob" - bottom: "label" - top: "loss1/top-5" - name: "loss1/top-5" - type: "Accuracy" - accuracy_param { - top_k: 5 - } - include { - phase: TEST - } -} -layer { - bottom: "inception_3c/output" - top: "inception_4a/1x1" - name: "inception_4a/1x1" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 224 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4a/1x1" - name: "inception_4a/1x1/bn" - top: "inception_4a/1x1/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4a/1x1/bn" - top: "inception_4a/1x1/bn/sc" - name: "inception_4a/1x1/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4a/1x1/bn/sc" - top: "inception_4a/1x1/bn/sc" - name: "inception_4a/1x1/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3c/output" - top: "inception_4a/3x3_reduce" - name: "inception_4a/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 64 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4a/3x3_reduce" - name: "inception_4a/3x3_reduce/bn" - top: "inception_4a/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4a/3x3_reduce/bn" - top: "inception_4a/3x3_reduce/bn/sc" - name: "inception_4a/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4a/3x3_reduce/bn/sc" - top: "inception_4a/3x3_reduce/bn/sc" - name: "inception_4a/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4a/3x3_reduce/bn/sc" - top: "inception_4a/3x3" - name: "inception_4a/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4a/3x3" - name: "inception_4a/3x3/bn" - top: "inception_4a/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4a/3x3/bn" - top: "inception_4a/3x3/bn/sc" - name: "inception_4a/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4a/3x3/bn/sc" - top: "inception_4a/3x3/bn/sc" - name: "inception_4a/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3c/output" - top: "inception_4a/double3x3_reduce" - name: "inception_4a/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4a/double3x3_reduce" - name: "inception_4a/double3x3_reduce/bn" - top: "inception_4a/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4a/double3x3_reduce/bn" - top: "inception_4a/double3x3_reduce/bn/sc" - name: "inception_4a/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4a/double3x3_reduce/bn/sc" - top: "inception_4a/double3x3_reduce/bn/sc" - name: "inception_4a/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4a/double3x3_reduce/bn/sc" - top: "inception_4a/double3x3a" - name: "inception_4a/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4a/double3x3a" - name: "inception_4a/double3x3a/bn" - top: "inception_4a/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4a/double3x3a/bn" - top: "inception_4a/double3x3a/bn/sc" - name: "inception_4a/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4a/double3x3a/bn/sc" - top: "inception_4a/double3x3a/bn/sc" - name: "inception_4a/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4a/double3x3a/bn/sc" - top: "inception_4a/double3x3b" - name: "inception_4a/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4a/double3x3b" - name: "inception_4a/double3x3b/bn" - top: "inception_4a/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4a/double3x3b/bn" - top: "inception_4a/double3x3b/bn/sc" - name: "inception_4a/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4a/double3x3b/bn/sc" - top: "inception_4a/double3x3b/bn/sc" - name: "inception_4a/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_3c/output" - top: "inception_4a/pool" - name: "inception_4a/pool" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - bottom: "inception_4a/pool" - top: "inception_4a/pool_proj" - name: "inception_4a/pool_proj" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4a/pool_proj" - name: "inception_4a/pool_proj/bn" - top: "inception_4a/pool_proj/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4a/pool_proj/bn" - top: "inception_4a/pool_proj/bn/sc" - name: "inception_4a/pool_proj/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4a/pool_proj/bn/sc" - top: "inception_4a/pool_proj/bn/sc" - name: "inception_4a/pool_proj/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4a/1x1/bn/sc" - bottom: "inception_4a/3x3/bn/sc" - bottom: "inception_4a/double3x3b/bn/sc" - bottom: "inception_4a/pool_proj/bn/sc" - top: "inception_4a/output" - name: "inception_4a/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_4a/output" - top: "inception_4b/1x1" - name: "inception_4b/1x1" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4b/1x1" - name: "inception_4b/1x1/bn" - top: "inception_4b/1x1/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4b/1x1/bn" - top: "inception_4b/1x1/bn/sc" - name: "inception_4b/1x1/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4b/1x1/bn/sc" - top: "inception_4b/1x1/bn/sc" - name: "inception_4b/1x1/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4a/output" - top: "inception_4b/3x3_reduce" - name: "inception_4b/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4b/3x3_reduce" - name: "inception_4b/3x3_reduce/bn" - top: "inception_4b/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4b/3x3_reduce/bn" - top: "inception_4b/3x3_reduce/bn/sc" - name: "inception_4b/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4b/3x3_reduce/bn/sc" - top: "inception_4b/3x3_reduce/bn/sc" - name: "inception_4b/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4b/3x3_reduce/bn/sc" - top: "inception_4b/3x3" - name: "inception_4b/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4b/3x3" - name: "inception_4b/3x3/bn" - top: "inception_4b/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4b/3x3/bn" - top: "inception_4b/3x3/bn/sc" - name: "inception_4b/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4b/3x3/bn/sc" - top: "inception_4b/3x3/bn/sc" - name: "inception_4b/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4a/output" - top: "inception_4b/double3x3_reduce" - name: "inception_4b/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4b/double3x3_reduce" - name: "inception_4b/double3x3_reduce/bn" - top: "inception_4b/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4b/double3x3_reduce/bn" - top: "inception_4b/double3x3_reduce/bn/sc" - name: "inception_4b/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4b/double3x3_reduce/bn/sc" - top: "inception_4b/double3x3_reduce/bn/sc" - name: "inception_4b/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4b/double3x3_reduce/bn/sc" - top: "inception_4b/double3x3a" - name: "inception_4b/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4b/double3x3a" - name: "inception_4b/double3x3a/bn" - top: "inception_4b/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4b/double3x3a/bn" - top: "inception_4b/double3x3a/bn/sc" - name: "inception_4b/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4b/double3x3a/bn/sc" - top: "inception_4b/double3x3a/bn/sc" - name: "inception_4b/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4b/double3x3a/bn/sc" - top: "inception_4b/double3x3b" - name: "inception_4b/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4b/double3x3b" - name: "inception_4b/double3x3b/bn" - top: "inception_4b/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4b/double3x3b/bn" - top: "inception_4b/double3x3b/bn/sc" - name: "inception_4b/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4b/double3x3b/bn/sc" - top: "inception_4b/double3x3b/bn/sc" - name: "inception_4b/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4a/output" - top: "inception_4b/pool" - name: "inception_4b/pool" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - bottom: "inception_4b/pool" - top: "inception_4b/pool_proj" - name: "inception_4b/pool_proj" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4b/pool_proj" - name: "inception_4b/pool_proj/bn" - top: "inception_4b/pool_proj/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4b/pool_proj/bn" - top: "inception_4b/pool_proj/bn/sc" - name: "inception_4b/pool_proj/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4b/pool_proj/bn/sc" - top: "inception_4b/pool_proj/bn/sc" - name: "inception_4b/pool_proj/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4b/1x1/bn/sc" - bottom: "inception_4b/3x3/bn/sc" - bottom: "inception_4b/double3x3b/bn/sc" - bottom: "inception_4b/pool_proj/bn/sc" - top: "inception_4b/output" - name: "inception_4b/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_4b/output" - top: "inception_4c/1x1" - name: "inception_4c/1x1" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 160 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4c/1x1" - name: "inception_4c/1x1/bn" - top: "inception_4c/1x1/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4c/1x1/bn" - top: "inception_4c/1x1/bn/sc" - name: "inception_4c/1x1/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4c/1x1/bn/sc" - top: "inception_4c/1x1/bn/sc" - name: "inception_4c/1x1/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4b/output" - top: "inception_4c/3x3_reduce" - name: "inception_4c/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4c/3x3_reduce" - name: "inception_4c/3x3_reduce/bn" - top: "inception_4c/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4c/3x3_reduce/bn" - top: "inception_4c/3x3_reduce/bn/sc" - name: "inception_4c/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4c/3x3_reduce/bn/sc" - top: "inception_4c/3x3_reduce/bn/sc" - name: "inception_4c/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4c/3x3_reduce/bn/sc" - top: "inception_4c/3x3" - name: "inception_4c/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 160 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4c/3x3" - name: "inception_4c/3x3/bn" - top: "inception_4c/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4c/3x3/bn" - top: "inception_4c/3x3/bn/sc" - name: "inception_4c/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4c/3x3/bn/sc" - top: "inception_4c/3x3/bn/sc" - name: "inception_4c/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4b/output" - top: "inception_4c/double3x3_reduce" - name: "inception_4c/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4c/double3x3_reduce" - name: "inception_4c/double3x3_reduce/bn" - top: "inception_4c/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4c/double3x3_reduce/bn" - top: "inception_4c/double3x3_reduce/bn/sc" - name: "inception_4c/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4c/double3x3_reduce/bn/sc" - top: "inception_4c/double3x3_reduce/bn/sc" - name: "inception_4c/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4c/double3x3_reduce/bn/sc" - top: "inception_4c/double3x3a" - name: "inception_4c/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 160 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4c/double3x3a" - name: "inception_4c/double3x3a/bn" - top: "inception_4c/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4c/double3x3a/bn" - top: "inception_4c/double3x3a/bn/sc" - name: "inception_4c/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4c/double3x3a/bn/sc" - top: "inception_4c/double3x3a/bn/sc" - name: "inception_4c/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4c/double3x3a/bn/sc" - top: "inception_4c/double3x3b" - name: "inception_4c/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 160 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4c/double3x3b" - name: "inception_4c/double3x3b/bn" - top: "inception_4c/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4c/double3x3b/bn" - top: "inception_4c/double3x3b/bn/sc" - name: "inception_4c/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4c/double3x3b/bn/sc" - top: "inception_4c/double3x3b/bn/sc" - name: "inception_4c/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4b/output" - top: "inception_4c/pool" - name: "inception_4c/pool" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - bottom: "inception_4c/pool" - top: "inception_4c/pool_proj" - name: "inception_4c/pool_proj" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4c/pool_proj" - name: "inception_4c/pool_proj/bn" - top: "inception_4c/pool_proj/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4c/pool_proj/bn" - top: "inception_4c/pool_proj/bn/sc" - name: "inception_4c/pool_proj/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4c/pool_proj/bn/sc" - top: "inception_4c/pool_proj/bn/sc" - name: "inception_4c/pool_proj/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4c/1x1/bn/sc" - bottom: "inception_4c/3x3/bn/sc" - bottom: "inception_4c/double3x3b/bn/sc" - bottom: "inception_4c/pool_proj/bn/sc" - top: "inception_4c/output" - name: "inception_4c/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_4c/output" - top: "inception_4d/1x1" - name: "inception_4d/1x1" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4d/1x1" - name: "inception_4d/1x1/bn" - top: "inception_4d/1x1/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4d/1x1/bn" - top: "inception_4d/1x1/bn/sc" - name: "inception_4d/1x1/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4d/1x1/bn/sc" - top: "inception_4d/1x1/bn/sc" - name: "inception_4d/1x1/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4c/output" - top: "inception_4d/3x3_reduce" - name: "inception_4d/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4d/3x3_reduce" - name: "inception_4d/3x3_reduce/bn" - top: "inception_4d/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4d/3x3_reduce/bn" - top: "inception_4d/3x3_reduce/bn/sc" - name: "inception_4d/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4d/3x3_reduce/bn/sc" - top: "inception_4d/3x3_reduce/bn/sc" - name: "inception_4d/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4d/3x3_reduce/bn/sc" - top: "inception_4d/3x3" - name: "inception_4d/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4d/3x3" - name: "inception_4d/3x3/bn" - top: "inception_4d/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4d/3x3/bn" - top: "inception_4d/3x3/bn/sc" - name: "inception_4d/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4d/3x3/bn/sc" - top: "inception_4d/3x3/bn/sc" - name: "inception_4d/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4c/output" - top: "inception_4d/double3x3_reduce" - name: "inception_4d/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 160 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4d/double3x3_reduce" - name: "inception_4d/double3x3_reduce/bn" - top: "inception_4d/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4d/double3x3_reduce/bn" - top: "inception_4d/double3x3_reduce/bn/sc" - name: "inception_4d/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4d/double3x3_reduce/bn/sc" - top: "inception_4d/double3x3_reduce/bn/sc" - name: "inception_4d/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4d/double3x3_reduce/bn/sc" - top: "inception_4d/double3x3a" - name: "inception_4d/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4d/double3x3a" - name: "inception_4d/double3x3a/bn" - top: "inception_4d/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4d/double3x3a/bn" - top: "inception_4d/double3x3a/bn/sc" - name: "inception_4d/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4d/double3x3a/bn/sc" - top: "inception_4d/double3x3a/bn/sc" - name: "inception_4d/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4d/double3x3a/bn/sc" - top: "inception_4d/double3x3b" - name: "inception_4d/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4d/double3x3b" - name: "inception_4d/double3x3b/bn" - top: "inception_4d/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4d/double3x3b/bn" - top: "inception_4d/double3x3b/bn/sc" - name: "inception_4d/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4d/double3x3b/bn/sc" - top: "inception_4d/double3x3b/bn/sc" - name: "inception_4d/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4c/output" - top: "inception_4d/pool" - name: "inception_4d/pool" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - bottom: "inception_4d/pool" - top: "inception_4d/pool_proj" - name: "inception_4d/pool_proj" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 96 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4d/pool_proj" - name: "inception_4d/pool_proj/bn" - top: "inception_4d/pool_proj/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4d/pool_proj/bn" - top: "inception_4d/pool_proj/bn/sc" - name: "inception_4d/pool_proj/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4d/pool_proj/bn/sc" - top: "inception_4d/pool_proj/bn/sc" - name: "inception_4d/pool_proj/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4d/1x1/bn/sc" - bottom: "inception_4d/3x3/bn/sc" - bottom: "inception_4d/double3x3b/bn/sc" - bottom: "inception_4d/pool_proj/bn/sc" - top: "inception_4d/output" - name: "inception_4d/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_4d/output" - top: "inception_4e/3x3_reduce" - name: "inception_4e/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4e/3x3_reduce" - name: "inception_4e/3x3_reduce/bn" - top: "inception_4e/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4e/3x3_reduce/bn" - top: "inception_4e/3x3_reduce/bn/sc" - name: "inception_4e/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4e/3x3_reduce/bn/sc" - top: "inception_4e/3x3_reduce/bn/sc" - name: "inception_4e/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4e/3x3_reduce/bn/sc" - top: "inception_4e/3x3" - name: "inception_4e/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 1 - kernel_size: 3 - stride: 2 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4e/3x3" - name: "inception_4e/3x3/bn" - top: "inception_4e/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4e/3x3/bn" - top: "inception_4e/3x3/bn/sc" - name: "inception_4e/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4e/3x3/bn/sc" - top: "inception_4e/3x3/bn/sc" - name: "inception_4e/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4d/output" - top: "inception_4e/double3x3_reduce" - name: "inception_4e/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4e/double3x3_reduce" - name: "inception_4e/double3x3_reduce/bn" - top: "inception_4e/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4e/double3x3_reduce/bn" - top: "inception_4e/double3x3_reduce/bn/sc" - name: "inception_4e/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4e/double3x3_reduce/bn/sc" - top: "inception_4e/double3x3_reduce/bn/sc" - name: "inception_4e/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4e/double3x3_reduce/bn/sc" - top: "inception_4e/double3x3a" - name: "inception_4e/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 256 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4e/double3x3a" - name: "inception_4e/double3x3a/bn" - top: "inception_4e/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4e/double3x3a/bn" - top: "inception_4e/double3x3a/bn/sc" - name: "inception_4e/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4e/double3x3a/bn/sc" - top: "inception_4e/double3x3a/bn/sc" - name: "inception_4e/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4e/double3x3a/bn/sc" - top: "inception_4e/double3x3b" - name: "inception_4e/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 256 - pad: 1 - kernel_size: 3 - stride: 2 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_4e/double3x3b" - name: "inception_4e/double3x3b/bn" - top: "inception_4e/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_4e/double3x3b/bn" - top: "inception_4e/double3x3b/bn/sc" - name: "inception_4e/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_4e/double3x3b/bn/sc" - top: "inception_4e/double3x3b/bn/sc" - name: "inception_4e/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4d/output" - top: "inception_4e/pool" - name: "inception_4e/pool" - type: "Pooling" - pooling_param { - - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layer { - bottom: "inception_4e/3x3/bn/sc" - bottom: "inception_4e/double3x3b/bn/sc" - bottom: "inception_4e/pool" - top: "inception_4e/output" - name: "inception_4e/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_4e/output" - top: "pool4/5x5_s3" - name: "pool4/5x5_s3" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 5 - stride: 3 - } -} -layer { - bottom: "pool4/5x5_s3" - top: "loss2/conv" - name: "loss2/conv" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "loss2/conv" - name: "loss2/conv/bn" - top: "loss2/conv/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "loss2/conv/bn" - top: "loss2/conv/bn/sc" - name: "loss2/conv/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "loss2/conv/bn/sc" - top: "loss2/conv/bn/sc" - name: "loss2/conv/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "loss2/conv/bn/sc" - top: "loss2/fc" - name: "loss2/fc" - type: "InnerProduct" - param { - lr_mult: 1 - decay_mult: 1 - } - inner_product_param { - num_output: 1024 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "loss2/fc" - name: "loss2/fc/bn" - top: "loss2/fc/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "loss2/fc/bn" - top: "loss2/fc/bn/sc" - name: "loss2/fc/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "loss2/fc/bn/sc" - top: "loss2/fc/bn/sc" - name: "loss2/fc/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "loss2/fc/bn/sc" - top: "loss2/classifier" - name: "loss2/classifier" - type: "InnerProduct" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - inner_product_param { - num_output: 1000 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0 - } - } -} -layer { - bottom: "loss2/classifier" - bottom: "label" - top: "loss2/loss" - name: "loss2/loss" - type: "SoftmaxWithLoss" - loss_weight: 0.3 -} -layer { - bottom: "loss2/classifier" - top: "loss2/prob" - name: "loss2/prob" - type: "Softmax" - include { - phase: TEST - } -} -layer { - bottom: "loss2/prob" - bottom: "label" - top: "loss2/top-1" - name: "loss2/top-1" - type: "Accuracy" - include { - phase: TEST - } -} -layer { - bottom: "loss2/prob" - bottom: "label" - top: "loss2/top-5" - name: "loss2/top-5" - type: "Accuracy" - accuracy_param { - top_k: 5 - } - include { - phase: TEST - } -} -layer { - bottom: "inception_4e/output" - top: "inception_5a/1x1" - name: "inception_5a/1x1" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 352 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5a/1x1" - name: "inception_5a/1x1/bn" - top: "inception_5a/1x1/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5a/1x1/bn" - top: "inception_5a/1x1/bn/sc" - name: "inception_5a/1x1/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5a/1x1/bn/sc" - top: "inception_5a/1x1/bn/sc" - name: "inception_5a/1x1/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4e/output" - top: "inception_5a/3x3_reduce" - name: "inception_5a/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5a/3x3_reduce" - name: "inception_5a/3x3_reduce/bn" - top: "inception_5a/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5a/3x3_reduce/bn" - top: "inception_5a/3x3_reduce/bn/sc" - name: "inception_5a/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5a/3x3_reduce/bn/sc" - top: "inception_5a/3x3_reduce/bn/sc" - name: "inception_5a/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5a/3x3_reduce/bn/sc" - top: "inception_5a/3x3" - name: "inception_5a/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 320 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5a/3x3" - name: "inception_5a/3x3/bn" - top: "inception_5a/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5a/3x3/bn" - top: "inception_5a/3x3/bn/sc" - name: "inception_5a/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5a/3x3/bn/sc" - top: "inception_5a/3x3/bn/sc" - name: "inception_5a/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4e/output" - top: "inception_5a/double3x3_reduce" - name: "inception_5a/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 160 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5a/double3x3_reduce" - name: "inception_5a/double3x3_reduce/bn" - top: "inception_5a/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5a/double3x3_reduce/bn" - top: "inception_5a/double3x3_reduce/bn/sc" - name: "inception_5a/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5a/double3x3_reduce/bn/sc" - top: "inception_5a/double3x3_reduce/bn/sc" - name: "inception_5a/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5a/double3x3_reduce/bn/sc" - top: "inception_5a/double3x3a" - name: "inception_5a/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 224 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5a/double3x3a" - name: "inception_5a/double3x3a/bn" - top: "inception_5a/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5a/double3x3a/bn" - top: "inception_5a/double3x3a/bn/sc" - name: "inception_5a/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5a/double3x3a/bn/sc" - top: "inception_5a/double3x3a/bn/sc" - name: "inception_5a/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5a/double3x3a/bn/sc" - top: "inception_5a/double3x3b" - name: "inception_5a/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 224 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5a/double3x3b" - name: "inception_5a/double3x3b/bn" - top: "inception_5a/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5a/double3x3b/bn" - top: "inception_5a/double3x3b/bn/sc" - name: "inception_5a/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5a/double3x3b/bn/sc" - top: "inception_5a/double3x3b/bn/sc" - name: "inception_5a/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_4e/output" - top: "inception_5a/pool" - name: "inception_5a/pool" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - bottom: "inception_5a/pool" - top: "inception_5a/pool_proj" - name: "inception_5a/pool_proj" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5a/pool_proj" - name: "inception_5a/pool_proj/bn" - top: "inception_5a/pool_proj/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5a/pool_proj/bn" - top: "inception_5a/pool_proj/bn/sc" - name: "inception_5a/pool_proj/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5a/pool_proj/bn/sc" - top: "inception_5a/pool_proj/bn/sc" - name: "inception_5a/pool_proj/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5a/1x1/bn/sc" - bottom: "inception_5a/3x3/bn/sc" - bottom: "inception_5a/double3x3b/bn/sc" - bottom: "inception_5a/pool_proj/bn/sc" - top: "inception_5a/output" - name: "inception_5a/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_5a/output" - top: "inception_5b/1x1" - name: "inception_5b/1x1" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 352 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5b/1x1" - name: "inception_5b/1x1/bn" - top: "inception_5b/1x1/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5b/1x1/bn" - top: "inception_5b/1x1/bn/sc" - name: "inception_5b/1x1/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5b/1x1/bn/sc" - top: "inception_5b/1x1/bn/sc" - name: "inception_5b/1x1/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5a/output" - top: "inception_5b/3x3_reduce" - name: "inception_5b/3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5b/3x3_reduce" - name: "inception_5b/3x3_reduce/bn" - top: "inception_5b/3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5b/3x3_reduce/bn" - top: "inception_5b/3x3_reduce/bn/sc" - name: "inception_5b/3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5b/3x3_reduce/bn/sc" - top: "inception_5b/3x3_reduce/bn/sc" - name: "inception_5b/3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5b/3x3_reduce/bn/sc" - top: "inception_5b/3x3" - name: "inception_5b/3x3" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 320 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5b/3x3" - name: "inception_5b/3x3/bn" - top: "inception_5b/3x3/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5b/3x3/bn" - top: "inception_5b/3x3/bn/sc" - name: "inception_5b/3x3/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5b/3x3/bn/sc" - top: "inception_5b/3x3/bn/sc" - name: "inception_5b/3x3/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5a/output" - top: "inception_5b/double3x3_reduce" - name: "inception_5b/double3x3_reduce" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 192 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5b/double3x3_reduce" - name: "inception_5b/double3x3_reduce/bn" - top: "inception_5b/double3x3_reduce/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5b/double3x3_reduce/bn" - top: "inception_5b/double3x3_reduce/bn/sc" - name: "inception_5b/double3x3_reduce/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5b/double3x3_reduce/bn/sc" - top: "inception_5b/double3x3_reduce/bn/sc" - name: "inception_5b/double3x3_reduce/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5b/double3x3_reduce/bn/sc" - top: "inception_5b/double3x3a" - name: "inception_5b/double3x3a" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 224 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5b/double3x3a" - name: "inception_5b/double3x3a/bn" - top: "inception_5b/double3x3a/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5b/double3x3a/bn" - top: "inception_5b/double3x3a/bn/sc" - name: "inception_5b/double3x3a/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5b/double3x3a/bn/sc" - top: "inception_5b/double3x3a/bn/sc" - name: "inception_5b/double3x3a/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5b/double3x3a/bn/sc" - top: "inception_5b/double3x3b" - name: "inception_5b/double3x3b" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 224 - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5b/double3x3b" - name: "inception_5b/double3x3b/bn" - top: "inception_5b/double3x3b/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5b/double3x3b/bn" - top: "inception_5b/double3x3b/bn/sc" - name: "inception_5b/double3x3b/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5b/double3x3b/bn/sc" - top: "inception_5b/double3x3b/bn/sc" - name: "inception_5b/double3x3b/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5a/output" - top: "inception_5b/pool" - name: "inception_5b/pool" - type: "Pooling" - pooling_param { - - pool: MAX - kernel_size: 3 - stride: 1 - pad: 1 - } -} -layer { - bottom: "inception_5b/pool" - top: "inception_5b/pool_proj" - name: "inception_5b/pool_proj" - type: "Convolution" - param { - lr_mult: 1 - decay_mult: 1 - } - convolution_param { - - num_output: 128 - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "xavier" - } - bias_term: false - } -} -layer { - bottom: "inception_5b/pool_proj" - name: "inception_5b/pool_proj/bn" - top: "inception_5b/pool_proj/bn" - type: "BatchNorm" - batch_norm_param { - - } -} -layer { - bottom: "inception_5b/pool_proj/bn" - top: "inception_5b/pool_proj/bn/sc" - name: "inception_5b/pool_proj/bn/sc" - type: "Scale" - scale_param { - bias_term: true - } -} -layer { - bottom: "inception_5b/pool_proj/bn/sc" - top: "inception_5b/pool_proj/bn/sc" - name: "inception_5b/pool_proj/bn/sc/relu" - type: "ReLU" - relu_param { - - } -} -layer { - bottom: "inception_5b/1x1/bn/sc" - bottom: "inception_5b/3x3/bn/sc" - bottom: "inception_5b/double3x3b/bn/sc" - bottom: "inception_5b/pool_proj/bn/sc" - top: "inception_5b/output" - name: "inception_5b/output" - type: "Concat" - concat_param { - - } -} -layer { - bottom: "inception_5b/output" - top: "pool5/7x7_s1" - name: "pool5/7x7_s1" - type: "Pooling" - pooling_param { - - pool: AVE - kernel_size: 7 - stride: 1 - } -} -layer { - bottom: "pool5/7x7_s1" - top: "loss3/classifier" - name: "loss3/classifier" - type: "InnerProduct" - param { - lr_mult: 1 - decay_mult: 1 - } - param { - lr_mult: 2 - decay_mult: 0 - } - inner_product_param { - num_output: 1000 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - value: 0 - } - } -} -layer { - bottom: "loss3/classifier" - bottom: "label" - top: "loss3/loss" - name: "loss3/loss" - type: "SoftmaxWithLoss" - loss_weight: 1 -} -layer { - bottom: "loss3/classifier" - top: "loss3/prob" - name: "loss3/prob" - type: "Softmax" - include { - phase: TEST - } -} -layer { - bottom: "loss3/prob" - bottom: "label" - top: "loss3/top-1" - name: "loss3/top-1" - type: "Accuracy" - include { - phase: TEST - } -} -layer { - bottom: "loss3/prob" - bottom: "label" - top: "loss3/top-5" - name: "loss3/top-5" - type: "Accuracy" - accuracy_param { - top_k: 5 - } - include { - phase: TEST - } -} diff --git a/models/intel_optimized_models/multinode/resnet_50_16_nodes/solver.prototxt b/models/intel_optimized_models/multinode/resnet_50_16_nodes/solver.prototxt deleted file mode 100644 index a66f60dfa..000000000 --- a/models/intel_optimized_models/multinode/resnet_50_16_nodes/solver.prototxt +++ /dev/null @@ -1,15 +0,0 @@ -#This solver is described by Computer Vision Group Jena (CVGJ) in [ImageNet pre-trained models with batch normalization] (https://arxiv.org/pdf/1612.01452.pdf) -net: "models/intel_optimized_models/multinode/resnet_50_16_nodes/train_val.prototxt" -#test_iter: 5000 -#test_interval: 15000 -#test_initialization: false -base_lr: 0.1 -display: 20 -max_iter: 320000 -lr_policy: "poly" -power: 1 -momentum: 0.9 -weight_decay: 0.0001 -snapshot: 30000 -snapshot_prefix: "caffe-resnet50" -solver_mode: CPU diff --git a/models/intel_optimized_models/multinode/resnet_50_16_nodes/train_val.prototxt b/models/intel_optimized_models/multinode/resnet_50_16_nodes/train_val.prototxt deleted file mode 100644 index 71b07d00a..000000000 --- a/models/intel_optimized_models/multinode/resnet_50_16_nodes/train_val.prototxt +++ /dev/null @@ -1,2306 +0,0 @@ -#This is Intel(R) optimized (in terms of time to train) version of topology described in the [Deep Residual Learning for Image Recognition](https://arxiv.org/abs/1512.03385) publication. -# -#Top-5 and Top-1 results achieved with this topology: -#Top-5: 92% -#Top-1: 73.9% -#Training was performed using server equipped with Intel(R) Xeon Phi(TM) CPU 7250 processor. - -layer { -name: "data" -type: "Data" -top: "data" -top: "label" -include { - phase: TRAIN -} -transform_param { - scale: 0.0078125 - mirror: true - crop_size: 224 - mean_value: 104 - mean_value: 117 - mean_value: 123 -} - data_param { - source: "examples/imagenet/ilsvrc12_train_lmdb" - batch_size: 16 - backend: LMDB - shuffle: true - } - -} -layer { -name: "data" -type: "Data" -top: "data" -top: "label" -include { - phase: TEST -} -transform_param { - scale: 0.0078125 - mirror: false - crop_size: 224 - mean_value: 104 - mean_value: 117 - mean_value: 123 -} - data_param { - source: "examples/imagenet/ilsvrc12_val_lmdb" - batch_size: 10 - backend: LMDB - } - -} - -layer { -name: "conv1" -type: "Convolution" -bottom: "data" -top: "conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -param { - lr_mult: 2.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 64 - pad: 3 - kernel_size: 7 - stride: 2 - weight_filler { - type: "msra" - variance_norm: FAN_OUT - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "conv1_bn" -type: "BatchNorm" -bottom: "conv1" -top: "conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "conv1_relu" -type: "ReLU" -bottom: "conv1_pcs_arm_sim" -top: "conv1_pcs_arm_sim" - -} -layer { -name: "conv1_pool" -type: "Pooling" -bottom: "conv1_pcs_arm_sim" -top: "conv1_pool" -pooling_param { - kernel_size: 3 - stride: 2 -} - -} -layer { -name: "layer_64_1_conv1" -type: "Convolution" -bottom: "conv1_pool" -top: "layer_64_1_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 64 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_1_bn2" -type: "BatchNorm" -bottom: "layer_64_1_conv1" -top: "layer_64_1_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_64_1_relu2" -type: "ReLU" -bottom: "layer_64_1_conv1_pcs_arm_sim" -top: "layer_64_1_conv1_pcs_arm_sim" - -} -layer { -name: "layer_64_1_conv2" -type: "Convolution" -bottom: "layer_64_1_conv1_pcs_arm_sim" -top: "layer_64_1_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 64 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_1_bn3" -type: "BatchNorm" -bottom: "layer_64_1_conv2" -top: "layer_64_1_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_64_1_relu3" -type: "ReLU" -bottom: "layer_64_1_conv2_pcs_arm_sim" -top: "layer_64_1_conv2_pcs_arm_sim" - -} -layer { -name: "layer_64_1_conv3" -type: "Convolution" -bottom: "layer_64_1_conv2_pcs_arm_sim" -top: "layer_64_1_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_1_conv_expand" -type: "Convolution" -bottom: "layer_64_1_conv1_pcs_arm_sim" -top: "layer_64_1_conv_expand" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_1_sum" -type: "Eltwise" -bottom: "layer_64_1_conv3" -bottom: "layer_64_1_conv_expand" -top: "layer_64_1_sum" - -} -layer { -name: "layer_64_2_bn1" -type: "BatchNorm" -bottom: "layer_64_1_sum" -top: "layer_64_2_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_64_2_relu1" -type: "ReLU" -bottom: "layer_64_2_bn1_pcs_arm_sim" -top: "layer_64_2_bn1_pcs_arm_sim" - -} -layer { -name: "layer_64_2_conv1" -type: "Convolution" -bottom: "layer_64_2_bn1_pcs_arm_sim" -top: "layer_64_2_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 64 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_2_bn2" -type: "BatchNorm" -bottom: "layer_64_2_conv1" -top: "layer_64_2_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_64_2_relu2" -type: "ReLU" -bottom: "layer_64_2_conv1_pcs_arm_sim" -top: "layer_64_2_conv1_pcs_arm_sim" - -} -layer { -name: "layer_64_2_conv2" -type: "Convolution" -bottom: "layer_64_2_conv1_pcs_arm_sim" -top: "layer_64_2_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 64 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_2_bn3" -type: "BatchNorm" -bottom: "layer_64_2_conv2" -top: "layer_64_2_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_64_2_relu3" -type: "ReLU" -bottom: "layer_64_2_conv2_pcs_arm_sim" -top: "layer_64_2_conv2_pcs_arm_sim" - -} -layer { -name: "layer_64_2_conv3" -type: "Convolution" -bottom: "layer_64_2_conv2_pcs_arm_sim" -top: "layer_64_2_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_2_sum" -type: "Eltwise" -bottom: "layer_64_2_conv3" -bottom: "layer_64_1_sum" -top: "layer_64_2_sum" - -} -layer { -name: "layer_64_3_bn1" -type: "BatchNorm" -bottom: "layer_64_2_sum" -top: "layer_64_3_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_64_3_relu1" -type: "ReLU" -bottom: "layer_64_3_bn1_pcs_arm_sim" -top: "layer_64_3_bn1_pcs_arm_sim" - -} -layer { -name: "layer_64_3_conv1" -type: "Convolution" -bottom: "layer_64_3_bn1_pcs_arm_sim" -top: "layer_64_3_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 64 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_3_bn2" -type: "BatchNorm" -bottom: "layer_64_3_conv1" -top: "layer_64_3_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_64_3_relu2" -type: "ReLU" -bottom: "layer_64_3_conv1_pcs_arm_sim" -top: "layer_64_3_conv1_pcs_arm_sim" - -} -layer { -name: "layer_64_3_conv2" -type: "Convolution" -bottom: "layer_64_3_conv1_pcs_arm_sim" -top: "layer_64_3_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 64 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_3_bn3" -type: "BatchNorm" -bottom: "layer_64_3_conv2" -top: "layer_64_3_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_64_3_relu3" -type: "ReLU" -bottom: "layer_64_3_conv2_pcs_arm_sim" -top: "layer_64_3_conv2_pcs_arm_sim" - -} -layer { -name: "layer_64_3_conv3" -type: "Convolution" -bottom: "layer_64_3_conv2_pcs_arm_sim" -top: "layer_64_3_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_64_3_sum" -type: "Eltwise" -bottom: "layer_64_3_conv3" -bottom: "layer_64_2_sum" -top: "layer_64_3_sum" - -} -layer { -name: "layer_128_1_bn1" -type: "BatchNorm" -bottom: "layer_64_3_sum" -top: "layer_128_1_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_1_relu1" -type: "ReLU" -bottom: "layer_128_1_bn1_pcs_arm_sim" -top: "layer_128_1_bn1_pcs_arm_sim" - -} -layer { -name: "layer_128_1_conv1" -type: "Convolution" -bottom: "layer_128_1_bn1_pcs_arm_sim" -top: "layer_128_1_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 128 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_1_bn2" -type: "BatchNorm" -bottom: "layer_128_1_conv1" -top: "layer_128_1_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_1_relu2" -type: "ReLU" -bottom: "layer_128_1_conv1_pcs_arm_sim" -top: "layer_128_1_conv1_pcs_arm_sim" - -} -layer { -name: "layer_128_1_conv2" -type: "Convolution" -bottom: "layer_128_1_conv1_pcs_arm_sim" -top: "layer_128_1_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 128 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 2 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_1_bn3" -type: "BatchNorm" -bottom: "layer_128_1_conv2" -top: "layer_128_1_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_1_relu3" -type: "ReLU" -bottom: "layer_128_1_conv2_pcs_arm_sim" -top: "layer_128_1_conv2_pcs_arm_sim" - -} -layer { -name: "layer_128_1_conv3" -type: "Convolution" -bottom: "layer_128_1_conv2_pcs_arm_sim" -top: "layer_128_1_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_1_conv_expand" -type: "Convolution" -bottom: "layer_128_1_bn1_pcs_arm_sim" -top: "layer_128_1_conv_expand" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 2 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_1_sum" -type: "Eltwise" -bottom: "layer_128_1_conv3" -bottom: "layer_128_1_conv_expand" -top: "layer_128_1_sum" - -} -layer { -name: "layer_128_2_bn1" -type: "BatchNorm" -bottom: "layer_128_1_sum" -top: "layer_128_2_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_2_relu1" -type: "ReLU" -bottom: "layer_128_2_bn1_pcs_arm_sim" -top: "layer_128_2_bn1_pcs_arm_sim" - -} -layer { -name: "layer_128_2_conv1" -type: "Convolution" -bottom: "layer_128_2_bn1_pcs_arm_sim" -top: "layer_128_2_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 128 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_2_bn2" -type: "BatchNorm" -bottom: "layer_128_2_conv1" -top: "layer_128_2_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_2_relu2" -type: "ReLU" -bottom: "layer_128_2_conv1_pcs_arm_sim" -top: "layer_128_2_conv1_pcs_arm_sim" - -} -layer { -name: "layer_128_2_conv2" -type: "Convolution" -bottom: "layer_128_2_conv1_pcs_arm_sim" -top: "layer_128_2_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 128 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_2_bn3" -type: "BatchNorm" -bottom: "layer_128_2_conv2" -top: "layer_128_2_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_2_relu3" -type: "ReLU" -bottom: "layer_128_2_conv2_pcs_arm_sim" -top: "layer_128_2_conv2_pcs_arm_sim" - -} -layer { -name: "layer_128_2_conv3" -type: "Convolution" -bottom: "layer_128_2_conv2_pcs_arm_sim" -top: "layer_128_2_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_2_sum" -type: "Eltwise" -bottom: "layer_128_2_conv3" -bottom: "layer_128_1_sum" -top: "layer_128_2_sum" - -} -layer { -name: "layer_128_3_bn1" -type: "BatchNorm" -bottom: "layer_128_2_sum" -top: "layer_128_3_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_3_relu1" -type: "ReLU" -bottom: "layer_128_3_bn1_pcs_arm_sim" -top: "layer_128_3_bn1_pcs_arm_sim" - -} -layer { -name: "layer_128_3_conv1" -type: "Convolution" -bottom: "layer_128_3_bn1_pcs_arm_sim" -top: "layer_128_3_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 128 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_3_bn2" -type: "BatchNorm" -bottom: "layer_128_3_conv1" -top: "layer_128_3_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_3_relu2" -type: "ReLU" -bottom: "layer_128_3_conv1_pcs_arm_sim" -top: "layer_128_3_conv1_pcs_arm_sim" - -} -layer { -name: "layer_128_3_conv2" -type: "Convolution" -bottom: "layer_128_3_conv1_pcs_arm_sim" -top: "layer_128_3_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 128 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_3_bn3" -type: "BatchNorm" -bottom: "layer_128_3_conv2" -top: "layer_128_3_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_3_relu3" -type: "ReLU" -bottom: "layer_128_3_conv2_pcs_arm_sim" -top: "layer_128_3_conv2_pcs_arm_sim" - -} -layer { -name: "layer_128_3_conv3" -type: "Convolution" -bottom: "layer_128_3_conv2_pcs_arm_sim" -top: "layer_128_3_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_3_sum" -type: "Eltwise" -bottom: "layer_128_3_conv3" -bottom: "layer_128_2_sum" -top: "layer_128_3_sum" - -} -layer { -name: "layer_128_4_bn1" -type: "BatchNorm" -bottom: "layer_128_3_sum" -top: "layer_128_4_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_4_relu1" -type: "ReLU" -bottom: "layer_128_4_bn1_pcs_arm_sim" -top: "layer_128_4_bn1_pcs_arm_sim" - -} -layer { -name: "layer_128_4_conv1" -type: "Convolution" -bottom: "layer_128_4_bn1_pcs_arm_sim" -top: "layer_128_4_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 128 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_4_bn2" -type: "BatchNorm" -bottom: "layer_128_4_conv1" -top: "layer_128_4_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_4_relu2" -type: "ReLU" -bottom: "layer_128_4_conv1_pcs_arm_sim" -top: "layer_128_4_conv1_pcs_arm_sim" - -} -layer { -name: "layer_128_4_conv2" -type: "Convolution" -bottom: "layer_128_4_conv1_pcs_arm_sim" -top: "layer_128_4_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 128 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_4_bn3" -type: "BatchNorm" -bottom: "layer_128_4_conv2" -top: "layer_128_4_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_128_4_relu3" -type: "ReLU" -bottom: "layer_128_4_conv2_pcs_arm_sim" -top: "layer_128_4_conv2_pcs_arm_sim" - -} -layer { -name: "layer_128_4_conv3" -type: "Convolution" -bottom: "layer_128_4_conv2_pcs_arm_sim" -top: "layer_128_4_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_128_4_sum" -type: "Eltwise" -bottom: "layer_128_4_conv3" -bottom: "layer_128_3_sum" -top: "layer_128_4_sum" - -} -layer { -name: "layer_256_1_bn1" -type: "BatchNorm" -bottom: "layer_128_4_sum" -top: "layer_256_1_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_1_relu1" -type: "ReLU" -bottom: "layer_256_1_bn1_pcs_arm_sim" -top: "layer_256_1_bn1_pcs_arm_sim" - -} -layer { -name: "layer_256_1_conv1" -type: "Convolution" -bottom: "layer_256_1_bn1_pcs_arm_sim" -top: "layer_256_1_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_1_bn2" -type: "BatchNorm" -bottom: "layer_256_1_conv1" -top: "layer_256_1_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_1_relu2" -type: "ReLU" -bottom: "layer_256_1_conv1_pcs_arm_sim" -top: "layer_256_1_conv1_pcs_arm_sim" - -} -layer { -name: "layer_256_1_conv2" -type: "Convolution" -bottom: "layer_256_1_conv1_pcs_arm_sim" -top: "layer_256_1_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 2 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_1_bn3" -type: "BatchNorm" -bottom: "layer_256_1_conv2" -top: "layer_256_1_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_1_relu3" -type: "ReLU" -bottom: "layer_256_1_conv2_pcs_arm_sim" -top: "layer_256_1_conv2_pcs_arm_sim" - -} -layer { -name: "layer_256_1_conv3" -type: "Convolution" -bottom: "layer_256_1_conv2_pcs_arm_sim" -top: "layer_256_1_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 1024 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_1_conv_expand" -type: "Convolution" -bottom: "layer_256_1_bn1_pcs_arm_sim" -top: "layer_256_1_conv_expand" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 1024 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 2 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_1_sum" -type: "Eltwise" -bottom: "layer_256_1_conv3" -bottom: "layer_256_1_conv_expand" -top: "layer_256_1_sum" - -} -layer { -name: "layer_256_2_bn1" -type: "BatchNorm" -bottom: "layer_256_1_sum" -top: "layer_256_2_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_2_relu1" -type: "ReLU" -bottom: "layer_256_2_bn1_pcs_arm_sim" -top: "layer_256_2_bn1_pcs_arm_sim" - -} -layer { -name: "layer_256_2_conv1" -type: "Convolution" -bottom: "layer_256_2_bn1_pcs_arm_sim" -top: "layer_256_2_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_2_bn2" -type: "BatchNorm" -bottom: "layer_256_2_conv1" -top: "layer_256_2_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_2_relu2" -type: "ReLU" -bottom: "layer_256_2_conv1_pcs_arm_sim" -top: "layer_256_2_conv1_pcs_arm_sim" - -} -layer { -name: "layer_256_2_conv2" -type: "Convolution" -bottom: "layer_256_2_conv1_pcs_arm_sim" -top: "layer_256_2_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_2_bn3" -type: "BatchNorm" -bottom: "layer_256_2_conv2" -top: "layer_256_2_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_2_relu3" -type: "ReLU" -bottom: "layer_256_2_conv2_pcs_arm_sim" -top: "layer_256_2_conv2_pcs_arm_sim" - -} -layer { -name: "layer_256_2_conv3" -type: "Convolution" -bottom: "layer_256_2_conv2_pcs_arm_sim" -top: "layer_256_2_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 1024 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_2_sum" -type: "Eltwise" -bottom: "layer_256_2_conv3" -bottom: "layer_256_1_sum" -top: "layer_256_2_sum" - -} -layer { -name: "layer_256_3_bn1" -type: "BatchNorm" -bottom: "layer_256_2_sum" -top: "layer_256_3_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_3_relu1" -type: "ReLU" -bottom: "layer_256_3_bn1_pcs_arm_sim" -top: "layer_256_3_bn1_pcs_arm_sim" - -} -layer { -name: "layer_256_3_conv1" -type: "Convolution" -bottom: "layer_256_3_bn1_pcs_arm_sim" -top: "layer_256_3_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_3_bn2" -type: "BatchNorm" -bottom: "layer_256_3_conv1" -top: "layer_256_3_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_3_relu2" -type: "ReLU" -bottom: "layer_256_3_conv1_pcs_arm_sim" -top: "layer_256_3_conv1_pcs_arm_sim" - -} -layer { -name: "layer_256_3_conv2" -type: "Convolution" -bottom: "layer_256_3_conv1_pcs_arm_sim" -top: "layer_256_3_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_3_bn3" -type: "BatchNorm" -bottom: "layer_256_3_conv2" -top: "layer_256_3_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_3_relu3" -type: "ReLU" -bottom: "layer_256_3_conv2_pcs_arm_sim" -top: "layer_256_3_conv2_pcs_arm_sim" - -} -layer { -name: "layer_256_3_conv3" -type: "Convolution" -bottom: "layer_256_3_conv2_pcs_arm_sim" -top: "layer_256_3_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 1024 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_3_sum" -type: "Eltwise" -bottom: "layer_256_3_conv3" -bottom: "layer_256_2_sum" -top: "layer_256_3_sum" - -} -layer { -name: "layer_256_4_bn1" -type: "BatchNorm" -bottom: "layer_256_3_sum" -top: "layer_256_4_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_4_relu1" -type: "ReLU" -bottom: "layer_256_4_bn1_pcs_arm_sim" -top: "layer_256_4_bn1_pcs_arm_sim" - -} -layer { -name: "layer_256_4_conv1" -type: "Convolution" -bottom: "layer_256_4_bn1_pcs_arm_sim" -top: "layer_256_4_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_4_bn2" -type: "BatchNorm" -bottom: "layer_256_4_conv1" -top: "layer_256_4_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_4_relu2" -type: "ReLU" -bottom: "layer_256_4_conv1_pcs_arm_sim" -top: "layer_256_4_conv1_pcs_arm_sim" - -} -layer { -name: "layer_256_4_conv2" -type: "Convolution" -bottom: "layer_256_4_conv1_pcs_arm_sim" -top: "layer_256_4_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_4_bn3" -type: "BatchNorm" -bottom: "layer_256_4_conv2" -top: "layer_256_4_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_4_relu3" -type: "ReLU" -bottom: "layer_256_4_conv2_pcs_arm_sim" -top: "layer_256_4_conv2_pcs_arm_sim" - -} -layer { -name: "layer_256_4_conv3" -type: "Convolution" -bottom: "layer_256_4_conv2_pcs_arm_sim" -top: "layer_256_4_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 1024 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_4_sum" -type: "Eltwise" -bottom: "layer_256_4_conv3" -bottom: "layer_256_3_sum" -top: "layer_256_4_sum" - -} -layer { -name: "layer_256_5_bn1" -type: "BatchNorm" -bottom: "layer_256_4_sum" -top: "layer_256_5_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_5_relu1" -type: "ReLU" -bottom: "layer_256_5_bn1_pcs_arm_sim" -top: "layer_256_5_bn1_pcs_arm_sim" - -} -layer { -name: "layer_256_5_conv1" -type: "Convolution" -bottom: "layer_256_5_bn1_pcs_arm_sim" -top: "layer_256_5_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_5_bn2" -type: "BatchNorm" -bottom: "layer_256_5_conv1" -top: "layer_256_5_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_5_relu2" -type: "ReLU" -bottom: "layer_256_5_conv1_pcs_arm_sim" -top: "layer_256_5_conv1_pcs_arm_sim" - -} -layer { -name: "layer_256_5_conv2" -type: "Convolution" -bottom: "layer_256_5_conv1_pcs_arm_sim" -top: "layer_256_5_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_5_bn3" -type: "BatchNorm" -bottom: "layer_256_5_conv2" -top: "layer_256_5_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_5_relu3" -type: "ReLU" -bottom: "layer_256_5_conv2_pcs_arm_sim" -top: "layer_256_5_conv2_pcs_arm_sim" - -} -layer { -name: "layer_256_5_conv3" -type: "Convolution" -bottom: "layer_256_5_conv2_pcs_arm_sim" -top: "layer_256_5_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 1024 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_5_sum" -type: "Eltwise" -bottom: "layer_256_5_conv3" -bottom: "layer_256_4_sum" -top: "layer_256_5_sum" - -} -layer { -name: "layer_256_6_bn1" -type: "BatchNorm" -bottom: "layer_256_5_sum" -top: "layer_256_6_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_6_relu1" -type: "ReLU" -bottom: "layer_256_6_bn1_pcs_arm_sim" -top: "layer_256_6_bn1_pcs_arm_sim" - -} -layer { -name: "layer_256_6_conv1" -type: "Convolution" -bottom: "layer_256_6_bn1_pcs_arm_sim" -top: "layer_256_6_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_6_bn2" -type: "BatchNorm" -bottom: "layer_256_6_conv1" -top: "layer_256_6_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_6_relu2" -type: "ReLU" -bottom: "layer_256_6_conv1_pcs_arm_sim" -top: "layer_256_6_conv1_pcs_arm_sim" - -} -layer { -name: "layer_256_6_conv2" -type: "Convolution" -bottom: "layer_256_6_conv1_pcs_arm_sim" -top: "layer_256_6_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 256 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_6_bn3" -type: "BatchNorm" -bottom: "layer_256_6_conv2" -top: "layer_256_6_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_256_6_relu3" -type: "ReLU" -bottom: "layer_256_6_conv2_pcs_arm_sim" -top: "layer_256_6_conv2_pcs_arm_sim" - -} -layer { -name: "layer_256_6_conv3" -type: "Convolution" -bottom: "layer_256_6_conv2_pcs_arm_sim" -top: "layer_256_6_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 1024 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_256_6_sum" -type: "Eltwise" -bottom: "layer_256_6_conv3" -bottom: "layer_256_5_sum" -top: "layer_256_6_sum" - -} -layer { -name: "layer_512_1_bn1" -type: "BatchNorm" -bottom: "layer_256_6_sum" -top: "layer_512_1_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_512_1_relu1" -type: "ReLU" -bottom: "layer_512_1_bn1_pcs_arm_sim" -top: "layer_512_1_bn1_pcs_arm_sim" - -} -layer { -name: "layer_512_1_conv1" -type: "Convolution" -bottom: "layer_512_1_bn1_pcs_arm_sim" -top: "layer_512_1_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_1_bn2" -type: "BatchNorm" -bottom: "layer_512_1_conv1" -top: "layer_512_1_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_512_1_relu2" -type: "ReLU" -bottom: "layer_512_1_conv1_pcs_arm_sim" -top: "layer_512_1_conv1_pcs_arm_sim" - -} -layer { -name: "layer_512_1_conv2" -type: "Convolution" -bottom: "layer_512_1_conv1_pcs_arm_sim" -top: "layer_512_1_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 2 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_1_bn3" -type: "BatchNorm" -bottom: "layer_512_1_conv2" -top: "layer_512_1_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_512_1_relu3" -type: "ReLU" -bottom: "layer_512_1_conv2_pcs_arm_sim" -top: "layer_512_1_conv2_pcs_arm_sim" - -} -layer { -name: "layer_512_1_conv3" -type: "Convolution" -bottom: "layer_512_1_conv2_pcs_arm_sim" -top: "layer_512_1_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 2048 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_1_conv_expand" -type: "Convolution" -bottom: "layer_512_1_bn1_pcs_arm_sim" -top: "layer_512_1_conv_expand" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 2048 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 2 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_1_sum" -type: "Eltwise" -bottom: "layer_512_1_conv3" -bottom: "layer_512_1_conv_expand" -top: "layer_512_1_sum" - -} -layer { -name: "layer_512_2_bn1" -type: "BatchNorm" -bottom: "layer_512_1_sum" -top: "layer_512_2_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_512_2_relu1" -type: "ReLU" -bottom: "layer_512_2_bn1_pcs_arm_sim" -top: "layer_512_2_bn1_pcs_arm_sim" - -} -layer { -name: "layer_512_2_conv1" -type: "Convolution" -bottom: "layer_512_2_bn1_pcs_arm_sim" -top: "layer_512_2_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_2_bn2" -type: "BatchNorm" -bottom: "layer_512_2_conv1" -top: "layer_512_2_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_512_2_relu2" -type: "ReLU" -bottom: "layer_512_2_conv1_pcs_arm_sim" -top: "layer_512_2_conv1_pcs_arm_sim" - -} -layer { -name: "layer_512_2_conv2" -type: "Convolution" -bottom: "layer_512_2_conv1_pcs_arm_sim" -top: "layer_512_2_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_2_bn3" -type: "BatchNorm" -bottom: "layer_512_2_conv2" -top: "layer_512_2_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_512_2_relu3" -type: "ReLU" -bottom: "layer_512_2_conv2_pcs_arm_sim" -top: "layer_512_2_conv2_pcs_arm_sim" - -} -layer { -name: "layer_512_2_conv3" -type: "Convolution" -bottom: "layer_512_2_conv2_pcs_arm_sim" -top: "layer_512_2_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 2048 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_2_sum" -type: "Eltwise" -bottom: "layer_512_2_conv3" -bottom: "layer_512_1_sum" -top: "layer_512_2_sum" - -} -layer { -name: "layer_512_3_bn1" -type: "BatchNorm" -bottom: "layer_512_2_sum" -top: "layer_512_3_bn1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_512_3_relu1" -type: "ReLU" -bottom: "layer_512_3_bn1_pcs_arm_sim" -top: "layer_512_3_bn1_pcs_arm_sim" - -} -layer { -name: "layer_512_3_conv1" -type: "Convolution" -bottom: "layer_512_3_bn1_pcs_arm_sim" -top: "layer_512_3_conv1" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_3_bn2" -type: "BatchNorm" -bottom: "layer_512_3_conv1" -top: "layer_512_3_conv1_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_512_3_relu2" -type: "ReLU" -bottom: "layer_512_3_conv1_pcs_arm_sim" -top: "layer_512_3_conv1_pcs_arm_sim" - -} -layer { -name: "layer_512_3_conv2" -type: "Convolution" -bottom: "layer_512_3_conv1_pcs_arm_sim" -top: "layer_512_3_conv2" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 512 - bias_term: false - pad: 1 - kernel_size: 3 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_3_bn3" -type: "BatchNorm" -bottom: "layer_512_3_conv2" -top: "layer_512_3_conv2_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "layer_512_3_relu3" -type: "ReLU" -bottom: "layer_512_3_conv2_pcs_arm_sim" -top: "layer_512_3_conv2_pcs_arm_sim" - -} -layer { -name: "layer_512_3_conv3" -type: "Convolution" -bottom: "layer_512_3_conv2_pcs_arm_sim" -top: "layer_512_3_conv3" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -convolution_param { - num_output: 2048 - bias_term: false - pad: 0 - kernel_size: 1 - stride: 1 - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0.0 - } -} - -} -layer { -name: "layer_512_3_sum" -type: "Eltwise" -bottom: "layer_512_3_conv3" -bottom: "layer_512_2_sum" -top: "layer_512_3_sum" - -} -layer { -name: "last_bn" -type: "BatchNorm" -bottom: "layer_512_3_sum" -top: "layer_512_3_sum_pcs_arm_sim" - batch_norm_param { - } -} -layer { -name: "last_relu" -type: "ReLU" -bottom: "layer_512_3_sum_pcs_arm_sim" -top: "layer_512_3_sum_pcs_arm_sim" - -} -layer { -name: "global_pool" -type: "Pooling" -bottom: "layer_512_3_sum_pcs_arm_sim" -top: "global_pool" -pooling_param { - pool: AVE - global_pooling: true -} - -} -layer { -name: "score" -type: "InnerProduct" -bottom: "global_pool" -top: "score" -param { - lr_mult: 1.0 - decay_mult: 1.0 -} -param { - lr_mult: 2.0 - decay_mult: 1.0 -} -inner_product_param { - num_output: 1000 -} - -} -layer { -name: "loss" -type: "SoftmaxWithLoss" -bottom: "score" -bottom: "label" -top: "loss" - -} -layer { -name: "accuracy" -type: "Accuracy" -bottom: "score" -bottom: "label" -top: "accuracy" -include { - phase: TEST -} - -} From 22b225502b9134737ff260b1cc64f770658f038e Mon Sep 17 00:00:00 2001 From: Daisy Deng Date: Sat, 2 Sep 2017 04:30:37 +0800 Subject: [PATCH 5/8] update googlenet v1 4 node hyper parameters --- .../multinode/googlenet_4nodes/solver.prototxt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/intel_optimized_models/multinode/googlenet_4nodes/solver.prototxt b/models/intel_optimized_models/multinode/googlenet_4nodes/solver.prototxt index 589971c10..773a61852 100644 --- a/models/intel_optimized_models/multinode/googlenet_4nodes/solver.prototxt +++ b/models/intel_optimized_models/multinode/googlenet_4nodes/solver.prototxt @@ -19,7 +19,7 @@ average_loss: 40 base_lr: 0.04 lr_policy: "poly" power: 0.5 -max_iter: 350000 +max_iter: 450000 momentum: 0.9 weight_decay: 0.0002 snapshot: 50000 From d0ffedc2a03296263c2d1f8118815c1006e19449 Mon Sep 17 00:00:00 2001 From: Daisy Deng Date: Sun, 3 Sep 2017 00:22:51 +0800 Subject: [PATCH 6/8] add googlenet_v2_8nodes prototxt file --- .../googlenet_v2_8nodes/solver.prototxt | 15 + .../googlenet_v2_8nodes/train_val.prototxt | 4044 +++++++++++++++++ 2 files changed, 4059 insertions(+) create mode 100644 models/intel_optimized_models/multinode/googlenet_v2_8nodes/solver.prototxt create mode 100644 models/intel_optimized_models/multinode/googlenet_v2_8nodes/train_val.prototxt diff --git a/models/intel_optimized_models/multinode/googlenet_v2_8nodes/solver.prototxt b/models/intel_optimized_models/multinode/googlenet_v2_8nodes/solver.prototxt new file mode 100644 index 000000000..a39aedfe5 --- /dev/null +++ b/models/intel_optimized_models/multinode/googlenet_v2_8nodes/solver.prototxt @@ -0,0 +1,15 @@ +net: "models/intel_optimized_models/multinode/googlenet_v2_8nodes/train_val.prototxt" +test_iter: 1000 +test_interval: 10000 +test_initialization: false +base_lr: 0.06 +display: 40 +max_iter: 182000 +lr_policy: "poly" +power: 0.5 +momentum: 0.9 +weight_decay: 0.0002 +snapshot: 10000 +snapshot_prefix: "models/intel_optimized_models/multinode/googlenet_v2_8nodes/default_googlenet_v2" +solver_mode: CPU +average_loss: 40 diff --git a/models/intel_optimized_models/multinode/googlenet_v2_8nodes/train_val.prototxt b/models/intel_optimized_models/multinode/googlenet_v2_8nodes/train_val.prototxt new file mode 100644 index 000000000..23cde7452 --- /dev/null +++ b/models/intel_optimized_models/multinode/googlenet_v2_8nodes/train_val.prototxt @@ -0,0 +1,4044 @@ +# Inception Network (GoogLeNet Batch Normalization Network) +name: "InceptionNetwork" +### Training Set +layer { + top: "data" + top: "label" + name: "data" + type: "Data" + data_param { + source: "examples/imagenet/ilsvrc12_train_lmdb" + batch_size: 96 + backend: LMDB + shuffle: true + } + include { + phase: TRAIN + } + transform_param { + mirror: true + crop_size: 224 +# mean_file: "data/ilsvrc12/imagenet_mean.binaryproto" + mean_value: 104 + mean_value: 117 + mean_value: 123 + } +} +### Validation Set +layer { + top: "data" + top: "label" + name: "data" + type: "Data" + data_param { + source: "examples/imagenet/ilsvrc12_val_lmdb" + batch_size: 50 + backend: LMDB + } + include { + phase: TEST + } + transform_param { + mirror: false + crop_size: 224 +# mean_file: "data/ilsvrc12/imagenet_mean.binaryproto" + mean_value: 104 + mean_value: 117 + mean_value: 123 + } +} + +layer { + bottom: "data" + top: "conv1/7x7_s2" + name: "conv1/7x7_s2" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv1/7x7_s2" + name: "conv1/7x7_s2/bn" + top: "conv1/7x7_s2/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv1/7x7_s2/bn" + top: "conv1/7x7_s2/bn/sc" + name: "conv1/7x7_s2/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv1/7x7_s2/bn/sc" + top: "conv1/7x7_s2/bn/sc" + name: "conv1/7x7_s2/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv1/7x7_s2/bn/sc" + top: "pool1/3x3_s2" + name: "pool1/3x3_s2" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "pool1/3x3_s2" + top: "conv2/3x3_reduce" + name: "conv2/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv2/3x3_reduce" + name: "conv2/3x3_reduce/bn" + top: "conv2/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv2/3x3_reduce/bn" + top: "conv2/3x3_reduce/bn/sc" + name: "conv2/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv2/3x3_reduce/bn/sc" + top: "conv2/3x3_reduce/bn/sc" + name: "conv2/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2/3x3_reduce/bn/sc" + top: "conv2/3x3" + name: "conv2/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv2/3x3" + name: "conv2/3x3/bn" + top: "conv2/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv2/3x3/bn" + top: "conv2/3x3/bn/sc" + name: "conv2/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv2/3x3/bn/sc" + top: "conv2/3x3/bn/sc" + name: "conv2/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2/3x3/bn/sc" + top: "pool2/3x3_s2" + name: "pool2/3x3_s2" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/1x1" + name: "inception_3a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/1x1" + name: "inception_3a/1x1/bn" + top: "inception_3a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/1x1/bn" + top: "inception_3a/1x1/bn/sc" + name: "inception_3a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/1x1/bn/sc" + top: "inception_3a/1x1/bn/sc" + name: "inception_3a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/3x3_reduce" + name: "inception_3a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/3x3_reduce" + name: "inception_3a/3x3_reduce/bn" + top: "inception_3a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn" + top: "inception_3a/3x3_reduce/bn/sc" + name: "inception_3a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn/sc" + top: "inception_3a/3x3_reduce/bn/sc" + name: "inception_3a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn/sc" + top: "inception_3a/3x3" + name: "inception_3a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/3x3" + name: "inception_3a/3x3/bn" + top: "inception_3a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/3x3/bn" + top: "inception_3a/3x3/bn/sc" + name: "inception_3a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/3x3/bn/sc" + top: "inception_3a/3x3/bn/sc" + name: "inception_3a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/double3x3_reduce" + name: "inception_3a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3_reduce" + name: "inception_3a/double3x3_reduce/bn" + top: "inception_3a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn" + top: "inception_3a/double3x3_reduce/bn/sc" + name: "inception_3a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn/sc" + top: "inception_3a/double3x3_reduce/bn/sc" + name: "inception_3a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn/sc" + top: "inception_3a/double3x3a" + name: "inception_3a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3a" + name: "inception_3a/double3x3a/bn" + top: "inception_3a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3a/bn" + top: "inception_3a/double3x3a/bn/sc" + name: "inception_3a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3a/bn/sc" + top: "inception_3a/double3x3a/bn/sc" + name: "inception_3a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/double3x3a/bn/sc" + top: "inception_3a/double3x3b" + name: "inception_3a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3b" + name: "inception_3a/double3x3b/bn" + top: "inception_3a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3b/bn" + top: "inception_3a/double3x3b/bn/sc" + name: "inception_3a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3b/bn/sc" + top: "inception_3a/double3x3b/bn/sc" + name: "inception_3a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/pool" + name: "inception_3a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_3a/pool" + top: "inception_3a/pool_proj" + name: "inception_3a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 32 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/pool_proj" + name: "inception_3a/pool_proj/bn" + top: "inception_3a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/pool_proj/bn" + top: "inception_3a/pool_proj/bn/sc" + name: "inception_3a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/pool_proj/bn/sc" + top: "inception_3a/pool_proj/bn/sc" + name: "inception_3a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/1x1/bn/sc" + bottom: "inception_3a/3x3/bn/sc" + bottom: "inception_3a/double3x3b/bn/sc" + bottom: "inception_3a/pool_proj/bn/sc" + top: "inception_3a/output" + name: "inception_3a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/1x1" + name: "inception_3b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/1x1" + name: "inception_3b/1x1/bn" + top: "inception_3b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/1x1/bn" + top: "inception_3b/1x1/bn/sc" + name: "inception_3b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/1x1/bn/sc" + top: "inception_3b/1x1/bn/sc" + name: "inception_3b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/3x3_reduce" + name: "inception_3b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/3x3_reduce" + name: "inception_3b/3x3_reduce/bn" + top: "inception_3b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn" + top: "inception_3b/3x3_reduce/bn/sc" + name: "inception_3b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn/sc" + top: "inception_3b/3x3_reduce/bn/sc" + name: "inception_3b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn/sc" + top: "inception_3b/3x3" + name: "inception_3b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/3x3" + name: "inception_3b/3x3/bn" + top: "inception_3b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/3x3/bn" + top: "inception_3b/3x3/bn/sc" + name: "inception_3b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/3x3/bn/sc" + top: "inception_3b/3x3/bn/sc" + name: "inception_3b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/double3x3_reduce" + name: "inception_3b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3_reduce" + name: "inception_3b/double3x3_reduce/bn" + top: "inception_3b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn" + top: "inception_3b/double3x3_reduce/bn/sc" + name: "inception_3b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn/sc" + top: "inception_3b/double3x3_reduce/bn/sc" + name: "inception_3b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn/sc" + top: "inception_3b/double3x3a" + name: "inception_3b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3a" + name: "inception_3b/double3x3a/bn" + top: "inception_3b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3a/bn" + top: "inception_3b/double3x3a/bn/sc" + name: "inception_3b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3a/bn/sc" + top: "inception_3b/double3x3a/bn/sc" + name: "inception_3b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/double3x3a/bn/sc" + top: "inception_3b/double3x3b" + name: "inception_3b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3b" + name: "inception_3b/double3x3b/bn" + top: "inception_3b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3b/bn" + top: "inception_3b/double3x3b/bn/sc" + name: "inception_3b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3b/bn/sc" + top: "inception_3b/double3x3b/bn/sc" + name: "inception_3b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/pool" + name: "inception_3b/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_3b/pool" + top: "inception_3b/pool_proj" + name: "inception_3b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/pool_proj" + name: "inception_3b/pool_proj/bn" + top: "inception_3b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/pool_proj/bn" + top: "inception_3b/pool_proj/bn/sc" + name: "inception_3b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/pool_proj/bn/sc" + top: "inception_3b/pool_proj/bn/sc" + name: "inception_3b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/1x1/bn/sc" + bottom: "inception_3b/3x3/bn/sc" + bottom: "inception_3b/double3x3b/bn/sc" + bottom: "inception_3b/pool_proj/bn/sc" + top: "inception_3b/output" + name: "inception_3b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/3x3_reduce" + name: "inception_3c/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/3x3_reduce" + name: "inception_3c/3x3_reduce/bn" + top: "inception_3c/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn" + top: "inception_3c/3x3_reduce/bn/sc" + name: "inception_3c/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn/sc" + top: "inception_3c/3x3_reduce/bn/sc" + name: "inception_3c/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn/sc" + top: "inception_3c/3x3" + name: "inception_3c/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/3x3" + name: "inception_3c/3x3/bn" + top: "inception_3c/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/3x3/bn" + top: "inception_3c/3x3/bn/sc" + name: "inception_3c/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/3x3/bn/sc" + top: "inception_3c/3x3/bn/sc" + name: "inception_3c/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/double3x3_reduce" + name: "inception_3c/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3_reduce" + name: "inception_3c/double3x3_reduce/bn" + top: "inception_3c/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn" + top: "inception_3c/double3x3_reduce/bn/sc" + name: "inception_3c/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn/sc" + top: "inception_3c/double3x3_reduce/bn/sc" + name: "inception_3c/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn/sc" + top: "inception_3c/double3x3a" + name: "inception_3c/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3a" + name: "inception_3c/double3x3a/bn" + top: "inception_3c/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3a/bn" + top: "inception_3c/double3x3a/bn/sc" + name: "inception_3c/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3a/bn/sc" + top: "inception_3c/double3x3a/bn/sc" + name: "inception_3c/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/double3x3a/bn/sc" + top: "inception_3c/double3x3b" + name: "inception_3c/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3b" + name: "inception_3c/double3x3b/bn" + top: "inception_3c/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3b/bn" + top: "inception_3c/double3x3b/bn/sc" + name: "inception_3c/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3b/bn/sc" + top: "inception_3c/double3x3b/bn/sc" + name: "inception_3c/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/pool" + name: "inception_3c/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "inception_3c/3x3/bn/sc" + bottom: "inception_3c/double3x3b/bn/sc" + bottom: "inception_3c/pool" + top: "inception_3c/output" + name: "inception_3c/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "pool3/5x5_s3" + name: "pool3/5x5_s3" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + bottom: "pool3/5x5_s3" + top: "loss1/conv" + name: "loss1/conv" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss1/conv" + name: "loss1/conv/bn" + top: "loss1/conv/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss1/conv/bn" + top: "loss1/conv/bn/sc" + name: "loss1/conv/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss1/conv/bn/sc" + top: "loss1/conv/bn/sc" + name: "loss1/conv/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss1/conv/bn/sc" + top: "loss1/fc" + name: "loss1/fc" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss1/fc" + name: "loss1/fc/bn" + top: "loss1/fc/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss1/fc/bn" + top: "loss1/fc/bn/sc" + name: "loss1/fc/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss1/fc/bn/sc" + top: "loss1/fc/bn/sc" + name: "loss1/fc/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss1/fc/bn/sc" + top: "loss1/classifier" + name: "loss1/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/loss" + name: "loss1/loss" + type: "SoftmaxWithLoss" + loss_weight: 0.3 +} +layer { + bottom: "loss1/classifier" + top: "loss1/prob" + name: "loss1/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss1/prob" + bottom: "label" + top: "loss1/top-1" + name: "loss1/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss1/prob" + bottom: "label" + top: "loss1/top-5" + name: "loss1/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/1x1" + name: "inception_4a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/1x1" + name: "inception_4a/1x1/bn" + top: "inception_4a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/1x1/bn" + top: "inception_4a/1x1/bn/sc" + name: "inception_4a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/1x1/bn/sc" + top: "inception_4a/1x1/bn/sc" + name: "inception_4a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/3x3_reduce" + name: "inception_4a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/3x3_reduce" + name: "inception_4a/3x3_reduce/bn" + top: "inception_4a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn" + top: "inception_4a/3x3_reduce/bn/sc" + name: "inception_4a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn/sc" + top: "inception_4a/3x3_reduce/bn/sc" + name: "inception_4a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn/sc" + top: "inception_4a/3x3" + name: "inception_4a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/3x3" + name: "inception_4a/3x3/bn" + top: "inception_4a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/3x3/bn" + top: "inception_4a/3x3/bn/sc" + name: "inception_4a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/3x3/bn/sc" + top: "inception_4a/3x3/bn/sc" + name: "inception_4a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/double3x3_reduce" + name: "inception_4a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3_reduce" + name: "inception_4a/double3x3_reduce/bn" + top: "inception_4a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn" + top: "inception_4a/double3x3_reduce/bn/sc" + name: "inception_4a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn/sc" + top: "inception_4a/double3x3_reduce/bn/sc" + name: "inception_4a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn/sc" + top: "inception_4a/double3x3a" + name: "inception_4a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3a" + name: "inception_4a/double3x3a/bn" + top: "inception_4a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3a/bn" + top: "inception_4a/double3x3a/bn/sc" + name: "inception_4a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3a/bn/sc" + top: "inception_4a/double3x3a/bn/sc" + name: "inception_4a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/double3x3a/bn/sc" + top: "inception_4a/double3x3b" + name: "inception_4a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3b" + name: "inception_4a/double3x3b/bn" + top: "inception_4a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3b/bn" + top: "inception_4a/double3x3b/bn/sc" + name: "inception_4a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3b/bn/sc" + top: "inception_4a/double3x3b/bn/sc" + name: "inception_4a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/pool" + name: "inception_4a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4a/pool" + top: "inception_4a/pool_proj" + name: "inception_4a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/pool_proj" + name: "inception_4a/pool_proj/bn" + top: "inception_4a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/pool_proj/bn" + top: "inception_4a/pool_proj/bn/sc" + name: "inception_4a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/pool_proj/bn/sc" + top: "inception_4a/pool_proj/bn/sc" + name: "inception_4a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/1x1/bn/sc" + bottom: "inception_4a/3x3/bn/sc" + bottom: "inception_4a/double3x3b/bn/sc" + bottom: "inception_4a/pool_proj/bn/sc" + top: "inception_4a/output" + name: "inception_4a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/1x1" + name: "inception_4b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/1x1" + name: "inception_4b/1x1/bn" + top: "inception_4b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/1x1/bn" + top: "inception_4b/1x1/bn/sc" + name: "inception_4b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/1x1/bn/sc" + top: "inception_4b/1x1/bn/sc" + name: "inception_4b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/3x3_reduce" + name: "inception_4b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/3x3_reduce" + name: "inception_4b/3x3_reduce/bn" + top: "inception_4b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn" + top: "inception_4b/3x3_reduce/bn/sc" + name: "inception_4b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn/sc" + top: "inception_4b/3x3_reduce/bn/sc" + name: "inception_4b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn/sc" + top: "inception_4b/3x3" + name: "inception_4b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/3x3" + name: "inception_4b/3x3/bn" + top: "inception_4b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/3x3/bn" + top: "inception_4b/3x3/bn/sc" + name: "inception_4b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/3x3/bn/sc" + top: "inception_4b/3x3/bn/sc" + name: "inception_4b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/double3x3_reduce" + name: "inception_4b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3_reduce" + name: "inception_4b/double3x3_reduce/bn" + top: "inception_4b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn" + top: "inception_4b/double3x3_reduce/bn/sc" + name: "inception_4b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn/sc" + top: "inception_4b/double3x3_reduce/bn/sc" + name: "inception_4b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn/sc" + top: "inception_4b/double3x3a" + name: "inception_4b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3a" + name: "inception_4b/double3x3a/bn" + top: "inception_4b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3a/bn" + top: "inception_4b/double3x3a/bn/sc" + name: "inception_4b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3a/bn/sc" + top: "inception_4b/double3x3a/bn/sc" + name: "inception_4b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/double3x3a/bn/sc" + top: "inception_4b/double3x3b" + name: "inception_4b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3b" + name: "inception_4b/double3x3b/bn" + top: "inception_4b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3b/bn" + top: "inception_4b/double3x3b/bn/sc" + name: "inception_4b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3b/bn/sc" + top: "inception_4b/double3x3b/bn/sc" + name: "inception_4b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/pool" + name: "inception_4b/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4b/pool" + top: "inception_4b/pool_proj" + name: "inception_4b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/pool_proj" + name: "inception_4b/pool_proj/bn" + top: "inception_4b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/pool_proj/bn" + top: "inception_4b/pool_proj/bn/sc" + name: "inception_4b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/pool_proj/bn/sc" + top: "inception_4b/pool_proj/bn/sc" + name: "inception_4b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/1x1/bn/sc" + bottom: "inception_4b/3x3/bn/sc" + bottom: "inception_4b/double3x3b/bn/sc" + bottom: "inception_4b/pool_proj/bn/sc" + top: "inception_4b/output" + name: "inception_4b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/1x1" + name: "inception_4c/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/1x1" + name: "inception_4c/1x1/bn" + top: "inception_4c/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/1x1/bn" + top: "inception_4c/1x1/bn/sc" + name: "inception_4c/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/1x1/bn/sc" + top: "inception_4c/1x1/bn/sc" + name: "inception_4c/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/3x3_reduce" + name: "inception_4c/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/3x3_reduce" + name: "inception_4c/3x3_reduce/bn" + top: "inception_4c/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn" + top: "inception_4c/3x3_reduce/bn/sc" + name: "inception_4c/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn/sc" + top: "inception_4c/3x3_reduce/bn/sc" + name: "inception_4c/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn/sc" + top: "inception_4c/3x3" + name: "inception_4c/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/3x3" + name: "inception_4c/3x3/bn" + top: "inception_4c/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/3x3/bn" + top: "inception_4c/3x3/bn/sc" + name: "inception_4c/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/3x3/bn/sc" + top: "inception_4c/3x3/bn/sc" + name: "inception_4c/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/double3x3_reduce" + name: "inception_4c/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3_reduce" + name: "inception_4c/double3x3_reduce/bn" + top: "inception_4c/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn" + top: "inception_4c/double3x3_reduce/bn/sc" + name: "inception_4c/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn/sc" + top: "inception_4c/double3x3_reduce/bn/sc" + name: "inception_4c/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn/sc" + top: "inception_4c/double3x3a" + name: "inception_4c/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3a" + name: "inception_4c/double3x3a/bn" + top: "inception_4c/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3a/bn" + top: "inception_4c/double3x3a/bn/sc" + name: "inception_4c/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3a/bn/sc" + top: "inception_4c/double3x3a/bn/sc" + name: "inception_4c/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/double3x3a/bn/sc" + top: "inception_4c/double3x3b" + name: "inception_4c/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3b" + name: "inception_4c/double3x3b/bn" + top: "inception_4c/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3b/bn" + top: "inception_4c/double3x3b/bn/sc" + name: "inception_4c/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3b/bn/sc" + top: "inception_4c/double3x3b/bn/sc" + name: "inception_4c/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/pool" + name: "inception_4c/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4c/pool" + top: "inception_4c/pool_proj" + name: "inception_4c/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/pool_proj" + name: "inception_4c/pool_proj/bn" + top: "inception_4c/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/pool_proj/bn" + top: "inception_4c/pool_proj/bn/sc" + name: "inception_4c/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/pool_proj/bn/sc" + top: "inception_4c/pool_proj/bn/sc" + name: "inception_4c/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/1x1/bn/sc" + bottom: "inception_4c/3x3/bn/sc" + bottom: "inception_4c/double3x3b/bn/sc" + bottom: "inception_4c/pool_proj/bn/sc" + top: "inception_4c/output" + name: "inception_4c/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/1x1" + name: "inception_4d/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/1x1" + name: "inception_4d/1x1/bn" + top: "inception_4d/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/1x1/bn" + top: "inception_4d/1x1/bn/sc" + name: "inception_4d/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/1x1/bn/sc" + top: "inception_4d/1x1/bn/sc" + name: "inception_4d/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/3x3_reduce" + name: "inception_4d/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/3x3_reduce" + name: "inception_4d/3x3_reduce/bn" + top: "inception_4d/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn" + top: "inception_4d/3x3_reduce/bn/sc" + name: "inception_4d/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn/sc" + top: "inception_4d/3x3_reduce/bn/sc" + name: "inception_4d/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn/sc" + top: "inception_4d/3x3" + name: "inception_4d/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/3x3" + name: "inception_4d/3x3/bn" + top: "inception_4d/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/3x3/bn" + top: "inception_4d/3x3/bn/sc" + name: "inception_4d/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/3x3/bn/sc" + top: "inception_4d/3x3/bn/sc" + name: "inception_4d/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/double3x3_reduce" + name: "inception_4d/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3_reduce" + name: "inception_4d/double3x3_reduce/bn" + top: "inception_4d/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn" + top: "inception_4d/double3x3_reduce/bn/sc" + name: "inception_4d/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn/sc" + top: "inception_4d/double3x3_reduce/bn/sc" + name: "inception_4d/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn/sc" + top: "inception_4d/double3x3a" + name: "inception_4d/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3a" + name: "inception_4d/double3x3a/bn" + top: "inception_4d/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3a/bn" + top: "inception_4d/double3x3a/bn/sc" + name: "inception_4d/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3a/bn/sc" + top: "inception_4d/double3x3a/bn/sc" + name: "inception_4d/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/double3x3a/bn/sc" + top: "inception_4d/double3x3b" + name: "inception_4d/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3b" + name: "inception_4d/double3x3b/bn" + top: "inception_4d/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3b/bn" + top: "inception_4d/double3x3b/bn/sc" + name: "inception_4d/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3b/bn/sc" + top: "inception_4d/double3x3b/bn/sc" + name: "inception_4d/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/pool" + name: "inception_4d/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4d/pool" + top: "inception_4d/pool_proj" + name: "inception_4d/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/pool_proj" + name: "inception_4d/pool_proj/bn" + top: "inception_4d/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/pool_proj/bn" + top: "inception_4d/pool_proj/bn/sc" + name: "inception_4d/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/pool_proj/bn/sc" + top: "inception_4d/pool_proj/bn/sc" + name: "inception_4d/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/1x1/bn/sc" + bottom: "inception_4d/3x3/bn/sc" + bottom: "inception_4d/double3x3b/bn/sc" + bottom: "inception_4d/pool_proj/bn/sc" + top: "inception_4d/output" + name: "inception_4d/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/3x3_reduce" + name: "inception_4e/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/3x3_reduce" + name: "inception_4e/3x3_reduce/bn" + top: "inception_4e/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn" + top: "inception_4e/3x3_reduce/bn/sc" + name: "inception_4e/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn/sc" + top: "inception_4e/3x3_reduce/bn/sc" + name: "inception_4e/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn/sc" + top: "inception_4e/3x3" + name: "inception_4e/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/3x3" + name: "inception_4e/3x3/bn" + top: "inception_4e/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/3x3/bn" + top: "inception_4e/3x3/bn/sc" + name: "inception_4e/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/3x3/bn/sc" + top: "inception_4e/3x3/bn/sc" + name: "inception_4e/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/double3x3_reduce" + name: "inception_4e/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3_reduce" + name: "inception_4e/double3x3_reduce/bn" + top: "inception_4e/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn" + top: "inception_4e/double3x3_reduce/bn/sc" + name: "inception_4e/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn/sc" + top: "inception_4e/double3x3_reduce/bn/sc" + name: "inception_4e/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn/sc" + top: "inception_4e/double3x3a" + name: "inception_4e/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3a" + name: "inception_4e/double3x3a/bn" + top: "inception_4e/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3a/bn" + top: "inception_4e/double3x3a/bn/sc" + name: "inception_4e/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3a/bn/sc" + top: "inception_4e/double3x3a/bn/sc" + name: "inception_4e/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/double3x3a/bn/sc" + top: "inception_4e/double3x3b" + name: "inception_4e/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3b" + name: "inception_4e/double3x3b/bn" + top: "inception_4e/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3b/bn" + top: "inception_4e/double3x3b/bn/sc" + name: "inception_4e/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3b/bn/sc" + top: "inception_4e/double3x3b/bn/sc" + name: "inception_4e/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/pool" + name: "inception_4e/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "inception_4e/3x3/bn/sc" + bottom: "inception_4e/double3x3b/bn/sc" + bottom: "inception_4e/pool" + top: "inception_4e/output" + name: "inception_4e/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "pool4/5x5_s3" + name: "pool4/5x5_s3" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + bottom: "pool4/5x5_s3" + top: "loss2/conv" + name: "loss2/conv" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss2/conv" + name: "loss2/conv/bn" + top: "loss2/conv/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss2/conv/bn" + top: "loss2/conv/bn/sc" + name: "loss2/conv/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss2/conv/bn/sc" + top: "loss2/conv/bn/sc" + name: "loss2/conv/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss2/conv/bn/sc" + top: "loss2/fc" + name: "loss2/fc" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss2/fc" + name: "loss2/fc/bn" + top: "loss2/fc/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss2/fc/bn" + top: "loss2/fc/bn/sc" + name: "loss2/fc/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss2/fc/bn/sc" + top: "loss2/fc/bn/sc" + name: "loss2/fc/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss2/fc/bn/sc" + top: "loss2/classifier" + name: "loss2/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/loss" + name: "loss2/loss" + type: "SoftmaxWithLoss" + loss_weight: 0.3 +} +layer { + bottom: "loss2/classifier" + top: "loss2/prob" + name: "loss2/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss2/prob" + bottom: "label" + top: "loss2/top-1" + name: "loss2/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss2/prob" + bottom: "label" + top: "loss2/top-5" + name: "loss2/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/1x1" + name: "inception_5a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 352 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/1x1" + name: "inception_5a/1x1/bn" + top: "inception_5a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/1x1/bn" + top: "inception_5a/1x1/bn/sc" + name: "inception_5a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/1x1/bn/sc" + top: "inception_5a/1x1/bn/sc" + name: "inception_5a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/3x3_reduce" + name: "inception_5a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/3x3_reduce" + name: "inception_5a/3x3_reduce/bn" + top: "inception_5a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn" + top: "inception_5a/3x3_reduce/bn/sc" + name: "inception_5a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn/sc" + top: "inception_5a/3x3_reduce/bn/sc" + name: "inception_5a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn/sc" + top: "inception_5a/3x3" + name: "inception_5a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 320 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/3x3" + name: "inception_5a/3x3/bn" + top: "inception_5a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/3x3/bn" + top: "inception_5a/3x3/bn/sc" + name: "inception_5a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/3x3/bn/sc" + top: "inception_5a/3x3/bn/sc" + name: "inception_5a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/double3x3_reduce" + name: "inception_5a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3_reduce" + name: "inception_5a/double3x3_reduce/bn" + top: "inception_5a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn" + top: "inception_5a/double3x3_reduce/bn/sc" + name: "inception_5a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn/sc" + top: "inception_5a/double3x3_reduce/bn/sc" + name: "inception_5a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn/sc" + top: "inception_5a/double3x3a" + name: "inception_5a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3a" + name: "inception_5a/double3x3a/bn" + top: "inception_5a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3a/bn" + top: "inception_5a/double3x3a/bn/sc" + name: "inception_5a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3a/bn/sc" + top: "inception_5a/double3x3a/bn/sc" + name: "inception_5a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/double3x3a/bn/sc" + top: "inception_5a/double3x3b" + name: "inception_5a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3b" + name: "inception_5a/double3x3b/bn" + top: "inception_5a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3b/bn" + top: "inception_5a/double3x3b/bn/sc" + name: "inception_5a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3b/bn/sc" + top: "inception_5a/double3x3b/bn/sc" + name: "inception_5a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/pool" + name: "inception_5a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_5a/pool" + top: "inception_5a/pool_proj" + name: "inception_5a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/pool_proj" + name: "inception_5a/pool_proj/bn" + top: "inception_5a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/pool_proj/bn" + top: "inception_5a/pool_proj/bn/sc" + name: "inception_5a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/pool_proj/bn/sc" + top: "inception_5a/pool_proj/bn/sc" + name: "inception_5a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/1x1/bn/sc" + bottom: "inception_5a/3x3/bn/sc" + bottom: "inception_5a/double3x3b/bn/sc" + bottom: "inception_5a/pool_proj/bn/sc" + top: "inception_5a/output" + name: "inception_5a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/1x1" + name: "inception_5b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 352 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/1x1" + name: "inception_5b/1x1/bn" + top: "inception_5b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/1x1/bn" + top: "inception_5b/1x1/bn/sc" + name: "inception_5b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/1x1/bn/sc" + top: "inception_5b/1x1/bn/sc" + name: "inception_5b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/3x3_reduce" + name: "inception_5b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/3x3_reduce" + name: "inception_5b/3x3_reduce/bn" + top: "inception_5b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn" + top: "inception_5b/3x3_reduce/bn/sc" + name: "inception_5b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn/sc" + top: "inception_5b/3x3_reduce/bn/sc" + name: "inception_5b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn/sc" + top: "inception_5b/3x3" + name: "inception_5b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 320 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/3x3" + name: "inception_5b/3x3/bn" + top: "inception_5b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/3x3/bn" + top: "inception_5b/3x3/bn/sc" + name: "inception_5b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/3x3/bn/sc" + top: "inception_5b/3x3/bn/sc" + name: "inception_5b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/double3x3_reduce" + name: "inception_5b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3_reduce" + name: "inception_5b/double3x3_reduce/bn" + top: "inception_5b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn" + top: "inception_5b/double3x3_reduce/bn/sc" + name: "inception_5b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn/sc" + top: "inception_5b/double3x3_reduce/bn/sc" + name: "inception_5b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn/sc" + top: "inception_5b/double3x3a" + name: "inception_5b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3a" + name: "inception_5b/double3x3a/bn" + top: "inception_5b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3a/bn" + top: "inception_5b/double3x3a/bn/sc" + name: "inception_5b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3a/bn/sc" + top: "inception_5b/double3x3a/bn/sc" + name: "inception_5b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/double3x3a/bn/sc" + top: "inception_5b/double3x3b" + name: "inception_5b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3b" + name: "inception_5b/double3x3b/bn" + top: "inception_5b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3b/bn" + top: "inception_5b/double3x3b/bn/sc" + name: "inception_5b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3b/bn/sc" + top: "inception_5b/double3x3b/bn/sc" + name: "inception_5b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/pool" + name: "inception_5b/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_5b/pool" + top: "inception_5b/pool_proj" + name: "inception_5b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/pool_proj" + name: "inception_5b/pool_proj/bn" + top: "inception_5b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/pool_proj/bn" + top: "inception_5b/pool_proj/bn/sc" + name: "inception_5b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/pool_proj/bn/sc" + top: "inception_5b/pool_proj/bn/sc" + name: "inception_5b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/1x1/bn/sc" + bottom: "inception_5b/3x3/bn/sc" + bottom: "inception_5b/double3x3b/bn/sc" + bottom: "inception_5b/pool_proj/bn/sc" + top: "inception_5b/output" + name: "inception_5b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_5b/output" + top: "pool5/7x7_s1" + name: "pool5/7x7_s1" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 7 + stride: 1 + } +} +layer { + bottom: "pool5/7x7_s1" + top: "loss3/classifier" + name: "loss3/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/loss" + name: "loss3/loss" + type: "SoftmaxWithLoss" + loss_weight: 1 +} +layer { + bottom: "loss3/classifier" + top: "loss3/prob" + name: "loss3/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss3/prob" + bottom: "label" + top: "loss3/top-1" + name: "loss3/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss3/prob" + bottom: "label" + top: "loss3/top-5" + name: "loss3/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} From 7cbbfc28176518da04b9bab91254cda8e38f3e4b Mon Sep 17 00:00:00 2001 From: Daisy Deng Date: Mon, 4 Sep 2017 17:56:03 +0800 Subject: [PATCH 7/8] add vgg_16_8nodes topology --- .../multinode/vgg_16_8nodes/solver.prototxt | 14 + .../vgg_16_8nodes/train_val.prototxt | 612 ++++++++++++++++++ 2 files changed, 626 insertions(+) create mode 100644 models/intel_optimized_models/multinode/vgg_16_8nodes/solver.prototxt create mode 100644 models/intel_optimized_models/multinode/vgg_16_8nodes/train_val.prototxt diff --git a/models/intel_optimized_models/multinode/vgg_16_8nodes/solver.prototxt b/models/intel_optimized_models/multinode/vgg_16_8nodes/solver.prototxt new file mode 100644 index 000000000..1b55e4c7d --- /dev/null +++ b/models/intel_optimized_models/multinode/vgg_16_8nodes/solver.prototxt @@ -0,0 +1,14 @@ +net: "models/intel_optimized_models/multinode/vgg_16_8nodes/train_val.prototxt" +test_iter: 1563 +test_interval: 10000 +momentum: 0.9 +weight_decay: 0.0005 +base_lr: 0.01 +lr_policy: "poly" +power: 2 +max_iter: 300000 +display: 40 +snapshot: 100000 +solver_mode: CPU +snapshot_prefix: "models/intel_optimized_models/multinode/vgg_16_8nodes" + diff --git a/models/intel_optimized_models/multinode/vgg_16_8nodes/train_val.prototxt b/models/intel_optimized_models/multinode/vgg_16_8nodes/train_val.prototxt new file mode 100644 index 000000000..5571737db --- /dev/null +++ b/models/intel_optimized_models/multinode/vgg_16_8nodes/train_val.prototxt @@ -0,0 +1,612 @@ +name: "VGG_ILSVRC_16_layer" +layer { + name: "data" + type: "Data" + include { + phase: TRAIN + } + transform_param { + crop_size: 224 + mean_value: 104 + mean_value: 117 + mean_value: 124 + mirror: true + } + data_param { + source: "examples/imagenet/ilsvrc12_train_lmdb" + batch_size: 32 + backend: LMDB + } + top: "data" + top: "label" +} +layer { + name: "data" + type: "Data" + include { + phase: TEST + } + transform_param { + crop_size: 224 + mean_value: 104 + mean_value: 117 + mean_value: 124 + mirror: false + } + data_param { + source: "examples/imagenet/ilsvrc12_val_lmdb" + batch_size: 50 + backend: LMDB + } + top: "data" + top: "label" +} +layer { + name: "conv1_1" + type: "Convolution" + bottom: "data" + top: "conv1_1" + convolution_param { + + num_output: 64 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv1_1" + top: "conv1_1" + name: "relu1_1" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv1_1" + top: "conv1_2" + name: "conv1_2" + type: "Convolution" + convolution_param { + + num_output: 64 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv1_2" + top: "conv1_2" + name: "relu1_2" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv1_2" + top: "pool1" + name: "pool1" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 2 + stride: 2 + } +} +layer { + bottom: "pool1" + top: "conv2_1" + name: "conv2_1" + type: "Convolution" + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv2_1" + top: "conv2_1" + name: "relu2_1" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2_1" + top: "conv2_2" + name: "conv2_2" + type: "Convolution" + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv2_2" + top: "conv2_2" + name: "relu2_2" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2_2" + top: "pool2" + name: "pool2" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 2 + stride: 2 + } +} +layer { + bottom: "pool2" + top: "conv3_1" + name: "conv3_1" + type: "Convolution" + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv3_1" + top: "conv3_1" + name: "relu3_1" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv3_1" + top: "conv3_2" + name: "conv3_2" + type: "Convolution" + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv3_2" + top: "conv3_2" + name: "relu3_2" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv3_2" + top: "conv3_3" + name: "conv3_3" + type: "Convolution" + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv3_3" + top: "conv3_3" + name: "relu3_3" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv3_3" + top: "pool3" + name: "pool3" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 2 + stride: 2 + } +} +layer { + bottom: "pool3" + top: "conv4_1" + name: "conv4_1" + type: "Convolution" + convolution_param { + + num_output: 512 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv4_1" + top: "conv4_1" + name: "relu4_1" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv4_1" + top: "conv4_2" + name: "conv4_2" + type: "Convolution" + convolution_param { + + num_output: 512 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv4_2" + top: "conv4_2" + name: "relu4_2" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv4_2" + top: "conv4_3" + name: "conv4_3" + type: "Convolution" + convolution_param { + + num_output: 512 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv4_3" + top: "conv4_3" + name: "relu4_3" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv4_3" + top: "pool4" + name: "pool4" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 2 + stride: 2 + } +} +layer { + bottom: "pool4" + top: "conv5_1" + name: "conv5_1" + type: "Convolution" + convolution_param { + + num_output: 512 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv5_1" + top: "conv5_1" + name: "relu5_1" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv5_1" + top: "conv5_2" + name: "conv5_2" + type: "Convolution" + convolution_param { + + num_output: 512 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } + + +} +layer { + bottom: "conv5_2" + top: "conv5_2" + name: "relu5_2" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv5_2" + top: "conv5_3" + name: "conv5_3" + type: "Convolution" + convolution_param { + + num_output: 512 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.0 + } + } + + +} +layer { + bottom: "conv5_3" + top: "conv5_3" + name: "relu5_3" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv5_3" + top: "pool5" + name: "pool5" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 2 + stride: 2 + } +} +layer { + bottom: "pool5" + top: "fc6" + name: "fc6" + type: "InnerProduct" + inner_product_param { + num_output: 4096 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } + + +} +layer { + bottom: "fc6" + top: "fc6" + name: "relu6" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "fc6" + top: "fc6" + name: "drop6" + type: "Dropout" + dropout_param { + dropout_ratio: 0.5 + } +} +layer { + bottom: "fc6" + top: "fc7" + name: "fc7" + type: "InnerProduct" + inner_product_param { + num_output: 4096 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } + + +} +layer { + bottom: "fc7" + top: "fc7" + name: "relu7" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "fc7" + top: "fc7" + name: "drop7" + type: "Dropout" + dropout_param { + dropout_ratio: 0.5 + } +} +layer { + name: "fc8" + bottom: "fc7" + top: "fc8" + type: "InnerProduct" + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } + + +} +layer { + name: "loss" + type: "SoftmaxWithLoss" + bottom: "fc8" + bottom: "label" + top: "loss/loss" +} +layer { + name: "accuracy/top1" + type: "Accuracy" + bottom: "fc8" + bottom: "label" + top: "accuracy@1" + include: { phase: TEST } + accuracy_param { + top_k: 1 + } +} +layer { + name: "accuracy/top5" + type: "Accuracy" + bottom: "fc8" + bottom: "label" + top: "accuracy@5" + include: { phase: TEST } + accuracy_param { + top_k: 5 + } +} From f882f093ed6762b4c207e3be31646372acca5ee9 Mon Sep 17 00:00:00 2001 From: Daisy Deng Date: Mon, 4 Sep 2017 23:36:16 +0800 Subject: [PATCH 8/8] update mkldnn version --- mkldnn.commit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkldnn.commit b/mkldnn.commit index 4c279b216..9abcb727c 100644 --- a/mkldnn.commit +++ b/mkldnn.commit @@ -1 +1 @@ -27420a241b2efd8d88f1e003635434194fdfb1b8 +b01e3a55a07be62172e713bcd2644c5176360212