From 5fbc80f6ae919b21d315ac032afb4dde64981b1c Mon Sep 17 00:00:00 2001 From: Daisy Deng Date: Fri, 9 Mar 2018 22:37:46 +0800 Subject: [PATCH] ported FB resnet50 to default_resent50 --- .../default_resnet50_16nodes/solver.prototxt | 6 +- .../solver.prototxt | 8 +- .../train_val.prototxt | 15 +- .../default_resnet50_8nodes/solver.prototxt | 17 + .../train_val.prototxt | 18 +- .../solver.prototxt | 19 - .../train_val.prototxt | 3322 ----------------- .../solver.prototxt | 19 - .../resnet_50_8_nodes/solver.prototxt | 17 - .../resnet_50_8_nodes/train_val.prototxt | 3322 ----------------- 10 files changed, 44 insertions(+), 6719 deletions(-) rename models/intel_optimized_models/multinode/{resnet_50_64_nodes_8k_batch => default_resnet50_64nodes}/solver.prototxt (54%) rename models/intel_optimized_models/multinode/{resnet_50_64_nodes_8k_batch => default_resnet50_64nodes}/train_val.prototxt (99%) create mode 100644 models/intel_optimized_models/multinode/default_resnet50_8nodes/solver.prototxt rename models/intel_optimized_models/multinode/{resnet_50_256_nodes_8k_batch => default_resnet50_8nodes}/train_val.prototxt (99%) delete mode 100644 models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/solver.prototxt delete mode 100644 models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/train_val.prototxt delete mode 100644 models/intel_optimized_models/multinode/resnet_50_256_nodes_8k_batch/solver.prototxt delete mode 100644 models/intel_optimized_models/multinode/resnet_50_8_nodes/solver.prototxt delete mode 100644 models/intel_optimized_models/multinode/resnet_50_8_nodes/train_val.prototxt diff --git a/models/intel_optimized_models/multinode/default_resnet50_16nodes/solver.prototxt b/models/intel_optimized_models/multinode/default_resnet50_16nodes/solver.prototxt index 27054d7d2..b5f73dee9 100644 --- a/models/intel_optimized_models/multinode/default_resnet50_16nodes/solver.prototxt +++ b/models/intel_optimized_models/multinode/default_resnet50_16nodes/solver.prototxt @@ -1,6 +1,6 @@ net: "models/intel_optimized_models/multinode/default_resnet50_16nodes/train_val.prototxt" test_iter: 1000 -test_interval: 625 +test_interval: 563 test_initialization: false display: 40 base_lr: 0.8 @@ -9,11 +9,11 @@ stepvalue:18750 stepvalue:37500 stepvalue:50000 gamma: 0.1 -max_iter: 62556 # 56300 +max_iter: 56300 warmup_iter: 3125 # 1281167 / 2048 * 5 epochs warmup_start_lr: 0.1 momentum: 0.9 weight_decay: 0.0001 -snapshot: 6250 +snapshot: 5630 snapshot_prefix: "default_resnet_50_16_nodes" solver_mode: CPU diff --git a/models/intel_optimized_models/multinode/resnet_50_64_nodes_8k_batch/solver.prototxt b/models/intel_optimized_models/multinode/default_resnet50_64nodes/solver.prototxt similarity index 54% rename from models/intel_optimized_models/multinode/resnet_50_64_nodes_8k_batch/solver.prototxt rename to models/intel_optimized_models/multinode/default_resnet50_64nodes/solver.prototxt index bda73a54e..1729d9320 100644 --- a/models/intel_optimized_models/multinode/resnet_50_64_nodes_8k_batch/solver.prototxt +++ b/models/intel_optimized_models/multinode/default_resnet50_64nodes/solver.prototxt @@ -1,6 +1,6 @@ -net: "models/intel_optimized_models/multinode/resnet_50_64_nodes_8k_batch/train_val.prototxt" +net: "models/intel_optimized_models/multinode/default_resnet50_64nodes/train_val.prototxt" test_iter: 1000 -test_interval: 156 +test_interval: 140 test_initialization: false display: 40 base_lr: 3.2 @@ -14,6 +14,6 @@ warmup_iter: 780 # 1281167 / 8192 * 5 epochs warmup_start_lr: 0.1 momentum: 0.9 weight_decay: 0.0001 -snapshot: 1560 -snapshot_prefix: "models/intel_optimized_models/multinode/resnet_50_64_nodes_8k_batch/resnet_50_64_nodes_8k" +snapshot: 1408 +snapshot_prefix: "default_resnet_50_64_nodes" solver_mode: CPU diff --git a/models/intel_optimized_models/multinode/resnet_50_64_nodes_8k_batch/train_val.prototxt b/models/intel_optimized_models/multinode/default_resnet50_64nodes/train_val.prototxt similarity index 99% rename from models/intel_optimized_models/multinode/resnet_50_64_nodes_8k_batch/train_val.prototxt rename to models/intel_optimized_models/multinode/default_resnet50_64nodes/train_val.prototxt index 3dd57aaac..de4efad2b 100644 --- a/models/intel_optimized_models/multinode/resnet_50_64_nodes_8k_batch/train_val.prototxt +++ b/models/intel_optimized_models/multinode/default_resnet50_64nodes/train_val.prototxt @@ -783,7 +783,7 @@ layer { num_output: 128 kernel_size: 1 pad: 0 - stride: 1 + stride: 2 bias_term: false weight_filler { type: "msra" @@ -841,7 +841,7 @@ layer { num_output: 128 kernel_size: 3 pad: 1 - stride: 2 + stride: 1 bias_term: false weight_filler { type: "msra" @@ -1569,7 +1569,7 @@ layer { num_output: 256 kernel_size: 1 pad: 0 - stride: 1 + stride: 2 bias_term: false weight_filler { type: "msra" @@ -1627,7 +1627,7 @@ layer { num_output: 256 kernel_size: 3 pad: 1 - stride: 2 + stride: 1 bias_term: false weight_filler { type: "msra" @@ -2727,7 +2727,7 @@ layer { num_output: 512 kernel_size: 1 pad: 0 - stride: 1 + stride: 2 bias_term: false weight_filler { type: "msra" @@ -2785,7 +2785,7 @@ layer { num_output: 512 kernel_size: 3 pad: 1 - stride: 2 + stride: 1 bias_term: false weight_filler { type: "msra" @@ -3302,6 +3302,9 @@ layer { top: "loss" name: "prob" type: "SoftmaxWithLoss" + include { + phase: TRAIN + } } layer { name: "loss3/top-1" diff --git a/models/intel_optimized_models/multinode/default_resnet50_8nodes/solver.prototxt b/models/intel_optimized_models/multinode/default_resnet50_8nodes/solver.prototxt new file mode 100644 index 000000000..6cab44e72 --- /dev/null +++ b/models/intel_optimized_models/multinode/default_resnet50_8nodes/solver.prototxt @@ -0,0 +1,17 @@ +net: "models/intel_optimized_models/multinode/default_resnet50_8nodes/train_val.prototxt" +test_iter: 1000 +test_interval: 1126 +test_initialization: false +display: 40 +base_lr: 0.4 +lr_policy: "multistep" +stepvalue:37440 +stepvalue:74880 +stepvalue:99840 +gamma: 0.1 +max_iter: 112600 +momentum: 0.9 +weight_decay: 0.0001 +snapshot: 11260 +snapshot_prefix: "default_resnet_50_8_nodes" +solver_mode: CPU diff --git a/models/intel_optimized_models/multinode/resnet_50_256_nodes_8k_batch/train_val.prototxt b/models/intel_optimized_models/multinode/default_resnet50_8nodes/train_val.prototxt similarity index 99% rename from models/intel_optimized_models/multinode/resnet_50_256_nodes_8k_batch/train_val.prototxt rename to models/intel_optimized_models/multinode/default_resnet50_8nodes/train_val.prototxt index d98323ed6..de4efad2b 100644 --- a/models/intel_optimized_models/multinode/resnet_50_256_nodes_8k_batch/train_val.prototxt +++ b/models/intel_optimized_models/multinode/default_resnet50_8nodes/train_val.prototxt @@ -1,4 +1,5 @@ name: "ResNet-50" +bn_stats_batch_size: 32 layer { name: "data" type: "Data" @@ -25,7 +26,7 @@ layer { } data_param { source: "examples/imagenet/ilsvrc12_train_lmdb" - batch_size: 32 + batch_size: 128 backend: LMDB prefetch: 2 shuffle: true @@ -782,7 +783,7 @@ layer { num_output: 128 kernel_size: 1 pad: 0 - stride: 1 + stride: 2 bias_term: false weight_filler { type: "msra" @@ -840,7 +841,7 @@ layer { num_output: 128 kernel_size: 3 pad: 1 - stride: 2 + stride: 1 bias_term: false weight_filler { type: "msra" @@ -1568,7 +1569,7 @@ layer { num_output: 256 kernel_size: 1 pad: 0 - stride: 1 + stride: 2 bias_term: false weight_filler { type: "msra" @@ -1626,7 +1627,7 @@ layer { num_output: 256 kernel_size: 3 pad: 1 - stride: 2 + stride: 1 bias_term: false weight_filler { type: "msra" @@ -2726,7 +2727,7 @@ layer { num_output: 512 kernel_size: 1 pad: 0 - stride: 1 + stride: 2 bias_term: false weight_filler { type: "msra" @@ -2784,7 +2785,7 @@ layer { num_output: 512 kernel_size: 3 pad: 1 - stride: 2 + stride: 1 bias_term: false weight_filler { type: "msra" @@ -3301,6 +3302,9 @@ layer { top: "loss" name: "prob" type: "SoftmaxWithLoss" + include { + phase: TRAIN + } } layer { name: "loss3/top-1" diff --git a/models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/solver.prototxt b/models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/solver.prototxt deleted file mode 100644 index 2356cc00f..000000000 --- a/models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/solver.prototxt +++ /dev/null @@ -1,19 +0,0 @@ -net: "models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/train_val.prototxt" -test_iter: 1000 -test_interval: 625 -test_initialization: false -display: 40 -base_lr: 0.8 -lr_policy: "multistep" -stepvalue:18750 -stepvalue:37500 -stepvalue:50000 -gamma: 0.1 -max_iter: 56300 -warmup_iter: 3125 # 1281167 / 2048 * 5 epochs -warmup_start_lr: 0.1 -momentum: 0.9 -weight_decay: 0.0001 -snapshot: 6250 -snapshot_prefix: "models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/resnet_50_16_nodes_2k" -solver_mode: CPU diff --git a/models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/train_val.prototxt b/models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/train_val.prototxt deleted file mode 100644 index 75bff6269..000000000 --- a/models/intel_optimized_models/multinode/resnet_50_16_nodes_2k_batch/train_val.prototxt +++ /dev/null @@ -1,3322 +0,0 @@ -name: "ResNet-50" -bn_stats_batch_size: 32 -layer { - name: "data" - type: "Data" - top: "data" - top: "label" - include { - phase: TRAIN - } - transform_param { - mirror: true - crop_size: 224 - scale: 0.0078125 - mean_value: 104 - mean_value: 117 - mean_value: 123 - random_aspect_ratio_param { - min_area_ratio: 0.08 - max_area_ratio: 1 - aspect_ratio_change: 0.75 - resize_param { - interp_mode: CUBIC - } - } - } - data_param { - source: "examples/imagenet/ilsvrc12_train_lmdb" - batch_size: 128 - backend: LMDB - prefetch: 2 - shuffle: true - } -} -layer { - name: "data" - type: "Data" - top: "data" - top: "label" - include { - phase: TEST - } - transform_param { - mirror: false - crop_size: 224 - scale: 0.0078125 - mean_value: 104 - mean_value: 117 - mean_value: 123 - random_resize_param { - min_size: 256 - max_size: 256 - resize_param { - interp_mode: CUBIC - } - } - } - data_param { - source: "examples/imagenet/ilsvrc12_val_lmdb" - batch_size: 50 - backend: LMDB - } -} - -layer { - bottom: "data" - top: "conv1" - name: "conv1" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 7 - pad: 3 - stride: 2 - weight_filler { - type: "msra" - variance_norm: FAN_OUT - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "conv1" - top: "conv1" - name: "bn_conv1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "conv1" - top: "conv1" - name: "scale_conv1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "conv1" - top: "conv1" - name: "conv1_relu" - type: "ReLU" - relu_param { - } -} - -layer { - bottom: "conv1" - top: "pool1" - name: "pool1" - type: "Pooling" - pooling_param { - kernel_size: 3 - stride: 2 - pool: MAX - } -} - -layer { - bottom: "pool1" - top: "res2a_branch1" - name: "res2a_branch1" - type: "Convolution" - convolution_param { - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2a_branch1" - top: "res2a_branch1" - name: "bn2a_branch1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2a_branch1" - top: "res2a_branch1" - name: "scale2a_branch1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "pool1" - top: "res2a_branch2a" - name: "res2a_branch2a" - type: "Convolution" - convolution_param { - - num_output: 64 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2a_branch2a" - top: "res2a_branch2a" - name: "bn2a_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2a_branch2a" - top: "res2a_branch2a" - name: "scale2a_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2a_branch2a" - top: "res2a_branch2a" - name: "res2a_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2a_branch2a" - top: "res2a_branch2b" - name: "res2a_branch2b" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2a_branch2b" - top: "res2a_branch2b" - name: "bn2a_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2a_branch2b" - top: "res2a_branch2b" - name: "scale2a_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2a_branch2b" - top: "res2a_branch2b" - name: "res2a_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2a_branch2b" - top: "res2a_branch2c" - name: "res2a_branch2c" - type: "Convolution" - convolution_param { - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2a_branch2c" - top: "res2a_branch2c" - name: "bn2a_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2a_branch2c" - top: "res2a_branch2c" - name: "scale2a_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2a_branch1" - bottom: "res2a_branch2c" - top: "res2a" - name: "res2a" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res2a" - top: "res2a" - name: "res2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2a" - top: "res2b_branch2a" - name: "res2b_branch2a" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2b_branch2a" - top: "res2b_branch2a" - name: "bn2b_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2b_branch2a" - top: "res2b_branch2a" - name: "scale2b_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2b_branch2a" - top: "res2b_branch2a" - name: "res2b_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2b_branch2a" - top: "res2b_branch2b" - name: "res2b_branch2b" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2b_branch2b" - top: "res2b_branch2b" - name: "bn2b_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2b_branch2b" - top: "res2b_branch2b" - name: "scale2b_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2b_branch2b" - top: "res2b_branch2b" - name: "res2b_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2b_branch2b" - top: "res2b_branch2c" - name: "res2b_branch2c" - type: "Convolution" - convolution_param { - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2b_branch2c" - top: "res2b_branch2c" - name: "bn2b_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2b_branch2c" - top: "res2b_branch2c" - name: "scale2b_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2a" - bottom: "res2b_branch2c" - top: "res2b" - name: "res2b" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res2b" - top: "res2b" - name: "res2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2b" - top: "res2c_branch2a" - name: "res2c_branch2a" - type: "Convolution" - convolution_param { - - num_output: 64 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2c_branch2a" - top: "res2c_branch2a" - name: "bn2c_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2c_branch2a" - top: "res2c_branch2a" - name: "scale2c_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2c_branch2a" - top: "res2c_branch2a" - name: "res2c_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2c_branch2a" - top: "res2c_branch2b" - name: "res2c_branch2b" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2c_branch2b" - top: "res2c_branch2b" - name: "bn2c_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2c_branch2b" - top: "res2c_branch2b" - name: "scale2c_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2c_branch2b" - top: "res2c_branch2b" - name: "res2c_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2c_branch2b" - top: "res2c_branch2c" - name: "res2c_branch2c" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2c_branch2c" - top: "res2c_branch2c" - name: "bn2c_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 0 } - } -} - -layer { - bottom: "res2c_branch2c" - top: "res2c_branch2c" - name: "scale2c_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2b" - bottom: "res2c_branch2c" - top: "res2c" - name: "res2c" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res2c" - top: "res2c" - name: "res2c_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2c" - top: "res3a_branch1" - name: "res3a_branch1" - type: "Convolution" - convolution_param { - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3a_branch1" - top: "res3a_branch1" - name: "bn3a_branch1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3a_branch1" - top: "res3a_branch1" - name: "scale3a_branch1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2c" - top: "res3a_branch2a" - name: "res3a_branch2a" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3a_branch2a" - top: "res3a_branch2a" - name: "bn3a_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3a_branch2a" - top: "res3a_branch2a" - name: "scale3a_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3a_branch2a" - top: "res3a_branch2a" - name: "res3a_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3a_branch2a" - top: "res3a_branch2b" - name: "res3a_branch2b" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 3 - pad: 1 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3a_branch2b" - top: "res3a_branch2b" - name: "bn3a_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3a_branch2b" - top: "res3a_branch2b" - name: "scale3a_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3a_branch2b" - top: "res3a_branch2b" - name: "res3a_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3a_branch2b" - top: "res3a_branch2c" - name: "res3a_branch2c" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3a_branch2c" - top: "res3a_branch2c" - name: "bn3a_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3a_branch2c" - top: "res3a_branch2c" - name: "scale3a_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3a_branch1" - bottom: "res3a_branch2c" - top: "res3a" - name: "res3a" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res3a" - top: "res3a" - name: "res3a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3a" - top: "res3b_branch2a" - name: "res3b_branch2a" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3b_branch2a" - top: "res3b_branch2a" - name: "bn3b_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3b_branch2a" - top: "res3b_branch2a" - name: "scale3b_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3b_branch2a" - top: "res3b_branch2a" - name: "res3b_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3b_branch2a" - top: "res3b_branch2b" - name: "res3b_branch2b" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3b_branch2b" - top: "res3b_branch2b" - name: "bn3b_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3b_branch2b" - top: "res3b_branch2b" - name: "scale3b_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3b_branch2b" - top: "res3b_branch2b" - name: "res3b_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3b_branch2b" - top: "res3b_branch2c" - name: "res3b_branch2c" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3b_branch2c" - top: "res3b_branch2c" - name: "bn3b_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3b_branch2c" - top: "res3b_branch2c" - name: "scale3b_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3a" - bottom: "res3b_branch2c" - top: "res3b" - name: "res3b" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res3b" - top: "res3b" - name: "res3b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3b" - top: "res3c_branch2a" - name: "res3c_branch2a" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3c_branch2a" - top: "res3c_branch2a" - name: "bn3c_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3c_branch2a" - top: "res3c_branch2a" - name: "scale3c_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3c_branch2a" - top: "res3c_branch2a" - name: "res3c_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3c_branch2a" - top: "res3c_branch2b" - name: "res3c_branch2b" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3c_branch2b" - top: "res3c_branch2b" - name: "bn3c_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3c_branch2b" - top: "res3c_branch2b" - name: "scale3c_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3c_branch2b" - top: "res3c_branch2b" - name: "res3c_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3c_branch2b" - top: "res3c_branch2c" - name: "res3c_branch2c" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3c_branch2c" - top: "res3c_branch2c" - name: "bn3c_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3c_branch2c" - top: "res3c_branch2c" - name: "scale3c_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3b" - bottom: "res3c_branch2c" - top: "res3c" - name: "res3c" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res3c" - top: "res3c" - name: "res3c_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3c" - top: "res3d_branch2a" - name: "res3d_branch2a" - type: "Convolution" - convolution_param { - num_output: 128 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3d_branch2a" - top: "res3d_branch2a" - name: "bn3d_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3d_branch2a" - top: "res3d_branch2a" - name: "scale3d_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3d_branch2a" - top: "res3d_branch2a" - name: "res3d_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3d_branch2a" - top: "res3d_branch2b" - name: "res3d_branch2b" - type: "Convolution" - convolution_param { - num_output: 128 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3d_branch2b" - top: "res3d_branch2b" - name: "bn3d_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3d_branch2b" - top: "res3d_branch2b" - name: "scale3d_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3d_branch2b" - top: "res3d_branch2b" - name: "res3d_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3d_branch2b" - top: "res3d_branch2c" - name: "res3d_branch2c" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3d_branch2c" - top: "res3d_branch2c" - name: "bn3d_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 0 } - } -} - -layer { - bottom: "res3d_branch2c" - top: "res3d_branch2c" - name: "scale3d_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3c" - bottom: "res3d_branch2c" - top: "res3d" - name: "res3d" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res3d" - top: "res3d" - name: "res3d_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3d" - top: "res4a_branch1" - name: "res4a_branch1" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4a_branch1" - top: "res4a_branch1" - name: "bn4a_branch1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4a_branch1" - top: "res4a_branch1" - name: "scale4a_branch1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3d" - top: "res4a_branch2a" - name: "res4a_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4a_branch2a" - top: "res4a_branch2a" - name: "bn4a_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4a_branch2a" - top: "res4a_branch2a" - name: "scale4a_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4a_branch2a" - top: "res4a_branch2a" - name: "res4a_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4a_branch2a" - top: "res4a_branch2b" - name: "res4a_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4a_branch2b" - top: "res4a_branch2b" - name: "bn4a_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4a_branch2b" - top: "res4a_branch2b" - name: "scale4a_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4a_branch2b" - top: "res4a_branch2b" - name: "res4a_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4a_branch2b" - top: "res4a_branch2c" - name: "res4a_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4a_branch2c" - top: "res4a_branch2c" - name: "bn4a_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4a_branch2c" - top: "res4a_branch2c" - name: "scale4a_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4a_branch1" - bottom: "res4a_branch2c" - top: "res4a" - name: "res4a" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4a" - top: "res4a" - name: "res4a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4a" - top: "res4b_branch2a" - name: "res4b_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4b_branch2a" - top: "res4b_branch2a" - name: "bn4b_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4b_branch2a" - top: "res4b_branch2a" - name: "scale4b_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4b_branch2a" - top: "res4b_branch2a" - name: "res4b_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4b_branch2a" - top: "res4b_branch2b" - name: "res4b_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4b_branch2b" - top: "res4b_branch2b" - name: "bn4b_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4b_branch2b" - top: "res4b_branch2b" - name: "scale4b_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4b_branch2b" - top: "res4b_branch2b" - name: "res4b_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4b_branch2b" - top: "res4b_branch2c" - name: "res4b_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4b_branch2c" - top: "res4b_branch2c" - name: "bn4b_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4b_branch2c" - top: "res4b_branch2c" - name: "scale4b_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4a" - bottom: "res4b_branch2c" - top: "res4b" - name: "res4b" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4b" - top: "res4b" - name: "res4b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4b" - top: "res4c_branch2a" - name: "res4c_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4c_branch2a" - top: "res4c_branch2a" - name: "bn4c_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4c_branch2a" - top: "res4c_branch2a" - name: "scale4c_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4c_branch2a" - top: "res4c_branch2a" - name: "res4c_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4c_branch2a" - top: "res4c_branch2b" - name: "res4c_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4c_branch2b" - top: "res4c_branch2b" - name: "bn4c_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4c_branch2b" - top: "res4c_branch2b" - name: "scale4c_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4c_branch2b" - top: "res4c_branch2b" - name: "res4c_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4c_branch2b" - top: "res4c_branch2c" - name: "res4c_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4c_branch2c" - top: "res4c_branch2c" - name: "bn4c_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4c_branch2c" - top: "res4c_branch2c" - name: "scale4c_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4b" - bottom: "res4c_branch2c" - top: "res4c" - name: "res4c" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4c" - top: "res4c" - name: "res4c_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4c" - top: "res4d_branch2a" - name: "res4d_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4d_branch2a" - top: "res4d_branch2a" - name: "bn4d_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4d_branch2a" - top: "res4d_branch2a" - name: "scale4d_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4d_branch2a" - top: "res4d_branch2a" - name: "res4d_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4d_branch2a" - top: "res4d_branch2b" - name: "res4d_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4d_branch2b" - top: "res4d_branch2b" - name: "bn4d_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4d_branch2b" - top: "res4d_branch2b" - name: "scale4d_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4d_branch2b" - top: "res4d_branch2b" - name: "res4d_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4d_branch2b" - top: "res4d_branch2c" - name: "res4d_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4d_branch2c" - top: "res4d_branch2c" - name: "bn4d_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4d_branch2c" - top: "res4d_branch2c" - name: "scale4d_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4c" - bottom: "res4d_branch2c" - top: "res4d" - name: "res4d" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4d" - top: "res4d" - name: "res4d_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4d" - top: "res4e_branch2a" - name: "res4e_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4e_branch2a" - top: "res4e_branch2a" - name: "bn4e_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4e_branch2a" - top: "res4e_branch2a" - name: "scale4e_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4e_branch2a" - top: "res4e_branch2a" - name: "res4e_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4e_branch2a" - top: "res4e_branch2b" - name: "res4e_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4e_branch2b" - top: "res4e_branch2b" - name: "bn4e_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4e_branch2b" - top: "res4e_branch2b" - name: "scale4e_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4e_branch2b" - top: "res4e_branch2b" - name: "res4e_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4e_branch2b" - top: "res4e_branch2c" - name: "res4e_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4e_branch2c" - top: "res4e_branch2c" - name: "bn4e_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4e_branch2c" - top: "res4e_branch2c" - name: "scale4e_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4d" - bottom: "res4e_branch2c" - top: "res4e" - name: "res4e" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4e" - top: "res4e" - name: "res4e_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4e" - top: "res4f_branch2a" - name: "res4f_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4f_branch2a" - top: "res4f_branch2a" - name: "bn4f_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4f_branch2a" - top: "res4f_branch2a" - name: "scale4f_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4f_branch2a" - top: "res4f_branch2a" - name: "res4f_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4f_branch2a" - top: "res4f_branch2b" - name: "res4f_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4f_branch2b" - top: "res4f_branch2b" - name: "bn4f_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4f_branch2b" - top: "res4f_branch2b" - name: "scale4f_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4f_branch2b" - top: "res4f_branch2b" - name: "res4f_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4f_branch2b" - top: "res4f_branch2c" - name: "res4f_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4f_branch2c" - top: "res4f_branch2c" - name: "bn4f_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 0 } - } -} - -layer { - bottom: "res4f_branch2c" - top: "res4f_branch2c" - name: "scale4f_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4e" - bottom: "res4f_branch2c" - top: "res4f" - name: "res4f" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4f" - top: "res4f" - name: "res4f_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4f" - top: "res5a_branch1" - name: "res5a_branch1" - type: "Convolution" - convolution_param { - - num_output: 2048 - kernel_size: 1 - pad: 0 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5a_branch1" - top: "res5a_branch1" - name: "bn5a_branch1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5a_branch1" - top: "res5a_branch1" - name: "scale5a_branch1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4f" - top: "res5a_branch2a" - name: "res5a_branch2a" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5a_branch2a" - top: "res5a_branch2a" - name: "bn5a_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5a_branch2a" - top: "res5a_branch2a" - name: "scale5a_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5a_branch2a" - top: "res5a_branch2a" - name: "res5a_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5a_branch2a" - top: "res5a_branch2b" - name: "res5a_branch2b" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 3 - pad: 1 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5a_branch2b" - top: "res5a_branch2b" - name: "bn5a_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5a_branch2b" - top: "res5a_branch2b" - name: "scale5a_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5a_branch2b" - top: "res5a_branch2b" - name: "res5a_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5a_branch2b" - top: "res5a_branch2c" - name: "res5a_branch2c" - type: "Convolution" - convolution_param { - - num_output: 2048 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5a_branch2c" - top: "res5a_branch2c" - name: "bn5a_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5a_branch2c" - top: "res5a_branch2c" - name: "scale5a_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5a_branch1" - bottom: "res5a_branch2c" - top: "res5a" - name: "res5a" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res5a" - top: "res5a" - name: "res5a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5a" - top: "res5b_branch2a" - name: "res5b_branch2a" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5b_branch2a" - top: "res5b_branch2a" - name: "bn5b_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5b_branch2a" - top: "res5b_branch2a" - name: "scale5b_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5b_branch2a" - top: "res5b_branch2a" - name: "res5b_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5b_branch2a" - top: "res5b_branch2b" - name: "res5b_branch2b" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5b_branch2b" - top: "res5b_branch2b" - name: "bn5b_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5b_branch2b" - top: "res5b_branch2b" - name: "scale5b_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5b_branch2b" - top: "res5b_branch2b" - name: "res5b_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5b_branch2b" - top: "res5b_branch2c" - name: "res5b_branch2c" - type: "Convolution" - convolution_param { - - num_output: 2048 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5b_branch2c" - top: "res5b_branch2c" - name: "bn5b_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5b_branch2c" - top: "res5b_branch2c" - name: "scale5b_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5a" - bottom: "res5b_branch2c" - top: "res5b" - name: "res5b" - type: "Eltwise" - eltwise_param { - } -} - -layer { - bottom: "res5b" - top: "res5b" - name: "res5b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5b" - top: "res5c_branch2a" - name: "res5c_branch2a" - type: "Convolution" - convolution_param { - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5c_branch2a" - top: "res5c_branch2a" - name: "bn5c_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5c_branch2a" - top: "res5c_branch2a" - name: "scale5c_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5c_branch2a" - top: "res5c_branch2a" - name: "res5c_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5c_branch2a" - top: "res5c_branch2b" - name: "res5c_branch2b" - type: "Convolution" - convolution_param { - num_output: 512 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5c_branch2b" - top: "res5c_branch2b" - name: "bn5c_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5c_branch2b" - top: "res5c_branch2b" - name: "scale5c_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5c_branch2b" - top: "res5c_branch2b" - name: "res5c_branch2b_relu" - type: "ReLU" - relu_param { - } -} - -layer { - bottom: "res5c_branch2b" - top: "res5c_branch2c" - name: "res5c_branch2c" - type: "Convolution" - convolution_param { - num_output: 2048 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5c_branch2c" - top: "res5c_branch2c" - name: "bn5c_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 0 } - } -} - -layer { - bottom: "res5c_branch2c" - top: "res5c_branch2c" - name: "scale5c_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5b" - bottom: "res5c_branch2c" - top: "res5c" - name: "res5c" - type: "Eltwise" - eltwise_param { - } -} - -layer { - bottom: "res5c" - top: "res5c" - name: "res5c_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5c" - top: "pool5" - name: "pool5" - type: "Pooling" - pooling_param { - kernel_size: 7 - stride: 1 - pool: AVE - } -} - -layer { - bottom: "pool5" - top: "fc1000" - name: "fc1000" - type: "InnerProduct" - inner_product_param { - num_output: 1000 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "fc1000" - bottom: "label" - top: "loss" - name: "prob" - type: "SoftmaxWithLoss" -} -layer { - name: "loss3/top-1" - type: "Accuracy" - bottom: "fc1000" - bottom: "label" - top: "loss3/top-1" -} -layer { - name: "loss3/top-5" - type: "Accuracy" - bottom: "fc1000" - bottom: "label" - top: "loss3/top-5" - accuracy_param { - top_k: 5 - } -} diff --git a/models/intel_optimized_models/multinode/resnet_50_256_nodes_8k_batch/solver.prototxt b/models/intel_optimized_models/multinode/resnet_50_256_nodes_8k_batch/solver.prototxt deleted file mode 100644 index b3a10c897..000000000 --- a/models/intel_optimized_models/multinode/resnet_50_256_nodes_8k_batch/solver.prototxt +++ /dev/null @@ -1,19 +0,0 @@ -net: "models/intel_optimized_models/multinode/resnet_50_256_nodes_8k_batch/train_val.prototxt" -test_iter: 1000 -test_interval: 156 -test_initialization: false -display: 40 -base_lr: 3.2 -lr_policy: "multistep" -stepvalue:4680 -stepvalue:9360 -stepvalue:12480 -gamma: 0.1 -max_iter: 14075 -warmup_iter: 780 # 1281167 / 8192 * 5 epochs -warmup_start_lr: 0.1 -momentum: 0.9 -weight_decay: 0.0001 -snapshot: 1560 -snapshot_prefix: "models/intel_optimized_models/multinode/resnet_50_256_nodes_8k_batch/resnet_50_256_nodes_8k" -solver_mode: CPU diff --git a/models/intel_optimized_models/multinode/resnet_50_8_nodes/solver.prototxt b/models/intel_optimized_models/multinode/resnet_50_8_nodes/solver.prototxt deleted file mode 100644 index 182626503..000000000 --- a/models/intel_optimized_models/multinode/resnet_50_8_nodes/solver.prototxt +++ /dev/null @@ -1,17 +0,0 @@ -net: "models/intel_optimized_models/multinode/resnet_50_8_nodes/train_val.prototxt" -test_iter: 1000 -test_interval: 1248 -test_initialization: false -display: 40 -base_lr: 0.4 -lr_policy: "multistep" -stepvalue:37440 -stepvalue:74880 -stepvalue:99840 -gamma: 0.1 -max_iter: 112600 -momentum: 0.9 -weight_decay: 0.0001 -snapshot: 12480 -snapshot_prefix: "models/intel_optimized_models/multinode/resnet_50_8_nodes/resnet_50_8_nodes" -solver_mode: CPU diff --git a/models/intel_optimized_models/multinode/resnet_50_8_nodes/train_val.prototxt b/models/intel_optimized_models/multinode/resnet_50_8_nodes/train_val.prototxt deleted file mode 100644 index 75bff6269..000000000 --- a/models/intel_optimized_models/multinode/resnet_50_8_nodes/train_val.prototxt +++ /dev/null @@ -1,3322 +0,0 @@ -name: "ResNet-50" -bn_stats_batch_size: 32 -layer { - name: "data" - type: "Data" - top: "data" - top: "label" - include { - phase: TRAIN - } - transform_param { - mirror: true - crop_size: 224 - scale: 0.0078125 - mean_value: 104 - mean_value: 117 - mean_value: 123 - random_aspect_ratio_param { - min_area_ratio: 0.08 - max_area_ratio: 1 - aspect_ratio_change: 0.75 - resize_param { - interp_mode: CUBIC - } - } - } - data_param { - source: "examples/imagenet/ilsvrc12_train_lmdb" - batch_size: 128 - backend: LMDB - prefetch: 2 - shuffle: true - } -} -layer { - name: "data" - type: "Data" - top: "data" - top: "label" - include { - phase: TEST - } - transform_param { - mirror: false - crop_size: 224 - scale: 0.0078125 - mean_value: 104 - mean_value: 117 - mean_value: 123 - random_resize_param { - min_size: 256 - max_size: 256 - resize_param { - interp_mode: CUBIC - } - } - } - data_param { - source: "examples/imagenet/ilsvrc12_val_lmdb" - batch_size: 50 - backend: LMDB - } -} - -layer { - bottom: "data" - top: "conv1" - name: "conv1" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 7 - pad: 3 - stride: 2 - weight_filler { - type: "msra" - variance_norm: FAN_OUT - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "conv1" - top: "conv1" - name: "bn_conv1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "conv1" - top: "conv1" - name: "scale_conv1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "conv1" - top: "conv1" - name: "conv1_relu" - type: "ReLU" - relu_param { - } -} - -layer { - bottom: "conv1" - top: "pool1" - name: "pool1" - type: "Pooling" - pooling_param { - kernel_size: 3 - stride: 2 - pool: MAX - } -} - -layer { - bottom: "pool1" - top: "res2a_branch1" - name: "res2a_branch1" - type: "Convolution" - convolution_param { - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2a_branch1" - top: "res2a_branch1" - name: "bn2a_branch1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2a_branch1" - top: "res2a_branch1" - name: "scale2a_branch1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "pool1" - top: "res2a_branch2a" - name: "res2a_branch2a" - type: "Convolution" - convolution_param { - - num_output: 64 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2a_branch2a" - top: "res2a_branch2a" - name: "bn2a_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2a_branch2a" - top: "res2a_branch2a" - name: "scale2a_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2a_branch2a" - top: "res2a_branch2a" - name: "res2a_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2a_branch2a" - top: "res2a_branch2b" - name: "res2a_branch2b" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2a_branch2b" - top: "res2a_branch2b" - name: "bn2a_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2a_branch2b" - top: "res2a_branch2b" - name: "scale2a_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2a_branch2b" - top: "res2a_branch2b" - name: "res2a_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2a_branch2b" - top: "res2a_branch2c" - name: "res2a_branch2c" - type: "Convolution" - convolution_param { - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2a_branch2c" - top: "res2a_branch2c" - name: "bn2a_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2a_branch2c" - top: "res2a_branch2c" - name: "scale2a_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2a_branch1" - bottom: "res2a_branch2c" - top: "res2a" - name: "res2a" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res2a" - top: "res2a" - name: "res2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2a" - top: "res2b_branch2a" - name: "res2b_branch2a" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2b_branch2a" - top: "res2b_branch2a" - name: "bn2b_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2b_branch2a" - top: "res2b_branch2a" - name: "scale2b_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2b_branch2a" - top: "res2b_branch2a" - name: "res2b_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2b_branch2a" - top: "res2b_branch2b" - name: "res2b_branch2b" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2b_branch2b" - top: "res2b_branch2b" - name: "bn2b_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2b_branch2b" - top: "res2b_branch2b" - name: "scale2b_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2b_branch2b" - top: "res2b_branch2b" - name: "res2b_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2b_branch2b" - top: "res2b_branch2c" - name: "res2b_branch2c" - type: "Convolution" - convolution_param { - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2b_branch2c" - top: "res2b_branch2c" - name: "bn2b_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2b_branch2c" - top: "res2b_branch2c" - name: "scale2b_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2a" - bottom: "res2b_branch2c" - top: "res2b" - name: "res2b" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res2b" - top: "res2b" - name: "res2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2b" - top: "res2c_branch2a" - name: "res2c_branch2a" - type: "Convolution" - convolution_param { - - num_output: 64 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2c_branch2a" - top: "res2c_branch2a" - name: "bn2c_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2c_branch2a" - top: "res2c_branch2a" - name: "scale2c_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2c_branch2a" - top: "res2c_branch2a" - name: "res2c_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2c_branch2a" - top: "res2c_branch2b" - name: "res2c_branch2b" - type: "Convolution" - convolution_param { - num_output: 64 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2c_branch2b" - top: "res2c_branch2b" - name: "bn2c_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res2c_branch2b" - top: "res2c_branch2b" - name: "scale2c_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2c_branch2b" - top: "res2c_branch2b" - name: "res2c_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2c_branch2b" - top: "res2c_branch2c" - name: "res2c_branch2c" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res2c_branch2c" - top: "res2c_branch2c" - name: "bn2c_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 0 } - } -} - -layer { - bottom: "res2c_branch2c" - top: "res2c_branch2c" - name: "scale2c_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2b" - bottom: "res2c_branch2c" - top: "res2c" - name: "res2c" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res2c" - top: "res2c" - name: "res2c_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res2c" - top: "res3a_branch1" - name: "res3a_branch1" - type: "Convolution" - convolution_param { - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3a_branch1" - top: "res3a_branch1" - name: "bn3a_branch1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3a_branch1" - top: "res3a_branch1" - name: "scale3a_branch1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res2c" - top: "res3a_branch2a" - name: "res3a_branch2a" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3a_branch2a" - top: "res3a_branch2a" - name: "bn3a_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3a_branch2a" - top: "res3a_branch2a" - name: "scale3a_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3a_branch2a" - top: "res3a_branch2a" - name: "res3a_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3a_branch2a" - top: "res3a_branch2b" - name: "res3a_branch2b" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 3 - pad: 1 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3a_branch2b" - top: "res3a_branch2b" - name: "bn3a_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3a_branch2b" - top: "res3a_branch2b" - name: "scale3a_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3a_branch2b" - top: "res3a_branch2b" - name: "res3a_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3a_branch2b" - top: "res3a_branch2c" - name: "res3a_branch2c" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3a_branch2c" - top: "res3a_branch2c" - name: "bn3a_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3a_branch2c" - top: "res3a_branch2c" - name: "scale3a_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3a_branch1" - bottom: "res3a_branch2c" - top: "res3a" - name: "res3a" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res3a" - top: "res3a" - name: "res3a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3a" - top: "res3b_branch2a" - name: "res3b_branch2a" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3b_branch2a" - top: "res3b_branch2a" - name: "bn3b_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3b_branch2a" - top: "res3b_branch2a" - name: "scale3b_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3b_branch2a" - top: "res3b_branch2a" - name: "res3b_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3b_branch2a" - top: "res3b_branch2b" - name: "res3b_branch2b" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3b_branch2b" - top: "res3b_branch2b" - name: "bn3b_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3b_branch2b" - top: "res3b_branch2b" - name: "scale3b_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3b_branch2b" - top: "res3b_branch2b" - name: "res3b_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3b_branch2b" - top: "res3b_branch2c" - name: "res3b_branch2c" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3b_branch2c" - top: "res3b_branch2c" - name: "bn3b_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3b_branch2c" - top: "res3b_branch2c" - name: "scale3b_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3a" - bottom: "res3b_branch2c" - top: "res3b" - name: "res3b" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res3b" - top: "res3b" - name: "res3b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3b" - top: "res3c_branch2a" - name: "res3c_branch2a" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3c_branch2a" - top: "res3c_branch2a" - name: "bn3c_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3c_branch2a" - top: "res3c_branch2a" - name: "scale3c_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3c_branch2a" - top: "res3c_branch2a" - name: "res3c_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3c_branch2a" - top: "res3c_branch2b" - name: "res3c_branch2b" - type: "Convolution" - convolution_param { - - num_output: 128 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3c_branch2b" - top: "res3c_branch2b" - name: "bn3c_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3c_branch2b" - top: "res3c_branch2b" - name: "scale3c_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3c_branch2b" - top: "res3c_branch2b" - name: "res3c_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3c_branch2b" - top: "res3c_branch2c" - name: "res3c_branch2c" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3c_branch2c" - top: "res3c_branch2c" - name: "bn3c_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3c_branch2c" - top: "res3c_branch2c" - name: "scale3c_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3b" - bottom: "res3c_branch2c" - top: "res3c" - name: "res3c" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res3c" - top: "res3c" - name: "res3c_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3c" - top: "res3d_branch2a" - name: "res3d_branch2a" - type: "Convolution" - convolution_param { - num_output: 128 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3d_branch2a" - top: "res3d_branch2a" - name: "bn3d_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3d_branch2a" - top: "res3d_branch2a" - name: "scale3d_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3d_branch2a" - top: "res3d_branch2a" - name: "res3d_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3d_branch2a" - top: "res3d_branch2b" - name: "res3d_branch2b" - type: "Convolution" - convolution_param { - num_output: 128 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3d_branch2b" - top: "res3d_branch2b" - name: "bn3d_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res3d_branch2b" - top: "res3d_branch2b" - name: "scale3d_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3d_branch2b" - top: "res3d_branch2b" - name: "res3d_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3d_branch2b" - top: "res3d_branch2c" - name: "res3d_branch2c" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res3d_branch2c" - top: "res3d_branch2c" - name: "bn3d_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 0 } - } -} - -layer { - bottom: "res3d_branch2c" - top: "res3d_branch2c" - name: "scale3d_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3c" - bottom: "res3d_branch2c" - top: "res3d" - name: "res3d" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res3d" - top: "res3d" - name: "res3d_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res3d" - top: "res4a_branch1" - name: "res4a_branch1" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4a_branch1" - top: "res4a_branch1" - name: "bn4a_branch1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4a_branch1" - top: "res4a_branch1" - name: "scale4a_branch1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res3d" - top: "res4a_branch2a" - name: "res4a_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4a_branch2a" - top: "res4a_branch2a" - name: "bn4a_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4a_branch2a" - top: "res4a_branch2a" - name: "scale4a_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4a_branch2a" - top: "res4a_branch2a" - name: "res4a_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4a_branch2a" - top: "res4a_branch2b" - name: "res4a_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4a_branch2b" - top: "res4a_branch2b" - name: "bn4a_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4a_branch2b" - top: "res4a_branch2b" - name: "scale4a_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4a_branch2b" - top: "res4a_branch2b" - name: "res4a_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4a_branch2b" - top: "res4a_branch2c" - name: "res4a_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4a_branch2c" - top: "res4a_branch2c" - name: "bn4a_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4a_branch2c" - top: "res4a_branch2c" - name: "scale4a_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4a_branch1" - bottom: "res4a_branch2c" - top: "res4a" - name: "res4a" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4a" - top: "res4a" - name: "res4a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4a" - top: "res4b_branch2a" - name: "res4b_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4b_branch2a" - top: "res4b_branch2a" - name: "bn4b_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4b_branch2a" - top: "res4b_branch2a" - name: "scale4b_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4b_branch2a" - top: "res4b_branch2a" - name: "res4b_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4b_branch2a" - top: "res4b_branch2b" - name: "res4b_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4b_branch2b" - top: "res4b_branch2b" - name: "bn4b_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4b_branch2b" - top: "res4b_branch2b" - name: "scale4b_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4b_branch2b" - top: "res4b_branch2b" - name: "res4b_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4b_branch2b" - top: "res4b_branch2c" - name: "res4b_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4b_branch2c" - top: "res4b_branch2c" - name: "bn4b_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4b_branch2c" - top: "res4b_branch2c" - name: "scale4b_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4a" - bottom: "res4b_branch2c" - top: "res4b" - name: "res4b" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4b" - top: "res4b" - name: "res4b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4b" - top: "res4c_branch2a" - name: "res4c_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4c_branch2a" - top: "res4c_branch2a" - name: "bn4c_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4c_branch2a" - top: "res4c_branch2a" - name: "scale4c_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4c_branch2a" - top: "res4c_branch2a" - name: "res4c_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4c_branch2a" - top: "res4c_branch2b" - name: "res4c_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4c_branch2b" - top: "res4c_branch2b" - name: "bn4c_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4c_branch2b" - top: "res4c_branch2b" - name: "scale4c_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4c_branch2b" - top: "res4c_branch2b" - name: "res4c_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4c_branch2b" - top: "res4c_branch2c" - name: "res4c_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4c_branch2c" - top: "res4c_branch2c" - name: "bn4c_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4c_branch2c" - top: "res4c_branch2c" - name: "scale4c_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4b" - bottom: "res4c_branch2c" - top: "res4c" - name: "res4c" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4c" - top: "res4c" - name: "res4c_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4c" - top: "res4d_branch2a" - name: "res4d_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4d_branch2a" - top: "res4d_branch2a" - name: "bn4d_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4d_branch2a" - top: "res4d_branch2a" - name: "scale4d_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4d_branch2a" - top: "res4d_branch2a" - name: "res4d_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4d_branch2a" - top: "res4d_branch2b" - name: "res4d_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4d_branch2b" - top: "res4d_branch2b" - name: "bn4d_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4d_branch2b" - top: "res4d_branch2b" - name: "scale4d_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4d_branch2b" - top: "res4d_branch2b" - name: "res4d_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4d_branch2b" - top: "res4d_branch2c" - name: "res4d_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4d_branch2c" - top: "res4d_branch2c" - name: "bn4d_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4d_branch2c" - top: "res4d_branch2c" - name: "scale4d_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4c" - bottom: "res4d_branch2c" - top: "res4d" - name: "res4d" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4d" - top: "res4d" - name: "res4d_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4d" - top: "res4e_branch2a" - name: "res4e_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4e_branch2a" - top: "res4e_branch2a" - name: "bn4e_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4e_branch2a" - top: "res4e_branch2a" - name: "scale4e_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4e_branch2a" - top: "res4e_branch2a" - name: "res4e_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4e_branch2a" - top: "res4e_branch2b" - name: "res4e_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4e_branch2b" - top: "res4e_branch2b" - name: "bn4e_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4e_branch2b" - top: "res4e_branch2b" - name: "scale4e_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4e_branch2b" - top: "res4e_branch2b" - name: "res4e_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4e_branch2b" - top: "res4e_branch2c" - name: "res4e_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4e_branch2c" - top: "res4e_branch2c" - name: "bn4e_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4e_branch2c" - top: "res4e_branch2c" - name: "scale4e_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4d" - bottom: "res4e_branch2c" - top: "res4e" - name: "res4e" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4e" - top: "res4e" - name: "res4e_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4e" - top: "res4f_branch2a" - name: "res4f_branch2a" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4f_branch2a" - top: "res4f_branch2a" - name: "bn4f_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4f_branch2a" - top: "res4f_branch2a" - name: "scale4f_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4f_branch2a" - top: "res4f_branch2a" - name: "res4f_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4f_branch2a" - top: "res4f_branch2b" - name: "res4f_branch2b" - type: "Convolution" - convolution_param { - - num_output: 256 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4f_branch2b" - top: "res4f_branch2b" - name: "bn4f_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res4f_branch2b" - top: "res4f_branch2b" - name: "scale4f_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4f_branch2b" - top: "res4f_branch2b" - name: "res4f_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4f_branch2b" - top: "res4f_branch2c" - name: "res4f_branch2c" - type: "Convolution" - convolution_param { - - num_output: 1024 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res4f_branch2c" - top: "res4f_branch2c" - name: "bn4f_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 0 } - } -} - -layer { - bottom: "res4f_branch2c" - top: "res4f_branch2c" - name: "scale4f_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4e" - bottom: "res4f_branch2c" - top: "res4f" - name: "res4f" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res4f" - top: "res4f" - name: "res4f_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res4f" - top: "res5a_branch1" - name: "res5a_branch1" - type: "Convolution" - convolution_param { - - num_output: 2048 - kernel_size: 1 - pad: 0 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5a_branch1" - top: "res5a_branch1" - name: "bn5a_branch1" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5a_branch1" - top: "res5a_branch1" - name: "scale5a_branch1" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res4f" - top: "res5a_branch2a" - name: "res5a_branch2a" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5a_branch2a" - top: "res5a_branch2a" - name: "bn5a_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5a_branch2a" - top: "res5a_branch2a" - name: "scale5a_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5a_branch2a" - top: "res5a_branch2a" - name: "res5a_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5a_branch2a" - top: "res5a_branch2b" - name: "res5a_branch2b" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 3 - pad: 1 - stride: 2 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5a_branch2b" - top: "res5a_branch2b" - name: "bn5a_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5a_branch2b" - top: "res5a_branch2b" - name: "scale5a_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5a_branch2b" - top: "res5a_branch2b" - name: "res5a_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5a_branch2b" - top: "res5a_branch2c" - name: "res5a_branch2c" - type: "Convolution" - convolution_param { - - num_output: 2048 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5a_branch2c" - top: "res5a_branch2c" - name: "bn5a_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5a_branch2c" - top: "res5a_branch2c" - name: "scale5a_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5a_branch1" - bottom: "res5a_branch2c" - top: "res5a" - name: "res5a" - type: "Eltwise" - eltwise_param { - - } -} - -layer { - bottom: "res5a" - top: "res5a" - name: "res5a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5a" - top: "res5b_branch2a" - name: "res5b_branch2a" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5b_branch2a" - top: "res5b_branch2a" - name: "bn5b_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5b_branch2a" - top: "res5b_branch2a" - name: "scale5b_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5b_branch2a" - top: "res5b_branch2a" - name: "res5b_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5b_branch2a" - top: "res5b_branch2b" - name: "res5b_branch2b" - type: "Convolution" - convolution_param { - - num_output: 512 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5b_branch2b" - top: "res5b_branch2b" - name: "bn5b_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5b_branch2b" - top: "res5b_branch2b" - name: "scale5b_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5b_branch2b" - top: "res5b_branch2b" - name: "res5b_branch2b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5b_branch2b" - top: "res5b_branch2c" - name: "res5b_branch2c" - type: "Convolution" - convolution_param { - - num_output: 2048 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5b_branch2c" - top: "res5b_branch2c" - name: "bn5b_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5b_branch2c" - top: "res5b_branch2c" - name: "scale5b_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5a" - bottom: "res5b_branch2c" - top: "res5b" - name: "res5b" - type: "Eltwise" - eltwise_param { - } -} - -layer { - bottom: "res5b" - top: "res5b" - name: "res5b_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5b" - top: "res5c_branch2a" - name: "res5c_branch2a" - type: "Convolution" - convolution_param { - num_output: 512 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5c_branch2a" - top: "res5c_branch2a" - name: "bn5c_branch2a" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5c_branch2a" - top: "res5c_branch2a" - name: "scale5c_branch2a" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5c_branch2a" - top: "res5c_branch2a" - name: "res5c_branch2a_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5c_branch2a" - top: "res5c_branch2b" - name: "res5c_branch2b" - type: "Convolution" - convolution_param { - num_output: 512 - kernel_size: 3 - pad: 1 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5c_branch2b" - top: "res5c_branch2b" - name: "bn5c_branch2b" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 1 } - } -} - -layer { - bottom: "res5c_branch2b" - top: "res5c_branch2b" - name: "scale5c_branch2b" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5c_branch2b" - top: "res5c_branch2b" - name: "res5c_branch2b_relu" - type: "ReLU" - relu_param { - } -} - -layer { - bottom: "res5c_branch2b" - top: "res5c_branch2c" - name: "res5c_branch2c" - type: "Convolution" - convolution_param { - num_output: 2048 - kernel_size: 1 - pad: 0 - stride: 1 - bias_term: false - weight_filler { - type: "msra" - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "res5c_branch2c" - top: "res5c_branch2c" - name: "bn5c_branch2c" - type: "BatchNorm" - param { lr_mult: 0 } - param { lr_mult: 0 } - param { lr_mult: 0 } - batch_norm_param { - moving_average_fraction: 0.9 - filler { value: 0 } - } -} - -layer { - bottom: "res5c_branch2c" - top: "res5c_branch2c" - name: "scale5c_branch2c" - type: "Scale" - param { decay_mult: 0 } - param { decay_mult: 0 } - scale_param { - bias_term: true - } -} - -layer { - bottom: "res5b" - bottom: "res5c_branch2c" - top: "res5c" - name: "res5c" - type: "Eltwise" - eltwise_param { - } -} - -layer { - bottom: "res5c" - top: "res5c" - name: "res5c_relu" - type: "ReLU" - relu_param { - - } -} - -layer { - bottom: "res5c" - top: "pool5" - name: "pool5" - type: "Pooling" - pooling_param { - kernel_size: 7 - stride: 1 - pool: AVE - } -} - -layer { - bottom: "pool5" - top: "fc1000" - name: "fc1000" - type: "InnerProduct" - inner_product_param { - num_output: 1000 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0 - } - } -} - -layer { - bottom: "fc1000" - bottom: "label" - top: "loss" - name: "prob" - type: "SoftmaxWithLoss" -} -layer { - name: "loss3/top-1" - type: "Accuracy" - bottom: "fc1000" - bottom: "label" - top: "loss3/top-1" -} -layer { - name: "loss3/top-5" - type: "Accuracy" - bottom: "fc1000" - bottom: "label" - top: "loss3/top-5" - accuracy_param { - top_k: 5 - } -}