From aa2bb844bda9353fb5750e112381c0db6747a2ed Mon Sep 17 00:00:00 2001 From: fzou1 Date: Tue, 26 Sep 2017 20:31:05 +0800 Subject: [PATCH 1/2] add scripts for installing deps, building caffe and running benchmark --- .../alexnet/bdw/train_val_dummydata.prototxt | 394 ++ .../alexnet/knl/train_val_dummydata.prototxt | 394 ++ .../alexnet/skx/train_val_dummydata.prototxt | 394 ++ .../bdw/train_val_dummydata.prototxt | 2427 ++++++++++ .../knl/train_val_dummydata.prototxt | 2427 ++++++++++ .../skx/train_val_dummydata.prototxt | 2427 ++++++++++ .../bdw/train_val_dummydata.prototxt | 4034 +++++++++++++++++ .../knl/train_val_dummydata.prototxt | 4034 +++++++++++++++++ .../skx/train_val_dummydata.prototxt | 4034 +++++++++++++++++ .../bdw/train_val_dummydata.prototxt | 2294 ++++++++++ .../knl/train_val_dummydata.prototxt | 2294 ++++++++++ .../skx/train_val_dummydata.prototxt | 2294 ++++++++++ scripts/prepare_env.sh | 75 + scripts/run_benchmark.sh | 125 + scripts/run_intelcaffe.sh | 160 +- 15 files changed, 27751 insertions(+), 56 deletions(-) create mode 100644 models/intel_optimized_models/alexnet/bdw/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/alexnet/knl/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/alexnet/skx/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/googlenet/bdw/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/googlenet/knl/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/googlenet/skx/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/googlenet_v2/bdw/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/googlenet_v2/knl/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/googlenet_v2/skx/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/resnet_50/bdw/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/resnet_50/knl/train_val_dummydata.prototxt create mode 100644 models/intel_optimized_models/resnet_50/skx/train_val_dummydata.prototxt create mode 100755 scripts/prepare_env.sh create mode 100755 scripts/run_benchmark.sh diff --git a/models/intel_optimized_models/alexnet/bdw/train_val_dummydata.prototxt b/models/intel_optimized_models/alexnet/bdw/train_val_dummydata.prototxt new file mode 100644 index 000000000..fc47551c3 --- /dev/null +++ b/models/intel_optimized_models/alexnet/bdw/train_val_dummydata.prototxt @@ -0,0 +1,394 @@ +name: "AlexNet" +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 256 dim: 3 dim: 224 dim: 224 } + shape: { dim: 256 dim: 1 dim: 1 dim: 1 } + } +} +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 256 dim: 3 dim: 224 dim: 224 } + shape: { dim: 256 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "conv1" + type: "Convolution" + bottom: "data" + top: "conv1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + kernel_size: 11 + stride: 4 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "relu1" + type: "ReLU" + bottom: "conv1" + top: "conv1" +} +layer { + name: "norm1" + type: "LRN" + bottom: "conv1" + top: "norm1" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "pool1" + type: "Pooling" + bottom: "norm1" + top: "pool1" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "conv2" + type: "Convolution" + bottom: "pool1" + top: "conv2" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 2 + kernel_size: 5 + group: 2 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu2" + type: "ReLU" + bottom: "conv2" + top: "conv2" +} +layer { + name: "norm2" + type: "LRN" + bottom: "conv2" + top: "norm2" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "pool2" + type: "Pooling" + bottom: "norm2" + top: "pool2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "conv3" + type: "Convolution" + bottom: "pool2" + top: "conv3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "relu3" + type: "ReLU" + bottom: "conv3" + top: "conv3" +} +layer { + name: "conv4" + type: "Convolution" + bottom: "conv3" + top: "conv4" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + group: 2 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu4" + type: "ReLU" + bottom: "conv4" + top: "conv4" +} +layer { + name: "conv5" + type: "Convolution" + bottom: "conv4" + top: "conv5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 1 + kernel_size: 3 + group: 2 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu5" + type: "ReLU" + bottom: "conv5" + top: "conv5" +} +layer { + name: "pool5" + type: "Pooling" + bottom: "conv5" + top: "pool5" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "fc6" + type: "InnerProduct" + bottom: "pool5" + top: "fc6" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 4096 + weight_filler { + type: "gaussian" + std: 0.005 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu6" + type: "ReLU" + bottom: "fc6" + top: "fc6" +} +layer { + name: "drop6" + type: "Dropout" + bottom: "fc6" + top: "fc6" + dropout_param { + dropout_ratio: 0.5 + } +} +layer { + name: "fc7" + type: "InnerProduct" + bottom: "fc6" + top: "fc7" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 4096 + weight_filler { + type: "gaussian" + std: 0.005 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu7" + type: "ReLU" + bottom: "fc7" + top: "fc7" +} +layer { + name: "drop7" + type: "Dropout" + bottom: "fc7" + top: "fc7" + dropout_param { + dropout_ratio: 0.5 + } +} +layer { + name: "fc8" + type: "InnerProduct" + bottom: "fc7" + top: "fc8" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss" + type: "SoftmaxWithLoss" + bottom: "fc8" + bottom: "label" + top: "loss" +} +layer { + name: "loss3/top-1" + type: "Accuracy" + bottom: "fc8" + bottom: "label" + top: "loss3/top-1" + include { + phase: TEST + } +} +layer { + name: "loss3/top-5" + type: "Accuracy" + bottom: "fc8" + bottom: "label" + top: "loss3/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} diff --git a/models/intel_optimized_models/alexnet/knl/train_val_dummydata.prototxt b/models/intel_optimized_models/alexnet/knl/train_val_dummydata.prototxt new file mode 100644 index 000000000..fc47551c3 --- /dev/null +++ b/models/intel_optimized_models/alexnet/knl/train_val_dummydata.prototxt @@ -0,0 +1,394 @@ +name: "AlexNet" +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 256 dim: 3 dim: 224 dim: 224 } + shape: { dim: 256 dim: 1 dim: 1 dim: 1 } + } +} +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 256 dim: 3 dim: 224 dim: 224 } + shape: { dim: 256 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "conv1" + type: "Convolution" + bottom: "data" + top: "conv1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + kernel_size: 11 + stride: 4 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "relu1" + type: "ReLU" + bottom: "conv1" + top: "conv1" +} +layer { + name: "norm1" + type: "LRN" + bottom: "conv1" + top: "norm1" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "pool1" + type: "Pooling" + bottom: "norm1" + top: "pool1" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "conv2" + type: "Convolution" + bottom: "pool1" + top: "conv2" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 2 + kernel_size: 5 + group: 2 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu2" + type: "ReLU" + bottom: "conv2" + top: "conv2" +} +layer { + name: "norm2" + type: "LRN" + bottom: "conv2" + top: "norm2" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "pool2" + type: "Pooling" + bottom: "norm2" + top: "pool2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "conv3" + type: "Convolution" + bottom: "pool2" + top: "conv3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "relu3" + type: "ReLU" + bottom: "conv3" + top: "conv3" +} +layer { + name: "conv4" + type: "Convolution" + bottom: "conv3" + top: "conv4" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + group: 2 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu4" + type: "ReLU" + bottom: "conv4" + top: "conv4" +} +layer { + name: "conv5" + type: "Convolution" + bottom: "conv4" + top: "conv5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 1 + kernel_size: 3 + group: 2 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu5" + type: "ReLU" + bottom: "conv5" + top: "conv5" +} +layer { + name: "pool5" + type: "Pooling" + bottom: "conv5" + top: "pool5" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "fc6" + type: "InnerProduct" + bottom: "pool5" + top: "fc6" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 4096 + weight_filler { + type: "gaussian" + std: 0.005 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu6" + type: "ReLU" + bottom: "fc6" + top: "fc6" +} +layer { + name: "drop6" + type: "Dropout" + bottom: "fc6" + top: "fc6" + dropout_param { + dropout_ratio: 0.5 + } +} +layer { + name: "fc7" + type: "InnerProduct" + bottom: "fc6" + top: "fc7" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 4096 + weight_filler { + type: "gaussian" + std: 0.005 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu7" + type: "ReLU" + bottom: "fc7" + top: "fc7" +} +layer { + name: "drop7" + type: "Dropout" + bottom: "fc7" + top: "fc7" + dropout_param { + dropout_ratio: 0.5 + } +} +layer { + name: "fc8" + type: "InnerProduct" + bottom: "fc7" + top: "fc8" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss" + type: "SoftmaxWithLoss" + bottom: "fc8" + bottom: "label" + top: "loss" +} +layer { + name: "loss3/top-1" + type: "Accuracy" + bottom: "fc8" + bottom: "label" + top: "loss3/top-1" + include { + phase: TEST + } +} +layer { + name: "loss3/top-5" + type: "Accuracy" + bottom: "fc8" + bottom: "label" + top: "loss3/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} diff --git a/models/intel_optimized_models/alexnet/skx/train_val_dummydata.prototxt b/models/intel_optimized_models/alexnet/skx/train_val_dummydata.prototxt new file mode 100644 index 000000000..bc064140e --- /dev/null +++ b/models/intel_optimized_models/alexnet/skx/train_val_dummydata.prototxt @@ -0,0 +1,394 @@ +name: "AlexNet" +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 1024 dim: 3 dim: 224 dim: 224 } + shape: { dim: 1024 dim: 1 dim: 1 dim: 1 } + } +} +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 512 dim: 3 dim: 224 dim: 224 } + shape: { dim: 512 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "conv1" + type: "Convolution" + bottom: "data" + top: "conv1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + kernel_size: 11 + stride: 4 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "relu1" + type: "ReLU" + bottom: "conv1" + top: "conv1" +} +layer { + name: "norm1" + type: "LRN" + bottom: "conv1" + top: "norm1" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "pool1" + type: "Pooling" + bottom: "norm1" + top: "pool1" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "conv2" + type: "Convolution" + bottom: "pool1" + top: "conv2" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 2 + kernel_size: 5 + group: 2 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu2" + type: "ReLU" + bottom: "conv2" + top: "conv2" +} +layer { + name: "norm2" + type: "LRN" + bottom: "conv2" + top: "norm2" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "pool2" + type: "Pooling" + bottom: "norm2" + top: "pool2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "conv3" + type: "Convolution" + bottom: "pool2" + top: "conv3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "relu3" + type: "ReLU" + bottom: "conv3" + top: "conv3" +} +layer { + name: "conv4" + type: "Convolution" + bottom: "conv3" + top: "conv4" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + group: 2 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu4" + type: "ReLU" + bottom: "conv4" + top: "conv4" +} +layer { + name: "conv5" + type: "Convolution" + bottom: "conv4" + top: "conv5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 1 + kernel_size: 3 + group: 2 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu5" + type: "ReLU" + bottom: "conv5" + top: "conv5" +} +layer { + name: "pool5" + type: "Pooling" + bottom: "conv5" + top: "pool5" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "fc6" + type: "InnerProduct" + bottom: "pool5" + top: "fc6" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 4096 + weight_filler { + type: "gaussian" + std: 0.005 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu6" + type: "ReLU" + bottom: "fc6" + top: "fc6" +} +layer { + name: "drop6" + type: "Dropout" + bottom: "fc6" + top: "fc6" + dropout_param { + dropout_ratio: 0.5 + } +} +layer { + name: "fc7" + type: "InnerProduct" + bottom: "fc6" + top: "fc7" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 4096 + weight_filler { + type: "gaussian" + std: 0.005 + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "relu7" + type: "ReLU" + bottom: "fc7" + top: "fc7" +} +layer { + name: "drop7" + type: "Dropout" + bottom: "fc7" + top: "fc7" + dropout_param { + dropout_ratio: 0.5 + } +} +layer { + name: "fc8" + type: "InnerProduct" + bottom: "fc7" + top: "fc8" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "gaussian" + std: 0.01 + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss" + type: "SoftmaxWithLoss" + bottom: "fc8" + bottom: "label" + top: "loss" +} +layer { + name: "loss3/top-1" + type: "Accuracy" + bottom: "fc8" + bottom: "label" + top: "loss3/top-1" + include { + phase: TEST + } +} +layer { + name: "loss3/top-5" + type: "Accuracy" + bottom: "fc8" + bottom: "label" + top: "loss3/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} diff --git a/models/intel_optimized_models/googlenet/bdw/train_val_dummydata.prototxt b/models/intel_optimized_models/googlenet/bdw/train_val_dummydata.prototxt new file mode 100644 index 000000000..bf411dfe7 --- /dev/null +++ b/models/intel_optimized_models/googlenet/bdw/train_val_dummydata.prototxt @@ -0,0 +1,2427 @@ +name: "GoogleNet" +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 64 dim: 3 dim: 224 dim: 224 } + shape: { dim: 64 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 32 dim: 3 dim: 224 dim: 224 } + shape: { dim: 32 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "conv1/7x7_s2" + type: "Convolution" + bottom: "data" + top: "conv1/7x7_s2" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "conv1/relu_7x7" + type: "ReLU" + bottom: "conv1/7x7_s2" + top: "conv1/7x7_s2" +} +layer { + name: "pool1/3x3_s2" + type: "Pooling" + bottom: "conv1/7x7_s2" + top: "pool1/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "pool1/norm1" + type: "LRN" + bottom: "pool1/3x3_s2" + top: "pool1/norm1" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "conv2/3x3_reduce" + type: "Convolution" + bottom: "pool1/norm1" + top: "conv2/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "conv2/relu_3x3_reduce" + type: "ReLU" + bottom: "conv2/3x3_reduce" + top: "conv2/3x3_reduce" +} +layer { + name: "conv2/3x3" + type: "Convolution" + bottom: "conv2/3x3_reduce" + top: "conv2/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "conv2/relu_3x3" + type: "ReLU" + bottom: "conv2/3x3" + top: "conv2/3x3" +} +layer { + name: "conv2/norm2" + type: "LRN" + bottom: "conv2/3x3" + top: "conv2/norm2" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "pool2/3x3_s2" + type: "Pooling" + bottom: "conv2/norm2" + top: "pool2/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "inception_3a/1x1" + type: "Convolution" + bottom: "pool2/3x3_s2" + top: "inception_3a/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_1x1" + type: "ReLU" + bottom: "inception_3a/1x1" + top: "inception_3a/1x1" +} +layer { + name: "inception_3a/3x3_reduce" + type: "Convolution" + bottom: "pool2/3x3_s2" + top: "inception_3a/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_3a/3x3_reduce" + top: "inception_3a/3x3_reduce" +} +layer { + name: "inception_3a/3x3" + type: "Convolution" + bottom: "inception_3a/3x3_reduce" + top: "inception_3a/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_3x3" + type: "ReLU" + bottom: "inception_3a/3x3" + top: "inception_3a/3x3" +} +layer { + name: "inception_3a/5x5_reduce" + type: "Convolution" + bottom: "pool2/3x3_s2" + top: "inception_3a/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 16 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_3a/5x5_reduce" + top: "inception_3a/5x5_reduce" +} +layer { + name: "inception_3a/5x5" + type: "Convolution" + bottom: "inception_3a/5x5_reduce" + top: "inception_3a/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_5x5" + type: "ReLU" + bottom: "inception_3a/5x5" + top: "inception_3a/5x5" +} +layer { + name: "inception_3a/pool" + type: "Pooling" + bottom: "pool2/3x3_s2" + top: "inception_3a/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_3a/pool_proj" + type: "Convolution" + bottom: "inception_3a/pool" + top: "inception_3a/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_pool_proj" + type: "ReLU" + bottom: "inception_3a/pool_proj" + top: "inception_3a/pool_proj" +} +layer { + name: "inception_3a/output" + type: "Concat" + bottom: "inception_3a/1x1" + bottom: "inception_3a/3x3" + bottom: "inception_3a/5x5" + bottom: "inception_3a/pool_proj" + top: "inception_3a/output" +} +layer { + name: "inception_3b/1x1" + type: "Convolution" + bottom: "inception_3a/output" + top: "inception_3b/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_1x1" + type: "ReLU" + bottom: "inception_3b/1x1" + top: "inception_3b/1x1" +} +layer { + name: "inception_3b/3x3_reduce" + type: "Convolution" + bottom: "inception_3a/output" + top: "inception_3b/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_3b/3x3_reduce" + top: "inception_3b/3x3_reduce" +} +layer { + name: "inception_3b/3x3" + type: "Convolution" + bottom: "inception_3b/3x3_reduce" + top: "inception_3b/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_3x3" + type: "ReLU" + bottom: "inception_3b/3x3" + top: "inception_3b/3x3" +} +layer { + name: "inception_3b/5x5_reduce" + type: "Convolution" + bottom: "inception_3a/output" + top: "inception_3b/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_3b/5x5_reduce" + top: "inception_3b/5x5_reduce" +} +layer { + name: "inception_3b/5x5" + type: "Convolution" + bottom: "inception_3b/5x5_reduce" + top: "inception_3b/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_5x5" + type: "ReLU" + bottom: "inception_3b/5x5" + top: "inception_3b/5x5" +} +layer { + name: "inception_3b/pool" + type: "Pooling" + bottom: "inception_3a/output" + top: "inception_3b/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_3b/pool_proj" + type: "Convolution" + bottom: "inception_3b/pool" + top: "inception_3b/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_pool_proj" + type: "ReLU" + bottom: "inception_3b/pool_proj" + top: "inception_3b/pool_proj" +} +layer { + name: "inception_3b/output" + type: "Concat" + bottom: "inception_3b/1x1" + bottom: "inception_3b/3x3" + bottom: "inception_3b/5x5" + bottom: "inception_3b/pool_proj" + top: "inception_3b/output" +} +layer { + name: "pool3/3x3_s2" + type: "Pooling" + bottom: "inception_3b/output" + top: "pool3/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "inception_4a/1x1" + type: "Convolution" + bottom: "pool3/3x3_s2" + top: "inception_4a/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_1x1" + type: "ReLU" + bottom: "inception_4a/1x1" + top: "inception_4a/1x1" +} +layer { + name: "inception_4a/3x3_reduce" + type: "Convolution" + bottom: "pool3/3x3_s2" + top: "inception_4a/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4a/3x3_reduce" + top: "inception_4a/3x3_reduce" +} +layer { + name: "inception_4a/3x3" + type: "Convolution" + bottom: "inception_4a/3x3_reduce" + top: "inception_4a/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 208 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_3x3" + type: "ReLU" + bottom: "inception_4a/3x3" + top: "inception_4a/3x3" +} +layer { + name: "inception_4a/5x5_reduce" + type: "Convolution" + bottom: "pool3/3x3_s2" + top: "inception_4a/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 16 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4a/5x5_reduce" + top: "inception_4a/5x5_reduce" +} +layer { + name: "inception_4a/5x5" + type: "Convolution" + bottom: "inception_4a/5x5_reduce" + top: "inception_4a/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 48 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_5x5" + type: "ReLU" + bottom: "inception_4a/5x5" + top: "inception_4a/5x5" +} +layer { + name: "inception_4a/pool" + type: "Pooling" + bottom: "pool3/3x3_s2" + top: "inception_4a/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4a/pool_proj" + type: "Convolution" + bottom: "inception_4a/pool" + top: "inception_4a/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_pool_proj" + type: "ReLU" + bottom: "inception_4a/pool_proj" + top: "inception_4a/pool_proj" +} +layer { + name: "inception_4a/output" + type: "Concat" + bottom: "inception_4a/1x1" + bottom: "inception_4a/3x3" + bottom: "inception_4a/5x5" + bottom: "inception_4a/pool_proj" + top: "inception_4a/output" +} +layer { + name: "loss1/ave_pool" + type: "Pooling" + bottom: "inception_4a/output" + top: "loss1/ave_pool" + pooling_param { + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + name: "loss1/conv" + type: "Convolution" + bottom: "loss1/ave_pool" + top: "loss1/conv" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss1/relu_conv" + type: "ReLU" + bottom: "loss1/conv" + top: "loss1/conv" +} +layer { + name: "loss1/fc" + type: "InnerProduct" + bottom: "loss1/conv" + top: "loss1/fc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss1/relu_fc" + type: "ReLU" + bottom: "loss1/fc" + top: "loss1/fc" +} +layer { + name: "loss1/drop_fc" + type: "Dropout" + bottom: "loss1/fc" + top: "loss1/fc" + dropout_param { + dropout_ratio: 0.7 + } +} +layer { + name: "loss1/classifier" + type: "InnerProduct" + bottom: "loss1/fc" + top: "loss1/classifier" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss1/loss" + type: "SoftmaxWithLoss" + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/loss1" + loss_weight: 0.3 +} +layer { + name: "loss1/top-1" + type: "Accuracy" + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/top-1" + include { + phase: TEST + } +} +layer { + name: "loss1/top-5" + type: "Accuracy" + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} +layer { + name: "inception_4b/1x1" + type: "Convolution" + bottom: "inception_4a/output" + top: "inception_4b/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 160 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_1x1" + type: "ReLU" + bottom: "inception_4b/1x1" + top: "inception_4b/1x1" +} +layer { + name: "inception_4b/3x3_reduce" + type: "Convolution" + bottom: "inception_4a/output" + top: "inception_4b/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 112 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4b/3x3_reduce" + top: "inception_4b/3x3_reduce" +} +layer { + name: "inception_4b/3x3" + type: "Convolution" + bottom: "inception_4b/3x3_reduce" + top: "inception_4b/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 224 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_3x3" + type: "ReLU" + bottom: "inception_4b/3x3" + top: "inception_4b/3x3" +} +layer { + name: "inception_4b/5x5_reduce" + type: "Convolution" + bottom: "inception_4a/output" + top: "inception_4b/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 24 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4b/5x5_reduce" + top: "inception_4b/5x5_reduce" +} +layer { + name: "inception_4b/5x5" + type: "Convolution" + bottom: "inception_4b/5x5_reduce" + top: "inception_4b/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_5x5" + type: "ReLU" + bottom: "inception_4b/5x5" + top: "inception_4b/5x5" +} +layer { + name: "inception_4b/pool" + type: "Pooling" + bottom: "inception_4a/output" + top: "inception_4b/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4b/pool_proj" + type: "Convolution" + bottom: "inception_4b/pool" + top: "inception_4b/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_pool_proj" + type: "ReLU" + bottom: "inception_4b/pool_proj" + top: "inception_4b/pool_proj" +} +layer { + name: "inception_4b/output" + type: "Concat" + bottom: "inception_4b/1x1" + bottom: "inception_4b/3x3" + bottom: "inception_4b/5x5" + bottom: "inception_4b/pool_proj" + top: "inception_4b/output" +} +layer { + name: "inception_4c/1x1" + type: "Convolution" + bottom: "inception_4b/output" + top: "inception_4c/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_1x1" + type: "ReLU" + bottom: "inception_4c/1x1" + top: "inception_4c/1x1" +} +layer { + name: "inception_4c/3x3_reduce" + type: "Convolution" + bottom: "inception_4b/output" + top: "inception_4c/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4c/3x3_reduce" + top: "inception_4c/3x3_reduce" +} +layer { + name: "inception_4c/3x3" + type: "Convolution" + bottom: "inception_4c/3x3_reduce" + top: "inception_4c/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_3x3" + type: "ReLU" + bottom: "inception_4c/3x3" + top: "inception_4c/3x3" +} +layer { + name: "inception_4c/5x5_reduce" + type: "Convolution" + bottom: "inception_4b/output" + top: "inception_4c/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 24 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4c/5x5_reduce" + top: "inception_4c/5x5_reduce" +} +layer { + name: "inception_4c/5x5" + type: "Convolution" + bottom: "inception_4c/5x5_reduce" + top: "inception_4c/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_5x5" + type: "ReLU" + bottom: "inception_4c/5x5" + top: "inception_4c/5x5" +} +layer { + name: "inception_4c/pool" + type: "Pooling" + bottom: "inception_4b/output" + top: "inception_4c/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4c/pool_proj" + type: "Convolution" + bottom: "inception_4c/pool" + top: "inception_4c/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_pool_proj" + type: "ReLU" + bottom: "inception_4c/pool_proj" + top: "inception_4c/pool_proj" +} +layer { + name: "inception_4c/output" + type: "Concat" + bottom: "inception_4c/1x1" + bottom: "inception_4c/3x3" + bottom: "inception_4c/5x5" + bottom: "inception_4c/pool_proj" + top: "inception_4c/output" +} +layer { + name: "inception_4d/1x1" + type: "Convolution" + bottom: "inception_4c/output" + top: "inception_4d/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 112 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_1x1" + type: "ReLU" + bottom: "inception_4d/1x1" + top: "inception_4d/1x1" +} +layer { + name: "inception_4d/3x3_reduce" + type: "Convolution" + bottom: "inception_4c/output" + top: "inception_4d/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 144 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4d/3x3_reduce" + top: "inception_4d/3x3_reduce" +} +layer { + name: "inception_4d/3x3" + type: "Convolution" + bottom: "inception_4d/3x3_reduce" + top: "inception_4d/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 288 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_3x3" + type: "ReLU" + bottom: "inception_4d/3x3" + top: "inception_4d/3x3" +} +layer { + name: "inception_4d/5x5_reduce" + type: "Convolution" + bottom: "inception_4c/output" + top: "inception_4d/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4d/5x5_reduce" + top: "inception_4d/5x5_reduce" +} +layer { + name: "inception_4d/5x5" + type: "Convolution" + bottom: "inception_4d/5x5_reduce" + top: "inception_4d/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_5x5" + type: "ReLU" + bottom: "inception_4d/5x5" + top: "inception_4d/5x5" +} +layer { + name: "inception_4d/pool" + type: "Pooling" + bottom: "inception_4c/output" + top: "inception_4d/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4d/pool_proj" + type: "Convolution" + bottom: "inception_4d/pool" + top: "inception_4d/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_pool_proj" + type: "ReLU" + bottom: "inception_4d/pool_proj" + top: "inception_4d/pool_proj" +} +layer { + name: "inception_4d/output" + type: "Concat" + bottom: "inception_4d/1x1" + bottom: "inception_4d/3x3" + bottom: "inception_4d/5x5" + bottom: "inception_4d/pool_proj" + top: "inception_4d/output" +} +layer { + name: "loss2/ave_pool" + type: "Pooling" + bottom: "inception_4d/output" + top: "loss2/ave_pool" + pooling_param { + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + name: "loss2/conv" + type: "Convolution" + bottom: "loss2/ave_pool" + top: "loss2/conv" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss2/relu_conv" + type: "ReLU" + bottom: "loss2/conv" + top: "loss2/conv" +} +layer { + name: "loss2/fc" + type: "InnerProduct" + bottom: "loss2/conv" + top: "loss2/fc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss2/relu_fc" + type: "ReLU" + bottom: "loss2/fc" + top: "loss2/fc" +} +layer { + name: "loss2/drop_fc" + type: "Dropout" + bottom: "loss2/fc" + top: "loss2/fc" + dropout_param { + dropout_ratio: 0.7 + } +} +layer { + name: "loss2/classifier" + type: "InnerProduct" + bottom: "loss2/fc" + top: "loss2/classifier" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss2/loss" + type: "SoftmaxWithLoss" + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/loss1" + loss_weight: 0.3 +} +layer { + name: "loss2/top-1" + type: "Accuracy" + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/top-1" + include { + phase: TEST + } +} +layer { + name: "loss2/top-5" + type: "Accuracy" + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} +layer { + name: "inception_4e/1x1" + type: "Convolution" + bottom: "inception_4d/output" + top: "inception_4e/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_1x1" + type: "ReLU" + bottom: "inception_4e/1x1" + top: "inception_4e/1x1" +} +layer { + name: "inception_4e/3x3_reduce" + type: "Convolution" + bottom: "inception_4d/output" + top: "inception_4e/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 160 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4e/3x3_reduce" + top: "inception_4e/3x3_reduce" +} +layer { + name: "inception_4e/3x3" + type: "Convolution" + bottom: "inception_4e/3x3_reduce" + top: "inception_4e/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 320 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_3x3" + type: "ReLU" + bottom: "inception_4e/3x3" + top: "inception_4e/3x3" +} +layer { + name: "inception_4e/5x5_reduce" + type: "Convolution" + bottom: "inception_4d/output" + top: "inception_4e/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4e/5x5_reduce" + top: "inception_4e/5x5_reduce" +} +layer { + name: "inception_4e/5x5" + type: "Convolution" + bottom: "inception_4e/5x5_reduce" + top: "inception_4e/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_5x5" + type: "ReLU" + bottom: "inception_4e/5x5" + top: "inception_4e/5x5" +} +layer { + name: "inception_4e/pool" + type: "Pooling" + bottom: "inception_4d/output" + top: "inception_4e/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4e/pool_proj" + type: "Convolution" + bottom: "inception_4e/pool" + top: "inception_4e/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_pool_proj" + type: "ReLU" + bottom: "inception_4e/pool_proj" + top: "inception_4e/pool_proj" +} +layer { + name: "inception_4e/output" + type: "Concat" + bottom: "inception_4e/1x1" + bottom: "inception_4e/3x3" + bottom: "inception_4e/5x5" + bottom: "inception_4e/pool_proj" + top: "inception_4e/output" +} +layer { + name: "pool4/3x3_s2" + type: "Pooling" + bottom: "inception_4e/output" + top: "pool4/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "inception_5a/1x1" + type: "Convolution" + bottom: "pool4/3x3_s2" + top: "inception_5a/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_1x1" + type: "ReLU" + bottom: "inception_5a/1x1" + top: "inception_5a/1x1" +} +layer { + name: "inception_5a/3x3_reduce" + type: "Convolution" + bottom: "pool4/3x3_s2" + top: "inception_5a/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 160 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_5a/3x3_reduce" + top: "inception_5a/3x3_reduce" +} +layer { + name: "inception_5a/3x3" + type: "Convolution" + bottom: "inception_5a/3x3_reduce" + top: "inception_5a/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 320 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_3x3" + type: "ReLU" + bottom: "inception_5a/3x3" + top: "inception_5a/3x3" +} +layer { + name: "inception_5a/5x5_reduce" + type: "Convolution" + bottom: "pool4/3x3_s2" + top: "inception_5a/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_5a/5x5_reduce" + top: "inception_5a/5x5_reduce" +} +layer { + name: "inception_5a/5x5" + type: "Convolution" + bottom: "inception_5a/5x5_reduce" + top: "inception_5a/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_5x5" + type: "ReLU" + bottom: "inception_5a/5x5" + top: "inception_5a/5x5" +} +layer { + name: "inception_5a/pool" + type: "Pooling" + bottom: "pool4/3x3_s2" + top: "inception_5a/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_5a/pool_proj" + type: "Convolution" + bottom: "inception_5a/pool" + top: "inception_5a/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_pool_proj" + type: "ReLU" + bottom: "inception_5a/pool_proj" + top: "inception_5a/pool_proj" +} +layer { + name: "inception_5a/output" + type: "Concat" + bottom: "inception_5a/1x1" + bottom: "inception_5a/3x3" + bottom: "inception_5a/5x5" + bottom: "inception_5a/pool_proj" + top: "inception_5a/output" +} +layer { + name: "inception_5b/1x1" + type: "Convolution" + bottom: "inception_5a/output" + top: "inception_5b/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_1x1" + type: "ReLU" + bottom: "inception_5b/1x1" + top: "inception_5b/1x1" +} +layer { + name: "inception_5b/3x3_reduce" + type: "Convolution" + bottom: "inception_5a/output" + top: "inception_5b/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_5b/3x3_reduce" + top: "inception_5b/3x3_reduce" +} +layer { + name: "inception_5b/3x3" + type: "Convolution" + bottom: "inception_5b/3x3_reduce" + top: "inception_5b/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_3x3" + type: "ReLU" + bottom: "inception_5b/3x3" + top: "inception_5b/3x3" +} +layer { + name: "inception_5b/5x5_reduce" + type: "Convolution" + bottom: "inception_5a/output" + top: "inception_5b/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 48 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_5b/5x5_reduce" + top: "inception_5b/5x5_reduce" +} +layer { + name: "inception_5b/5x5" + type: "Convolution" + bottom: "inception_5b/5x5_reduce" + top: "inception_5b/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_5x5" + type: "ReLU" + bottom: "inception_5b/5x5" + top: "inception_5b/5x5" +} +layer { + name: "inception_5b/pool" + type: "Pooling" + bottom: "inception_5a/output" + top: "inception_5b/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_5b/pool_proj" + type: "Convolution" + bottom: "inception_5b/pool" + top: "inception_5b/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_pool_proj" + type: "ReLU" + bottom: "inception_5b/pool_proj" + top: "inception_5b/pool_proj" +} +layer { + name: "inception_5b/output" + type: "Concat" + bottom: "inception_5b/1x1" + bottom: "inception_5b/3x3" + bottom: "inception_5b/5x5" + bottom: "inception_5b/pool_proj" + top: "inception_5b/output" +} +layer { + name: "pool5/7x7_s1" + type: "Pooling" + bottom: "inception_5b/output" + top: "pool5/7x7_s1" + pooling_param { + pool: AVE + kernel_size: 7 + stride: 1 + } +} +layer { + name: "pool5/drop_7x7_s1" + type: "Dropout" + bottom: "pool5/7x7_s1" + top: "pool5/7x7_s1" + dropout_param { + dropout_ratio: 0.4 + } +} +layer { + name: "loss3/classifier" + type: "InnerProduct" + bottom: "pool5/7x7_s1" + top: "loss3/classifier" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss3/loss3" + type: "SoftmaxWithLoss" + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/loss3" + loss_weight: 1 +} +layer { + name: "loss3/top-1" + type: "Accuracy" + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/top-1" + include { + phase: TEST + } +} +layer { + name: "loss3/top-5" + type: "Accuracy" + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} diff --git a/models/intel_optimized_models/googlenet/knl/train_val_dummydata.prototxt b/models/intel_optimized_models/googlenet/knl/train_val_dummydata.prototxt new file mode 100644 index 000000000..602416008 --- /dev/null +++ b/models/intel_optimized_models/googlenet/knl/train_val_dummydata.prototxt @@ -0,0 +1,2427 @@ +name: "GoogleNet" +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 128 dim: 3 dim: 224 dim: 224 } + shape: { dim: 128 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 128 dim: 3 dim: 224 dim: 224 } + shape: { dim: 128 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "conv1/7x7_s2" + type: "Convolution" + bottom: "data" + top: "conv1/7x7_s2" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "conv1/relu_7x7" + type: "ReLU" + bottom: "conv1/7x7_s2" + top: "conv1/7x7_s2" +} +layer { + name: "pool1/3x3_s2" + type: "Pooling" + bottom: "conv1/7x7_s2" + top: "pool1/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "pool1/norm1" + type: "LRN" + bottom: "pool1/3x3_s2" + top: "pool1/norm1" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "conv2/3x3_reduce" + type: "Convolution" + bottom: "pool1/norm1" + top: "conv2/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "conv2/relu_3x3_reduce" + type: "ReLU" + bottom: "conv2/3x3_reduce" + top: "conv2/3x3_reduce" +} +layer { + name: "conv2/3x3" + type: "Convolution" + bottom: "conv2/3x3_reduce" + top: "conv2/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "conv2/relu_3x3" + type: "ReLU" + bottom: "conv2/3x3" + top: "conv2/3x3" +} +layer { + name: "conv2/norm2" + type: "LRN" + bottom: "conv2/3x3" + top: "conv2/norm2" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "pool2/3x3_s2" + type: "Pooling" + bottom: "conv2/norm2" + top: "pool2/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "inception_3a/1x1" + type: "Convolution" + bottom: "pool2/3x3_s2" + top: "inception_3a/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_1x1" + type: "ReLU" + bottom: "inception_3a/1x1" + top: "inception_3a/1x1" +} +layer { + name: "inception_3a/3x3_reduce" + type: "Convolution" + bottom: "pool2/3x3_s2" + top: "inception_3a/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_3a/3x3_reduce" + top: "inception_3a/3x3_reduce" +} +layer { + name: "inception_3a/3x3" + type: "Convolution" + bottom: "inception_3a/3x3_reduce" + top: "inception_3a/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_3x3" + type: "ReLU" + bottom: "inception_3a/3x3" + top: "inception_3a/3x3" +} +layer { + name: "inception_3a/5x5_reduce" + type: "Convolution" + bottom: "pool2/3x3_s2" + top: "inception_3a/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 16 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_3a/5x5_reduce" + top: "inception_3a/5x5_reduce" +} +layer { + name: "inception_3a/5x5" + type: "Convolution" + bottom: "inception_3a/5x5_reduce" + top: "inception_3a/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_5x5" + type: "ReLU" + bottom: "inception_3a/5x5" + top: "inception_3a/5x5" +} +layer { + name: "inception_3a/pool" + type: "Pooling" + bottom: "pool2/3x3_s2" + top: "inception_3a/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_3a/pool_proj" + type: "Convolution" + bottom: "inception_3a/pool" + top: "inception_3a/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_pool_proj" + type: "ReLU" + bottom: "inception_3a/pool_proj" + top: "inception_3a/pool_proj" +} +layer { + name: "inception_3a/output" + type: "Concat" + bottom: "inception_3a/1x1" + bottom: "inception_3a/3x3" + bottom: "inception_3a/5x5" + bottom: "inception_3a/pool_proj" + top: "inception_3a/output" +} +layer { + name: "inception_3b/1x1" + type: "Convolution" + bottom: "inception_3a/output" + top: "inception_3b/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_1x1" + type: "ReLU" + bottom: "inception_3b/1x1" + top: "inception_3b/1x1" +} +layer { + name: "inception_3b/3x3_reduce" + type: "Convolution" + bottom: "inception_3a/output" + top: "inception_3b/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_3b/3x3_reduce" + top: "inception_3b/3x3_reduce" +} +layer { + name: "inception_3b/3x3" + type: "Convolution" + bottom: "inception_3b/3x3_reduce" + top: "inception_3b/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_3x3" + type: "ReLU" + bottom: "inception_3b/3x3" + top: "inception_3b/3x3" +} +layer { + name: "inception_3b/5x5_reduce" + type: "Convolution" + bottom: "inception_3a/output" + top: "inception_3b/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_3b/5x5_reduce" + top: "inception_3b/5x5_reduce" +} +layer { + name: "inception_3b/5x5" + type: "Convolution" + bottom: "inception_3b/5x5_reduce" + top: "inception_3b/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_5x5" + type: "ReLU" + bottom: "inception_3b/5x5" + top: "inception_3b/5x5" +} +layer { + name: "inception_3b/pool" + type: "Pooling" + bottom: "inception_3a/output" + top: "inception_3b/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_3b/pool_proj" + type: "Convolution" + bottom: "inception_3b/pool" + top: "inception_3b/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_pool_proj" + type: "ReLU" + bottom: "inception_3b/pool_proj" + top: "inception_3b/pool_proj" +} +layer { + name: "inception_3b/output" + type: "Concat" + bottom: "inception_3b/1x1" + bottom: "inception_3b/3x3" + bottom: "inception_3b/5x5" + bottom: "inception_3b/pool_proj" + top: "inception_3b/output" +} +layer { + name: "pool3/3x3_s2" + type: "Pooling" + bottom: "inception_3b/output" + top: "pool3/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "inception_4a/1x1" + type: "Convolution" + bottom: "pool3/3x3_s2" + top: "inception_4a/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_1x1" + type: "ReLU" + bottom: "inception_4a/1x1" + top: "inception_4a/1x1" +} +layer { + name: "inception_4a/3x3_reduce" + type: "Convolution" + bottom: "pool3/3x3_s2" + top: "inception_4a/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4a/3x3_reduce" + top: "inception_4a/3x3_reduce" +} +layer { + name: "inception_4a/3x3" + type: "Convolution" + bottom: "inception_4a/3x3_reduce" + top: "inception_4a/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 208 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_3x3" + type: "ReLU" + bottom: "inception_4a/3x3" + top: "inception_4a/3x3" +} +layer { + name: "inception_4a/5x5_reduce" + type: "Convolution" + bottom: "pool3/3x3_s2" + top: "inception_4a/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 16 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4a/5x5_reduce" + top: "inception_4a/5x5_reduce" +} +layer { + name: "inception_4a/5x5" + type: "Convolution" + bottom: "inception_4a/5x5_reduce" + top: "inception_4a/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 48 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_5x5" + type: "ReLU" + bottom: "inception_4a/5x5" + top: "inception_4a/5x5" +} +layer { + name: "inception_4a/pool" + type: "Pooling" + bottom: "pool3/3x3_s2" + top: "inception_4a/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4a/pool_proj" + type: "Convolution" + bottom: "inception_4a/pool" + top: "inception_4a/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_pool_proj" + type: "ReLU" + bottom: "inception_4a/pool_proj" + top: "inception_4a/pool_proj" +} +layer { + name: "inception_4a/output" + type: "Concat" + bottom: "inception_4a/1x1" + bottom: "inception_4a/3x3" + bottom: "inception_4a/5x5" + bottom: "inception_4a/pool_proj" + top: "inception_4a/output" +} +layer { + name: "loss1/ave_pool" + type: "Pooling" + bottom: "inception_4a/output" + top: "loss1/ave_pool" + pooling_param { + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + name: "loss1/conv" + type: "Convolution" + bottom: "loss1/ave_pool" + top: "loss1/conv" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss1/relu_conv" + type: "ReLU" + bottom: "loss1/conv" + top: "loss1/conv" +} +layer { + name: "loss1/fc" + type: "InnerProduct" + bottom: "loss1/conv" + top: "loss1/fc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss1/relu_fc" + type: "ReLU" + bottom: "loss1/fc" + top: "loss1/fc" +} +layer { + name: "loss1/drop_fc" + type: "Dropout" + bottom: "loss1/fc" + top: "loss1/fc" + dropout_param { + dropout_ratio: 0.7 + } +} +layer { + name: "loss1/classifier" + type: "InnerProduct" + bottom: "loss1/fc" + top: "loss1/classifier" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss1/loss" + type: "SoftmaxWithLoss" + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/loss1" + loss_weight: 0.3 +} +layer { + name: "loss1/top-1" + type: "Accuracy" + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/top-1" + include { + phase: TEST + } +} +layer { + name: "loss1/top-5" + type: "Accuracy" + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} +layer { + name: "inception_4b/1x1" + type: "Convolution" + bottom: "inception_4a/output" + top: "inception_4b/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 160 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_1x1" + type: "ReLU" + bottom: "inception_4b/1x1" + top: "inception_4b/1x1" +} +layer { + name: "inception_4b/3x3_reduce" + type: "Convolution" + bottom: "inception_4a/output" + top: "inception_4b/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 112 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4b/3x3_reduce" + top: "inception_4b/3x3_reduce" +} +layer { + name: "inception_4b/3x3" + type: "Convolution" + bottom: "inception_4b/3x3_reduce" + top: "inception_4b/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 224 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_3x3" + type: "ReLU" + bottom: "inception_4b/3x3" + top: "inception_4b/3x3" +} +layer { + name: "inception_4b/5x5_reduce" + type: "Convolution" + bottom: "inception_4a/output" + top: "inception_4b/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 24 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4b/5x5_reduce" + top: "inception_4b/5x5_reduce" +} +layer { + name: "inception_4b/5x5" + type: "Convolution" + bottom: "inception_4b/5x5_reduce" + top: "inception_4b/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_5x5" + type: "ReLU" + bottom: "inception_4b/5x5" + top: "inception_4b/5x5" +} +layer { + name: "inception_4b/pool" + type: "Pooling" + bottom: "inception_4a/output" + top: "inception_4b/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4b/pool_proj" + type: "Convolution" + bottom: "inception_4b/pool" + top: "inception_4b/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_pool_proj" + type: "ReLU" + bottom: "inception_4b/pool_proj" + top: "inception_4b/pool_proj" +} +layer { + name: "inception_4b/output" + type: "Concat" + bottom: "inception_4b/1x1" + bottom: "inception_4b/3x3" + bottom: "inception_4b/5x5" + bottom: "inception_4b/pool_proj" + top: "inception_4b/output" +} +layer { + name: "inception_4c/1x1" + type: "Convolution" + bottom: "inception_4b/output" + top: "inception_4c/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_1x1" + type: "ReLU" + bottom: "inception_4c/1x1" + top: "inception_4c/1x1" +} +layer { + name: "inception_4c/3x3_reduce" + type: "Convolution" + bottom: "inception_4b/output" + top: "inception_4c/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4c/3x3_reduce" + top: "inception_4c/3x3_reduce" +} +layer { + name: "inception_4c/3x3" + type: "Convolution" + bottom: "inception_4c/3x3_reduce" + top: "inception_4c/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_3x3" + type: "ReLU" + bottom: "inception_4c/3x3" + top: "inception_4c/3x3" +} +layer { + name: "inception_4c/5x5_reduce" + type: "Convolution" + bottom: "inception_4b/output" + top: "inception_4c/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 24 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4c/5x5_reduce" + top: "inception_4c/5x5_reduce" +} +layer { + name: "inception_4c/5x5" + type: "Convolution" + bottom: "inception_4c/5x5_reduce" + top: "inception_4c/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_5x5" + type: "ReLU" + bottom: "inception_4c/5x5" + top: "inception_4c/5x5" +} +layer { + name: "inception_4c/pool" + type: "Pooling" + bottom: "inception_4b/output" + top: "inception_4c/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4c/pool_proj" + type: "Convolution" + bottom: "inception_4c/pool" + top: "inception_4c/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_pool_proj" + type: "ReLU" + bottom: "inception_4c/pool_proj" + top: "inception_4c/pool_proj" +} +layer { + name: "inception_4c/output" + type: "Concat" + bottom: "inception_4c/1x1" + bottom: "inception_4c/3x3" + bottom: "inception_4c/5x5" + bottom: "inception_4c/pool_proj" + top: "inception_4c/output" +} +layer { + name: "inception_4d/1x1" + type: "Convolution" + bottom: "inception_4c/output" + top: "inception_4d/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 112 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_1x1" + type: "ReLU" + bottom: "inception_4d/1x1" + top: "inception_4d/1x1" +} +layer { + name: "inception_4d/3x3_reduce" + type: "Convolution" + bottom: "inception_4c/output" + top: "inception_4d/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 144 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4d/3x3_reduce" + top: "inception_4d/3x3_reduce" +} +layer { + name: "inception_4d/3x3" + type: "Convolution" + bottom: "inception_4d/3x3_reduce" + top: "inception_4d/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 288 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_3x3" + type: "ReLU" + bottom: "inception_4d/3x3" + top: "inception_4d/3x3" +} +layer { + name: "inception_4d/5x5_reduce" + type: "Convolution" + bottom: "inception_4c/output" + top: "inception_4d/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4d/5x5_reduce" + top: "inception_4d/5x5_reduce" +} +layer { + name: "inception_4d/5x5" + type: "Convolution" + bottom: "inception_4d/5x5_reduce" + top: "inception_4d/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_5x5" + type: "ReLU" + bottom: "inception_4d/5x5" + top: "inception_4d/5x5" +} +layer { + name: "inception_4d/pool" + type: "Pooling" + bottom: "inception_4c/output" + top: "inception_4d/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4d/pool_proj" + type: "Convolution" + bottom: "inception_4d/pool" + top: "inception_4d/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_pool_proj" + type: "ReLU" + bottom: "inception_4d/pool_proj" + top: "inception_4d/pool_proj" +} +layer { + name: "inception_4d/output" + type: "Concat" + bottom: "inception_4d/1x1" + bottom: "inception_4d/3x3" + bottom: "inception_4d/5x5" + bottom: "inception_4d/pool_proj" + top: "inception_4d/output" +} +layer { + name: "loss2/ave_pool" + type: "Pooling" + bottom: "inception_4d/output" + top: "loss2/ave_pool" + pooling_param { + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + name: "loss2/conv" + type: "Convolution" + bottom: "loss2/ave_pool" + top: "loss2/conv" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss2/relu_conv" + type: "ReLU" + bottom: "loss2/conv" + top: "loss2/conv" +} +layer { + name: "loss2/fc" + type: "InnerProduct" + bottom: "loss2/conv" + top: "loss2/fc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss2/relu_fc" + type: "ReLU" + bottom: "loss2/fc" + top: "loss2/fc" +} +layer { + name: "loss2/drop_fc" + type: "Dropout" + bottom: "loss2/fc" + top: "loss2/fc" + dropout_param { + dropout_ratio: 0.7 + } +} +layer { + name: "loss2/classifier" + type: "InnerProduct" + bottom: "loss2/fc" + top: "loss2/classifier" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss2/loss" + type: "SoftmaxWithLoss" + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/loss1" + loss_weight: 0.3 +} +layer { + name: "loss2/top-1" + type: "Accuracy" + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/top-1" + include { + phase: TEST + } +} +layer { + name: "loss2/top-5" + type: "Accuracy" + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} +layer { + name: "inception_4e/1x1" + type: "Convolution" + bottom: "inception_4d/output" + top: "inception_4e/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_1x1" + type: "ReLU" + bottom: "inception_4e/1x1" + top: "inception_4e/1x1" +} +layer { + name: "inception_4e/3x3_reduce" + type: "Convolution" + bottom: "inception_4d/output" + top: "inception_4e/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 160 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4e/3x3_reduce" + top: "inception_4e/3x3_reduce" +} +layer { + name: "inception_4e/3x3" + type: "Convolution" + bottom: "inception_4e/3x3_reduce" + top: "inception_4e/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 320 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_3x3" + type: "ReLU" + bottom: "inception_4e/3x3" + top: "inception_4e/3x3" +} +layer { + name: "inception_4e/5x5_reduce" + type: "Convolution" + bottom: "inception_4d/output" + top: "inception_4e/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4e/5x5_reduce" + top: "inception_4e/5x5_reduce" +} +layer { + name: "inception_4e/5x5" + type: "Convolution" + bottom: "inception_4e/5x5_reduce" + top: "inception_4e/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_5x5" + type: "ReLU" + bottom: "inception_4e/5x5" + top: "inception_4e/5x5" +} +layer { + name: "inception_4e/pool" + type: "Pooling" + bottom: "inception_4d/output" + top: "inception_4e/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4e/pool_proj" + type: "Convolution" + bottom: "inception_4e/pool" + top: "inception_4e/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_pool_proj" + type: "ReLU" + bottom: "inception_4e/pool_proj" + top: "inception_4e/pool_proj" +} +layer { + name: "inception_4e/output" + type: "Concat" + bottom: "inception_4e/1x1" + bottom: "inception_4e/3x3" + bottom: "inception_4e/5x5" + bottom: "inception_4e/pool_proj" + top: "inception_4e/output" +} +layer { + name: "pool4/3x3_s2" + type: "Pooling" + bottom: "inception_4e/output" + top: "pool4/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "inception_5a/1x1" + type: "Convolution" + bottom: "pool4/3x3_s2" + top: "inception_5a/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_1x1" + type: "ReLU" + bottom: "inception_5a/1x1" + top: "inception_5a/1x1" +} +layer { + name: "inception_5a/3x3_reduce" + type: "Convolution" + bottom: "pool4/3x3_s2" + top: "inception_5a/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 160 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_5a/3x3_reduce" + top: "inception_5a/3x3_reduce" +} +layer { + name: "inception_5a/3x3" + type: "Convolution" + bottom: "inception_5a/3x3_reduce" + top: "inception_5a/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 320 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_3x3" + type: "ReLU" + bottom: "inception_5a/3x3" + top: "inception_5a/3x3" +} +layer { + name: "inception_5a/5x5_reduce" + type: "Convolution" + bottom: "pool4/3x3_s2" + top: "inception_5a/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_5a/5x5_reduce" + top: "inception_5a/5x5_reduce" +} +layer { + name: "inception_5a/5x5" + type: "Convolution" + bottom: "inception_5a/5x5_reduce" + top: "inception_5a/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_5x5" + type: "ReLU" + bottom: "inception_5a/5x5" + top: "inception_5a/5x5" +} +layer { + name: "inception_5a/pool" + type: "Pooling" + bottom: "pool4/3x3_s2" + top: "inception_5a/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_5a/pool_proj" + type: "Convolution" + bottom: "inception_5a/pool" + top: "inception_5a/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_pool_proj" + type: "ReLU" + bottom: "inception_5a/pool_proj" + top: "inception_5a/pool_proj" +} +layer { + name: "inception_5a/output" + type: "Concat" + bottom: "inception_5a/1x1" + bottom: "inception_5a/3x3" + bottom: "inception_5a/5x5" + bottom: "inception_5a/pool_proj" + top: "inception_5a/output" +} +layer { + name: "inception_5b/1x1" + type: "Convolution" + bottom: "inception_5a/output" + top: "inception_5b/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_1x1" + type: "ReLU" + bottom: "inception_5b/1x1" + top: "inception_5b/1x1" +} +layer { + name: "inception_5b/3x3_reduce" + type: "Convolution" + bottom: "inception_5a/output" + top: "inception_5b/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_5b/3x3_reduce" + top: "inception_5b/3x3_reduce" +} +layer { + name: "inception_5b/3x3" + type: "Convolution" + bottom: "inception_5b/3x3_reduce" + top: "inception_5b/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_3x3" + type: "ReLU" + bottom: "inception_5b/3x3" + top: "inception_5b/3x3" +} +layer { + name: "inception_5b/5x5_reduce" + type: "Convolution" + bottom: "inception_5a/output" + top: "inception_5b/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 48 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_5b/5x5_reduce" + top: "inception_5b/5x5_reduce" +} +layer { + name: "inception_5b/5x5" + type: "Convolution" + bottom: "inception_5b/5x5_reduce" + top: "inception_5b/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_5x5" + type: "ReLU" + bottom: "inception_5b/5x5" + top: "inception_5b/5x5" +} +layer { + name: "inception_5b/pool" + type: "Pooling" + bottom: "inception_5a/output" + top: "inception_5b/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_5b/pool_proj" + type: "Convolution" + bottom: "inception_5b/pool" + top: "inception_5b/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_pool_proj" + type: "ReLU" + bottom: "inception_5b/pool_proj" + top: "inception_5b/pool_proj" +} +layer { + name: "inception_5b/output" + type: "Concat" + bottom: "inception_5b/1x1" + bottom: "inception_5b/3x3" + bottom: "inception_5b/5x5" + bottom: "inception_5b/pool_proj" + top: "inception_5b/output" +} +layer { + name: "pool5/7x7_s1" + type: "Pooling" + bottom: "inception_5b/output" + top: "pool5/7x7_s1" + pooling_param { + pool: AVE + kernel_size: 7 + stride: 1 + } +} +layer { + name: "pool5/drop_7x7_s1" + type: "Dropout" + bottom: "pool5/7x7_s1" + top: "pool5/7x7_s1" + dropout_param { + dropout_ratio: 0.4 + } +} +layer { + name: "loss3/classifier" + type: "InnerProduct" + bottom: "pool5/7x7_s1" + top: "loss3/classifier" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss3/loss3" + type: "SoftmaxWithLoss" + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/loss3" + loss_weight: 1 +} +layer { + name: "loss3/top-1" + type: "Accuracy" + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/top-1" + include { + phase: TEST + } +} +layer { + name: "loss3/top-5" + type: "Accuracy" + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} diff --git a/models/intel_optimized_models/googlenet/skx/train_val_dummydata.prototxt b/models/intel_optimized_models/googlenet/skx/train_val_dummydata.prototxt new file mode 100644 index 000000000..602416008 --- /dev/null +++ b/models/intel_optimized_models/googlenet/skx/train_val_dummydata.prototxt @@ -0,0 +1,2427 @@ +name: "GoogleNet" +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 128 dim: 3 dim: 224 dim: 224 } + shape: { dim: 128 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 128 dim: 3 dim: 224 dim: 224 } + shape: { dim: 128 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "conv1/7x7_s2" + type: "Convolution" + bottom: "data" + top: "conv1/7x7_s2" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "conv1/relu_7x7" + type: "ReLU" + bottom: "conv1/7x7_s2" + top: "conv1/7x7_s2" +} +layer { + name: "pool1/3x3_s2" + type: "Pooling" + bottom: "conv1/7x7_s2" + top: "pool1/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "pool1/norm1" + type: "LRN" + bottom: "pool1/3x3_s2" + top: "pool1/norm1" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "conv2/3x3_reduce" + type: "Convolution" + bottom: "pool1/norm1" + top: "conv2/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "conv2/relu_3x3_reduce" + type: "ReLU" + bottom: "conv2/3x3_reduce" + top: "conv2/3x3_reduce" +} +layer { + name: "conv2/3x3" + type: "Convolution" + bottom: "conv2/3x3_reduce" + top: "conv2/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "conv2/relu_3x3" + type: "ReLU" + bottom: "conv2/3x3" + top: "conv2/3x3" +} +layer { + name: "conv2/norm2" + type: "LRN" + bottom: "conv2/3x3" + top: "conv2/norm2" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layer { + name: "pool2/3x3_s2" + type: "Pooling" + bottom: "conv2/norm2" + top: "pool2/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "inception_3a/1x1" + type: "Convolution" + bottom: "pool2/3x3_s2" + top: "inception_3a/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_1x1" + type: "ReLU" + bottom: "inception_3a/1x1" + top: "inception_3a/1x1" +} +layer { + name: "inception_3a/3x3_reduce" + type: "Convolution" + bottom: "pool2/3x3_s2" + top: "inception_3a/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_3a/3x3_reduce" + top: "inception_3a/3x3_reduce" +} +layer { + name: "inception_3a/3x3" + type: "Convolution" + bottom: "inception_3a/3x3_reduce" + top: "inception_3a/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_3x3" + type: "ReLU" + bottom: "inception_3a/3x3" + top: "inception_3a/3x3" +} +layer { + name: "inception_3a/5x5_reduce" + type: "Convolution" + bottom: "pool2/3x3_s2" + top: "inception_3a/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 16 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_3a/5x5_reduce" + top: "inception_3a/5x5_reduce" +} +layer { + name: "inception_3a/5x5" + type: "Convolution" + bottom: "inception_3a/5x5_reduce" + top: "inception_3a/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_5x5" + type: "ReLU" + bottom: "inception_3a/5x5" + top: "inception_3a/5x5" +} +layer { + name: "inception_3a/pool" + type: "Pooling" + bottom: "pool2/3x3_s2" + top: "inception_3a/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_3a/pool_proj" + type: "Convolution" + bottom: "inception_3a/pool" + top: "inception_3a/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3a/relu_pool_proj" + type: "ReLU" + bottom: "inception_3a/pool_proj" + top: "inception_3a/pool_proj" +} +layer { + name: "inception_3a/output" + type: "Concat" + bottom: "inception_3a/1x1" + bottom: "inception_3a/3x3" + bottom: "inception_3a/5x5" + bottom: "inception_3a/pool_proj" + top: "inception_3a/output" +} +layer { + name: "inception_3b/1x1" + type: "Convolution" + bottom: "inception_3a/output" + top: "inception_3b/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_1x1" + type: "ReLU" + bottom: "inception_3b/1x1" + top: "inception_3b/1x1" +} +layer { + name: "inception_3b/3x3_reduce" + type: "Convolution" + bottom: "inception_3a/output" + top: "inception_3b/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_3b/3x3_reduce" + top: "inception_3b/3x3_reduce" +} +layer { + name: "inception_3b/3x3" + type: "Convolution" + bottom: "inception_3b/3x3_reduce" + top: "inception_3b/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_3x3" + type: "ReLU" + bottom: "inception_3b/3x3" + top: "inception_3b/3x3" +} +layer { + name: "inception_3b/5x5_reduce" + type: "Convolution" + bottom: "inception_3a/output" + top: "inception_3b/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_3b/5x5_reduce" + top: "inception_3b/5x5_reduce" +} +layer { + name: "inception_3b/5x5" + type: "Convolution" + bottom: "inception_3b/5x5_reduce" + top: "inception_3b/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_5x5" + type: "ReLU" + bottom: "inception_3b/5x5" + top: "inception_3b/5x5" +} +layer { + name: "inception_3b/pool" + type: "Pooling" + bottom: "inception_3a/output" + top: "inception_3b/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_3b/pool_proj" + type: "Convolution" + bottom: "inception_3b/pool" + top: "inception_3b/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_3b/relu_pool_proj" + type: "ReLU" + bottom: "inception_3b/pool_proj" + top: "inception_3b/pool_proj" +} +layer { + name: "inception_3b/output" + type: "Concat" + bottom: "inception_3b/1x1" + bottom: "inception_3b/3x3" + bottom: "inception_3b/5x5" + bottom: "inception_3b/pool_proj" + top: "inception_3b/output" +} +layer { + name: "pool3/3x3_s2" + type: "Pooling" + bottom: "inception_3b/output" + top: "pool3/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "inception_4a/1x1" + type: "Convolution" + bottom: "pool3/3x3_s2" + top: "inception_4a/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_1x1" + type: "ReLU" + bottom: "inception_4a/1x1" + top: "inception_4a/1x1" +} +layer { + name: "inception_4a/3x3_reduce" + type: "Convolution" + bottom: "pool3/3x3_s2" + top: "inception_4a/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 96 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4a/3x3_reduce" + top: "inception_4a/3x3_reduce" +} +layer { + name: "inception_4a/3x3" + type: "Convolution" + bottom: "inception_4a/3x3_reduce" + top: "inception_4a/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 208 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_3x3" + type: "ReLU" + bottom: "inception_4a/3x3" + top: "inception_4a/3x3" +} +layer { + name: "inception_4a/5x5_reduce" + type: "Convolution" + bottom: "pool3/3x3_s2" + top: "inception_4a/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 16 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4a/5x5_reduce" + top: "inception_4a/5x5_reduce" +} +layer { + name: "inception_4a/5x5" + type: "Convolution" + bottom: "inception_4a/5x5_reduce" + top: "inception_4a/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 48 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_5x5" + type: "ReLU" + bottom: "inception_4a/5x5" + top: "inception_4a/5x5" +} +layer { + name: "inception_4a/pool" + type: "Pooling" + bottom: "pool3/3x3_s2" + top: "inception_4a/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4a/pool_proj" + type: "Convolution" + bottom: "inception_4a/pool" + top: "inception_4a/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4a/relu_pool_proj" + type: "ReLU" + bottom: "inception_4a/pool_proj" + top: "inception_4a/pool_proj" +} +layer { + name: "inception_4a/output" + type: "Concat" + bottom: "inception_4a/1x1" + bottom: "inception_4a/3x3" + bottom: "inception_4a/5x5" + bottom: "inception_4a/pool_proj" + top: "inception_4a/output" +} +layer { + name: "loss1/ave_pool" + type: "Pooling" + bottom: "inception_4a/output" + top: "loss1/ave_pool" + pooling_param { + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + name: "loss1/conv" + type: "Convolution" + bottom: "loss1/ave_pool" + top: "loss1/conv" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss1/relu_conv" + type: "ReLU" + bottom: "loss1/conv" + top: "loss1/conv" +} +layer { + name: "loss1/fc" + type: "InnerProduct" + bottom: "loss1/conv" + top: "loss1/fc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss1/relu_fc" + type: "ReLU" + bottom: "loss1/fc" + top: "loss1/fc" +} +layer { + name: "loss1/drop_fc" + type: "Dropout" + bottom: "loss1/fc" + top: "loss1/fc" + dropout_param { + dropout_ratio: 0.7 + } +} +layer { + name: "loss1/classifier" + type: "InnerProduct" + bottom: "loss1/fc" + top: "loss1/classifier" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss1/loss" + type: "SoftmaxWithLoss" + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/loss1" + loss_weight: 0.3 +} +layer { + name: "loss1/top-1" + type: "Accuracy" + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/top-1" + include { + phase: TEST + } +} +layer { + name: "loss1/top-5" + type: "Accuracy" + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} +layer { + name: "inception_4b/1x1" + type: "Convolution" + bottom: "inception_4a/output" + top: "inception_4b/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 160 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_1x1" + type: "ReLU" + bottom: "inception_4b/1x1" + top: "inception_4b/1x1" +} +layer { + name: "inception_4b/3x3_reduce" + type: "Convolution" + bottom: "inception_4a/output" + top: "inception_4b/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 112 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4b/3x3_reduce" + top: "inception_4b/3x3_reduce" +} +layer { + name: "inception_4b/3x3" + type: "Convolution" + bottom: "inception_4b/3x3_reduce" + top: "inception_4b/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 224 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_3x3" + type: "ReLU" + bottom: "inception_4b/3x3" + top: "inception_4b/3x3" +} +layer { + name: "inception_4b/5x5_reduce" + type: "Convolution" + bottom: "inception_4a/output" + top: "inception_4b/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 24 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4b/5x5_reduce" + top: "inception_4b/5x5_reduce" +} +layer { + name: "inception_4b/5x5" + type: "Convolution" + bottom: "inception_4b/5x5_reduce" + top: "inception_4b/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_5x5" + type: "ReLU" + bottom: "inception_4b/5x5" + top: "inception_4b/5x5" +} +layer { + name: "inception_4b/pool" + type: "Pooling" + bottom: "inception_4a/output" + top: "inception_4b/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4b/pool_proj" + type: "Convolution" + bottom: "inception_4b/pool" + top: "inception_4b/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4b/relu_pool_proj" + type: "ReLU" + bottom: "inception_4b/pool_proj" + top: "inception_4b/pool_proj" +} +layer { + name: "inception_4b/output" + type: "Concat" + bottom: "inception_4b/1x1" + bottom: "inception_4b/3x3" + bottom: "inception_4b/5x5" + bottom: "inception_4b/pool_proj" + top: "inception_4b/output" +} +layer { + name: "inception_4c/1x1" + type: "Convolution" + bottom: "inception_4b/output" + top: "inception_4c/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_1x1" + type: "ReLU" + bottom: "inception_4c/1x1" + top: "inception_4c/1x1" +} +layer { + name: "inception_4c/3x3_reduce" + type: "Convolution" + bottom: "inception_4b/output" + top: "inception_4c/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4c/3x3_reduce" + top: "inception_4c/3x3_reduce" +} +layer { + name: "inception_4c/3x3" + type: "Convolution" + bottom: "inception_4c/3x3_reduce" + top: "inception_4c/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_3x3" + type: "ReLU" + bottom: "inception_4c/3x3" + top: "inception_4c/3x3" +} +layer { + name: "inception_4c/5x5_reduce" + type: "Convolution" + bottom: "inception_4b/output" + top: "inception_4c/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 24 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4c/5x5_reduce" + top: "inception_4c/5x5_reduce" +} +layer { + name: "inception_4c/5x5" + type: "Convolution" + bottom: "inception_4c/5x5_reduce" + top: "inception_4c/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_5x5" + type: "ReLU" + bottom: "inception_4c/5x5" + top: "inception_4c/5x5" +} +layer { + name: "inception_4c/pool" + type: "Pooling" + bottom: "inception_4b/output" + top: "inception_4c/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4c/pool_proj" + type: "Convolution" + bottom: "inception_4c/pool" + top: "inception_4c/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4c/relu_pool_proj" + type: "ReLU" + bottom: "inception_4c/pool_proj" + top: "inception_4c/pool_proj" +} +layer { + name: "inception_4c/output" + type: "Concat" + bottom: "inception_4c/1x1" + bottom: "inception_4c/3x3" + bottom: "inception_4c/5x5" + bottom: "inception_4c/pool_proj" + top: "inception_4c/output" +} +layer { + name: "inception_4d/1x1" + type: "Convolution" + bottom: "inception_4c/output" + top: "inception_4d/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 112 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_1x1" + type: "ReLU" + bottom: "inception_4d/1x1" + top: "inception_4d/1x1" +} +layer { + name: "inception_4d/3x3_reduce" + type: "Convolution" + bottom: "inception_4c/output" + top: "inception_4d/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 144 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4d/3x3_reduce" + top: "inception_4d/3x3_reduce" +} +layer { + name: "inception_4d/3x3" + type: "Convolution" + bottom: "inception_4d/3x3_reduce" + top: "inception_4d/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 288 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_3x3" + type: "ReLU" + bottom: "inception_4d/3x3" + top: "inception_4d/3x3" +} +layer { + name: "inception_4d/5x5_reduce" + type: "Convolution" + bottom: "inception_4c/output" + top: "inception_4d/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4d/5x5_reduce" + top: "inception_4d/5x5_reduce" +} +layer { + name: "inception_4d/5x5" + type: "Convolution" + bottom: "inception_4d/5x5_reduce" + top: "inception_4d/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_5x5" + type: "ReLU" + bottom: "inception_4d/5x5" + top: "inception_4d/5x5" +} +layer { + name: "inception_4d/pool" + type: "Pooling" + bottom: "inception_4c/output" + top: "inception_4d/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4d/pool_proj" + type: "Convolution" + bottom: "inception_4d/pool" + top: "inception_4d/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4d/relu_pool_proj" + type: "ReLU" + bottom: "inception_4d/pool_proj" + top: "inception_4d/pool_proj" +} +layer { + name: "inception_4d/output" + type: "Concat" + bottom: "inception_4d/1x1" + bottom: "inception_4d/3x3" + bottom: "inception_4d/5x5" + bottom: "inception_4d/pool_proj" + top: "inception_4d/output" +} +layer { + name: "loss2/ave_pool" + type: "Pooling" + bottom: "inception_4d/output" + top: "loss2/ave_pool" + pooling_param { + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + name: "loss2/conv" + type: "Convolution" + bottom: "loss2/ave_pool" + top: "loss2/conv" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss2/relu_conv" + type: "ReLU" + bottom: "loss2/conv" + top: "loss2/conv" +} +layer { + name: "loss2/fc" + type: "InnerProduct" + bottom: "loss2/conv" + top: "loss2/fc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "loss2/relu_fc" + type: "ReLU" + bottom: "loss2/fc" + top: "loss2/fc" +} +layer { + name: "loss2/drop_fc" + type: "Dropout" + bottom: "loss2/fc" + top: "loss2/fc" + dropout_param { + dropout_ratio: 0.7 + } +} +layer { + name: "loss2/classifier" + type: "InnerProduct" + bottom: "loss2/fc" + top: "loss2/classifier" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss2/loss" + type: "SoftmaxWithLoss" + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/loss1" + loss_weight: 0.3 +} +layer { + name: "loss2/top-1" + type: "Accuracy" + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/top-1" + include { + phase: TEST + } +} +layer { + name: "loss2/top-5" + type: "Accuracy" + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} +layer { + name: "inception_4e/1x1" + type: "Convolution" + bottom: "inception_4d/output" + top: "inception_4e/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_1x1" + type: "ReLU" + bottom: "inception_4e/1x1" + top: "inception_4e/1x1" +} +layer { + name: "inception_4e/3x3_reduce" + type: "Convolution" + bottom: "inception_4d/output" + top: "inception_4e/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 160 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_4e/3x3_reduce" + top: "inception_4e/3x3_reduce" +} +layer { + name: "inception_4e/3x3" + type: "Convolution" + bottom: "inception_4e/3x3_reduce" + top: "inception_4e/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 320 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_3x3" + type: "ReLU" + bottom: "inception_4e/3x3" + top: "inception_4e/3x3" +} +layer { + name: "inception_4e/5x5_reduce" + type: "Convolution" + bottom: "inception_4d/output" + top: "inception_4e/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_4e/5x5_reduce" + top: "inception_4e/5x5_reduce" +} +layer { + name: "inception_4e/5x5" + type: "Convolution" + bottom: "inception_4e/5x5_reduce" + top: "inception_4e/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_5x5" + type: "ReLU" + bottom: "inception_4e/5x5" + top: "inception_4e/5x5" +} +layer { + name: "inception_4e/pool" + type: "Pooling" + bottom: "inception_4d/output" + top: "inception_4e/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_4e/pool_proj" + type: "Convolution" + bottom: "inception_4e/pool" + top: "inception_4e/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_4e/relu_pool_proj" + type: "ReLU" + bottom: "inception_4e/pool_proj" + top: "inception_4e/pool_proj" +} +layer { + name: "inception_4e/output" + type: "Concat" + bottom: "inception_4e/1x1" + bottom: "inception_4e/3x3" + bottom: "inception_4e/5x5" + bottom: "inception_4e/pool_proj" + top: "inception_4e/output" +} +layer { + name: "pool4/3x3_s2" + type: "Pooling" + bottom: "inception_4e/output" + top: "pool4/3x3_s2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + name: "inception_5a/1x1" + type: "Convolution" + bottom: "pool4/3x3_s2" + top: "inception_5a/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_1x1" + type: "ReLU" + bottom: "inception_5a/1x1" + top: "inception_5a/1x1" +} +layer { + name: "inception_5a/3x3_reduce" + type: "Convolution" + bottom: "pool4/3x3_s2" + top: "inception_5a/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 160 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_5a/3x3_reduce" + top: "inception_5a/3x3_reduce" +} +layer { + name: "inception_5a/3x3" + type: "Convolution" + bottom: "inception_5a/3x3_reduce" + top: "inception_5a/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 320 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_3x3" + type: "ReLU" + bottom: "inception_5a/3x3" + top: "inception_5a/3x3" +} +layer { + name: "inception_5a/5x5_reduce" + type: "Convolution" + bottom: "pool4/3x3_s2" + top: "inception_5a/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 32 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_5a/5x5_reduce" + top: "inception_5a/5x5_reduce" +} +layer { + name: "inception_5a/5x5" + type: "Convolution" + bottom: "inception_5a/5x5_reduce" + top: "inception_5a/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_5x5" + type: "ReLU" + bottom: "inception_5a/5x5" + top: "inception_5a/5x5" +} +layer { + name: "inception_5a/pool" + type: "Pooling" + bottom: "pool4/3x3_s2" + top: "inception_5a/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_5a/pool_proj" + type: "Convolution" + bottom: "inception_5a/pool" + top: "inception_5a/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5a/relu_pool_proj" + type: "ReLU" + bottom: "inception_5a/pool_proj" + top: "inception_5a/pool_proj" +} +layer { + name: "inception_5a/output" + type: "Concat" + bottom: "inception_5a/1x1" + bottom: "inception_5a/3x3" + bottom: "inception_5a/5x5" + bottom: "inception_5a/pool_proj" + top: "inception_5a/output" +} +layer { + name: "inception_5b/1x1" + type: "Convolution" + bottom: "inception_5a/output" + top: "inception_5b/1x1" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_1x1" + type: "ReLU" + bottom: "inception_5b/1x1" + top: "inception_5b/1x1" +} +layer { + name: "inception_5b/3x3_reduce" + type: "Convolution" + bottom: "inception_5a/output" + top: "inception_5b/3x3_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 192 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_3x3_reduce" + type: "ReLU" + bottom: "inception_5b/3x3_reduce" + top: "inception_5b/3x3_reduce" +} +layer { + name: "inception_5b/3x3" + type: "Convolution" + bottom: "inception_5b/3x3_reduce" + top: "inception_5b/3x3" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_3x3" + type: "ReLU" + bottom: "inception_5b/3x3" + top: "inception_5b/3x3" +} +layer { + name: "inception_5b/5x5_reduce" + type: "Convolution" + bottom: "inception_5a/output" + top: "inception_5b/5x5_reduce" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 48 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_5x5_reduce" + type: "ReLU" + bottom: "inception_5b/5x5_reduce" + top: "inception_5b/5x5_reduce" +} +layer { + name: "inception_5b/5x5" + type: "Convolution" + bottom: "inception_5b/5x5_reduce" + top: "inception_5b/5x5" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 2 + kernel_size: 5 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_5x5" + type: "ReLU" + bottom: "inception_5b/5x5" + top: "inception_5b/5x5" +} +layer { + name: "inception_5b/pool" + type: "Pooling" + bottom: "inception_5a/output" + top: "inception_5b/pool" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + name: "inception_5b/pool_proj" + type: "Convolution" + bottom: "inception_5b/pool" + top: "inception_5b/pool_proj" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + kernel_size: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0.1 + } + } +} +layer { + name: "inception_5b/relu_pool_proj" + type: "ReLU" + bottom: "inception_5b/pool_proj" + top: "inception_5b/pool_proj" +} +layer { + name: "inception_5b/output" + type: "Concat" + bottom: "inception_5b/1x1" + bottom: "inception_5b/3x3" + bottom: "inception_5b/5x5" + bottom: "inception_5b/pool_proj" + top: "inception_5b/output" +} +layer { + name: "pool5/7x7_s1" + type: "Pooling" + bottom: "inception_5b/output" + top: "pool5/7x7_s1" + pooling_param { + pool: AVE + kernel_size: 7 + stride: 1 + } +} +layer { + name: "pool5/drop_7x7_s1" + type: "Dropout" + bottom: "pool5/7x7_s1" + top: "pool5/7x7_s1" + dropout_param { + dropout_ratio: 0.4 + } +} +layer { + name: "loss3/classifier" + type: "InnerProduct" + bottom: "pool5/7x7_s1" + top: "loss3/classifier" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "loss3/loss3" + type: "SoftmaxWithLoss" + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/loss3" + loss_weight: 1 +} +layer { + name: "loss3/top-1" + type: "Accuracy" + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/top-1" + include { + phase: TEST + } +} +layer { + name: "loss3/top-5" + type: "Accuracy" + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/top-5" + include { + phase: TEST + } + accuracy_param { + top_k: 5 + } +} diff --git a/models/intel_optimized_models/googlenet_v2/bdw/train_val_dummydata.prototxt b/models/intel_optimized_models/googlenet_v2/bdw/train_val_dummydata.prototxt new file mode 100644 index 000000000..2908c3841 --- /dev/null +++ b/models/intel_optimized_models/googlenet_v2/bdw/train_val_dummydata.prototxt @@ -0,0 +1,4034 @@ +# Inception Network (GoogLeNet Batch Normalization Network) +name: "InceptionNetwork" +### Training Set +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 96 dim: 3 dim: 224 dim: 224 } + shape: { dim: 96 dim: 1 dim: 1 dim: 1 } + } +} + +### Validation Set +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 32 dim: 3 dim: 224 dim: 224 } + shape: { dim: 32 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + bottom: "data" + top: "conv1/7x7_s2" + name: "conv1/7x7_s2" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv1/7x7_s2" + name: "conv1/7x7_s2/bn" + top: "conv1/7x7_s2/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv1/7x7_s2/bn" + top: "conv1/7x7_s2/bn/sc" + name: "conv1/7x7_s2/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv1/7x7_s2/bn/sc" + top: "conv1/7x7_s2/bn/sc" + name: "conv1/7x7_s2/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv1/7x7_s2/bn/sc" + top: "pool1/3x3_s2" + name: "pool1/3x3_s2" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "pool1/3x3_s2" + top: "conv2/3x3_reduce" + name: "conv2/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv2/3x3_reduce" + name: "conv2/3x3_reduce/bn" + top: "conv2/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv2/3x3_reduce/bn" + top: "conv2/3x3_reduce/bn/sc" + name: "conv2/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv2/3x3_reduce/bn/sc" + top: "conv2/3x3_reduce/bn/sc" + name: "conv2/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2/3x3_reduce/bn/sc" + top: "conv2/3x3" + name: "conv2/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv2/3x3" + name: "conv2/3x3/bn" + top: "conv2/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv2/3x3/bn" + top: "conv2/3x3/bn/sc" + name: "conv2/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv2/3x3/bn/sc" + top: "conv2/3x3/bn/sc" + name: "conv2/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2/3x3/bn/sc" + top: "pool2/3x3_s2" + name: "pool2/3x3_s2" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/1x1" + name: "inception_3a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/1x1" + name: "inception_3a/1x1/bn" + top: "inception_3a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/1x1/bn" + top: "inception_3a/1x1/bn/sc" + name: "inception_3a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/1x1/bn/sc" + top: "inception_3a/1x1/bn/sc" + name: "inception_3a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/3x3_reduce" + name: "inception_3a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/3x3_reduce" + name: "inception_3a/3x3_reduce/bn" + top: "inception_3a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn" + top: "inception_3a/3x3_reduce/bn/sc" + name: "inception_3a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn/sc" + top: "inception_3a/3x3_reduce/bn/sc" + name: "inception_3a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn/sc" + top: "inception_3a/3x3" + name: "inception_3a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/3x3" + name: "inception_3a/3x3/bn" + top: "inception_3a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/3x3/bn" + top: "inception_3a/3x3/bn/sc" + name: "inception_3a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/3x3/bn/sc" + top: "inception_3a/3x3/bn/sc" + name: "inception_3a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/double3x3_reduce" + name: "inception_3a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3_reduce" + name: "inception_3a/double3x3_reduce/bn" + top: "inception_3a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn" + top: "inception_3a/double3x3_reduce/bn/sc" + name: "inception_3a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn/sc" + top: "inception_3a/double3x3_reduce/bn/sc" + name: "inception_3a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn/sc" + top: "inception_3a/double3x3a" + name: "inception_3a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3a" + name: "inception_3a/double3x3a/bn" + top: "inception_3a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3a/bn" + top: "inception_3a/double3x3a/bn/sc" + name: "inception_3a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3a/bn/sc" + top: "inception_3a/double3x3a/bn/sc" + name: "inception_3a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/double3x3a/bn/sc" + top: "inception_3a/double3x3b" + name: "inception_3a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3b" + name: "inception_3a/double3x3b/bn" + top: "inception_3a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3b/bn" + top: "inception_3a/double3x3b/bn/sc" + name: "inception_3a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3b/bn/sc" + top: "inception_3a/double3x3b/bn/sc" + name: "inception_3a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/pool" + name: "inception_3a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_3a/pool" + top: "inception_3a/pool_proj" + name: "inception_3a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 32 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/pool_proj" + name: "inception_3a/pool_proj/bn" + top: "inception_3a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/pool_proj/bn" + top: "inception_3a/pool_proj/bn/sc" + name: "inception_3a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/pool_proj/bn/sc" + top: "inception_3a/pool_proj/bn/sc" + name: "inception_3a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/1x1/bn/sc" + bottom: "inception_3a/3x3/bn/sc" + bottom: "inception_3a/double3x3b/bn/sc" + bottom: "inception_3a/pool_proj/bn/sc" + top: "inception_3a/output" + name: "inception_3a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/1x1" + name: "inception_3b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/1x1" + name: "inception_3b/1x1/bn" + top: "inception_3b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/1x1/bn" + top: "inception_3b/1x1/bn/sc" + name: "inception_3b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/1x1/bn/sc" + top: "inception_3b/1x1/bn/sc" + name: "inception_3b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/3x3_reduce" + name: "inception_3b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/3x3_reduce" + name: "inception_3b/3x3_reduce/bn" + top: "inception_3b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn" + top: "inception_3b/3x3_reduce/bn/sc" + name: "inception_3b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn/sc" + top: "inception_3b/3x3_reduce/bn/sc" + name: "inception_3b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn/sc" + top: "inception_3b/3x3" + name: "inception_3b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/3x3" + name: "inception_3b/3x3/bn" + top: "inception_3b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/3x3/bn" + top: "inception_3b/3x3/bn/sc" + name: "inception_3b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/3x3/bn/sc" + top: "inception_3b/3x3/bn/sc" + name: "inception_3b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/double3x3_reduce" + name: "inception_3b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3_reduce" + name: "inception_3b/double3x3_reduce/bn" + top: "inception_3b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn" + top: "inception_3b/double3x3_reduce/bn/sc" + name: "inception_3b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn/sc" + top: "inception_3b/double3x3_reduce/bn/sc" + name: "inception_3b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn/sc" + top: "inception_3b/double3x3a" + name: "inception_3b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3a" + name: "inception_3b/double3x3a/bn" + top: "inception_3b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3a/bn" + top: "inception_3b/double3x3a/bn/sc" + name: "inception_3b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3a/bn/sc" + top: "inception_3b/double3x3a/bn/sc" + name: "inception_3b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/double3x3a/bn/sc" + top: "inception_3b/double3x3b" + name: "inception_3b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3b" + name: "inception_3b/double3x3b/bn" + top: "inception_3b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3b/bn" + top: "inception_3b/double3x3b/bn/sc" + name: "inception_3b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3b/bn/sc" + top: "inception_3b/double3x3b/bn/sc" + name: "inception_3b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/pool" + name: "inception_3b/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_3b/pool" + top: "inception_3b/pool_proj" + name: "inception_3b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/pool_proj" + name: "inception_3b/pool_proj/bn" + top: "inception_3b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/pool_proj/bn" + top: "inception_3b/pool_proj/bn/sc" + name: "inception_3b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/pool_proj/bn/sc" + top: "inception_3b/pool_proj/bn/sc" + name: "inception_3b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/1x1/bn/sc" + bottom: "inception_3b/3x3/bn/sc" + bottom: "inception_3b/double3x3b/bn/sc" + bottom: "inception_3b/pool_proj/bn/sc" + top: "inception_3b/output" + name: "inception_3b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/3x3_reduce" + name: "inception_3c/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/3x3_reduce" + name: "inception_3c/3x3_reduce/bn" + top: "inception_3c/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn" + top: "inception_3c/3x3_reduce/bn/sc" + name: "inception_3c/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn/sc" + top: "inception_3c/3x3_reduce/bn/sc" + name: "inception_3c/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn/sc" + top: "inception_3c/3x3" + name: "inception_3c/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/3x3" + name: "inception_3c/3x3/bn" + top: "inception_3c/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/3x3/bn" + top: "inception_3c/3x3/bn/sc" + name: "inception_3c/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/3x3/bn/sc" + top: "inception_3c/3x3/bn/sc" + name: "inception_3c/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/double3x3_reduce" + name: "inception_3c/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3_reduce" + name: "inception_3c/double3x3_reduce/bn" + top: "inception_3c/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn" + top: "inception_3c/double3x3_reduce/bn/sc" + name: "inception_3c/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn/sc" + top: "inception_3c/double3x3_reduce/bn/sc" + name: "inception_3c/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn/sc" + top: "inception_3c/double3x3a" + name: "inception_3c/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3a" + name: "inception_3c/double3x3a/bn" + top: "inception_3c/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3a/bn" + top: "inception_3c/double3x3a/bn/sc" + name: "inception_3c/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3a/bn/sc" + top: "inception_3c/double3x3a/bn/sc" + name: "inception_3c/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/double3x3a/bn/sc" + top: "inception_3c/double3x3b" + name: "inception_3c/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3b" + name: "inception_3c/double3x3b/bn" + top: "inception_3c/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3b/bn" + top: "inception_3c/double3x3b/bn/sc" + name: "inception_3c/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3b/bn/sc" + top: "inception_3c/double3x3b/bn/sc" + name: "inception_3c/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/pool" + name: "inception_3c/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "inception_3c/3x3/bn/sc" + bottom: "inception_3c/double3x3b/bn/sc" + bottom: "inception_3c/pool" + top: "inception_3c/output" + name: "inception_3c/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "pool3/5x5_s3" + name: "pool3/5x5_s3" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + bottom: "pool3/5x5_s3" + top: "loss1/conv" + name: "loss1/conv" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss1/conv" + name: "loss1/conv/bn" + top: "loss1/conv/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss1/conv/bn" + top: "loss1/conv/bn/sc" + name: "loss1/conv/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss1/conv/bn/sc" + top: "loss1/conv/bn/sc" + name: "loss1/conv/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss1/conv/bn/sc" + top: "loss1/fc" + name: "loss1/fc" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss1/fc" + name: "loss1/fc/bn" + top: "loss1/fc/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss1/fc/bn" + top: "loss1/fc/bn/sc" + name: "loss1/fc/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss1/fc/bn/sc" + top: "loss1/fc/bn/sc" + name: "loss1/fc/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss1/fc/bn/sc" + top: "loss1/classifier" + name: "loss1/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/loss" + name: "loss1/loss" + type: "SoftmaxWithLoss" + loss_weight: 0.3 +} +layer { + bottom: "loss1/classifier" + top: "loss1/prob" + name: "loss1/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss1/prob" + bottom: "label" + top: "loss1/top-1" + name: "loss1/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss1/prob" + bottom: "label" + top: "loss1/top-5" + name: "loss1/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/1x1" + name: "inception_4a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/1x1" + name: "inception_4a/1x1/bn" + top: "inception_4a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/1x1/bn" + top: "inception_4a/1x1/bn/sc" + name: "inception_4a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/1x1/bn/sc" + top: "inception_4a/1x1/bn/sc" + name: "inception_4a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/3x3_reduce" + name: "inception_4a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/3x3_reduce" + name: "inception_4a/3x3_reduce/bn" + top: "inception_4a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn" + top: "inception_4a/3x3_reduce/bn/sc" + name: "inception_4a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn/sc" + top: "inception_4a/3x3_reduce/bn/sc" + name: "inception_4a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn/sc" + top: "inception_4a/3x3" + name: "inception_4a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/3x3" + name: "inception_4a/3x3/bn" + top: "inception_4a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/3x3/bn" + top: "inception_4a/3x3/bn/sc" + name: "inception_4a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/3x3/bn/sc" + top: "inception_4a/3x3/bn/sc" + name: "inception_4a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/double3x3_reduce" + name: "inception_4a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3_reduce" + name: "inception_4a/double3x3_reduce/bn" + top: "inception_4a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn" + top: "inception_4a/double3x3_reduce/bn/sc" + name: "inception_4a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn/sc" + top: "inception_4a/double3x3_reduce/bn/sc" + name: "inception_4a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn/sc" + top: "inception_4a/double3x3a" + name: "inception_4a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3a" + name: "inception_4a/double3x3a/bn" + top: "inception_4a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3a/bn" + top: "inception_4a/double3x3a/bn/sc" + name: "inception_4a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3a/bn/sc" + top: "inception_4a/double3x3a/bn/sc" + name: "inception_4a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/double3x3a/bn/sc" + top: "inception_4a/double3x3b" + name: "inception_4a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3b" + name: "inception_4a/double3x3b/bn" + top: "inception_4a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3b/bn" + top: "inception_4a/double3x3b/bn/sc" + name: "inception_4a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3b/bn/sc" + top: "inception_4a/double3x3b/bn/sc" + name: "inception_4a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/pool" + name: "inception_4a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4a/pool" + top: "inception_4a/pool_proj" + name: "inception_4a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/pool_proj" + name: "inception_4a/pool_proj/bn" + top: "inception_4a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/pool_proj/bn" + top: "inception_4a/pool_proj/bn/sc" + name: "inception_4a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/pool_proj/bn/sc" + top: "inception_4a/pool_proj/bn/sc" + name: "inception_4a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/1x1/bn/sc" + bottom: "inception_4a/3x3/bn/sc" + bottom: "inception_4a/double3x3b/bn/sc" + bottom: "inception_4a/pool_proj/bn/sc" + top: "inception_4a/output" + name: "inception_4a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/1x1" + name: "inception_4b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/1x1" + name: "inception_4b/1x1/bn" + top: "inception_4b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/1x1/bn" + top: "inception_4b/1x1/bn/sc" + name: "inception_4b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/1x1/bn/sc" + top: "inception_4b/1x1/bn/sc" + name: "inception_4b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/3x3_reduce" + name: "inception_4b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/3x3_reduce" + name: "inception_4b/3x3_reduce/bn" + top: "inception_4b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn" + top: "inception_4b/3x3_reduce/bn/sc" + name: "inception_4b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn/sc" + top: "inception_4b/3x3_reduce/bn/sc" + name: "inception_4b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn/sc" + top: "inception_4b/3x3" + name: "inception_4b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/3x3" + name: "inception_4b/3x3/bn" + top: "inception_4b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/3x3/bn" + top: "inception_4b/3x3/bn/sc" + name: "inception_4b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/3x3/bn/sc" + top: "inception_4b/3x3/bn/sc" + name: "inception_4b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/double3x3_reduce" + name: "inception_4b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3_reduce" + name: "inception_4b/double3x3_reduce/bn" + top: "inception_4b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn" + top: "inception_4b/double3x3_reduce/bn/sc" + name: "inception_4b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn/sc" + top: "inception_4b/double3x3_reduce/bn/sc" + name: "inception_4b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn/sc" + top: "inception_4b/double3x3a" + name: "inception_4b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3a" + name: "inception_4b/double3x3a/bn" + top: "inception_4b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3a/bn" + top: "inception_4b/double3x3a/bn/sc" + name: "inception_4b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3a/bn/sc" + top: "inception_4b/double3x3a/bn/sc" + name: "inception_4b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/double3x3a/bn/sc" + top: "inception_4b/double3x3b" + name: "inception_4b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3b" + name: "inception_4b/double3x3b/bn" + top: "inception_4b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3b/bn" + top: "inception_4b/double3x3b/bn/sc" + name: "inception_4b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3b/bn/sc" + top: "inception_4b/double3x3b/bn/sc" + name: "inception_4b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/pool" + name: "inception_4b/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4b/pool" + top: "inception_4b/pool_proj" + name: "inception_4b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/pool_proj" + name: "inception_4b/pool_proj/bn" + top: "inception_4b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/pool_proj/bn" + top: "inception_4b/pool_proj/bn/sc" + name: "inception_4b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/pool_proj/bn/sc" + top: "inception_4b/pool_proj/bn/sc" + name: "inception_4b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/1x1/bn/sc" + bottom: "inception_4b/3x3/bn/sc" + bottom: "inception_4b/double3x3b/bn/sc" + bottom: "inception_4b/pool_proj/bn/sc" + top: "inception_4b/output" + name: "inception_4b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/1x1" + name: "inception_4c/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/1x1" + name: "inception_4c/1x1/bn" + top: "inception_4c/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/1x1/bn" + top: "inception_4c/1x1/bn/sc" + name: "inception_4c/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/1x1/bn/sc" + top: "inception_4c/1x1/bn/sc" + name: "inception_4c/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/3x3_reduce" + name: "inception_4c/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/3x3_reduce" + name: "inception_4c/3x3_reduce/bn" + top: "inception_4c/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn" + top: "inception_4c/3x3_reduce/bn/sc" + name: "inception_4c/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn/sc" + top: "inception_4c/3x3_reduce/bn/sc" + name: "inception_4c/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn/sc" + top: "inception_4c/3x3" + name: "inception_4c/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/3x3" + name: "inception_4c/3x3/bn" + top: "inception_4c/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/3x3/bn" + top: "inception_4c/3x3/bn/sc" + name: "inception_4c/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/3x3/bn/sc" + top: "inception_4c/3x3/bn/sc" + name: "inception_4c/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/double3x3_reduce" + name: "inception_4c/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3_reduce" + name: "inception_4c/double3x3_reduce/bn" + top: "inception_4c/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn" + top: "inception_4c/double3x3_reduce/bn/sc" + name: "inception_4c/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn/sc" + top: "inception_4c/double3x3_reduce/bn/sc" + name: "inception_4c/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn/sc" + top: "inception_4c/double3x3a" + name: "inception_4c/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3a" + name: "inception_4c/double3x3a/bn" + top: "inception_4c/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3a/bn" + top: "inception_4c/double3x3a/bn/sc" + name: "inception_4c/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3a/bn/sc" + top: "inception_4c/double3x3a/bn/sc" + name: "inception_4c/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/double3x3a/bn/sc" + top: "inception_4c/double3x3b" + name: "inception_4c/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3b" + name: "inception_4c/double3x3b/bn" + top: "inception_4c/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3b/bn" + top: "inception_4c/double3x3b/bn/sc" + name: "inception_4c/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3b/bn/sc" + top: "inception_4c/double3x3b/bn/sc" + name: "inception_4c/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/pool" + name: "inception_4c/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4c/pool" + top: "inception_4c/pool_proj" + name: "inception_4c/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/pool_proj" + name: "inception_4c/pool_proj/bn" + top: "inception_4c/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/pool_proj/bn" + top: "inception_4c/pool_proj/bn/sc" + name: "inception_4c/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/pool_proj/bn/sc" + top: "inception_4c/pool_proj/bn/sc" + name: "inception_4c/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/1x1/bn/sc" + bottom: "inception_4c/3x3/bn/sc" + bottom: "inception_4c/double3x3b/bn/sc" + bottom: "inception_4c/pool_proj/bn/sc" + top: "inception_4c/output" + name: "inception_4c/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/1x1" + name: "inception_4d/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/1x1" + name: "inception_4d/1x1/bn" + top: "inception_4d/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/1x1/bn" + top: "inception_4d/1x1/bn/sc" + name: "inception_4d/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/1x1/bn/sc" + top: "inception_4d/1x1/bn/sc" + name: "inception_4d/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/3x3_reduce" + name: "inception_4d/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/3x3_reduce" + name: "inception_4d/3x3_reduce/bn" + top: "inception_4d/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn" + top: "inception_4d/3x3_reduce/bn/sc" + name: "inception_4d/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn/sc" + top: "inception_4d/3x3_reduce/bn/sc" + name: "inception_4d/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn/sc" + top: "inception_4d/3x3" + name: "inception_4d/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/3x3" + name: "inception_4d/3x3/bn" + top: "inception_4d/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/3x3/bn" + top: "inception_4d/3x3/bn/sc" + name: "inception_4d/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/3x3/bn/sc" + top: "inception_4d/3x3/bn/sc" + name: "inception_4d/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/double3x3_reduce" + name: "inception_4d/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3_reduce" + name: "inception_4d/double3x3_reduce/bn" + top: "inception_4d/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn" + top: "inception_4d/double3x3_reduce/bn/sc" + name: "inception_4d/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn/sc" + top: "inception_4d/double3x3_reduce/bn/sc" + name: "inception_4d/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn/sc" + top: "inception_4d/double3x3a" + name: "inception_4d/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3a" + name: "inception_4d/double3x3a/bn" + top: "inception_4d/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3a/bn" + top: "inception_4d/double3x3a/bn/sc" + name: "inception_4d/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3a/bn/sc" + top: "inception_4d/double3x3a/bn/sc" + name: "inception_4d/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/double3x3a/bn/sc" + top: "inception_4d/double3x3b" + name: "inception_4d/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3b" + name: "inception_4d/double3x3b/bn" + top: "inception_4d/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3b/bn" + top: "inception_4d/double3x3b/bn/sc" + name: "inception_4d/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3b/bn/sc" + top: "inception_4d/double3x3b/bn/sc" + name: "inception_4d/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/pool" + name: "inception_4d/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4d/pool" + top: "inception_4d/pool_proj" + name: "inception_4d/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/pool_proj" + name: "inception_4d/pool_proj/bn" + top: "inception_4d/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/pool_proj/bn" + top: "inception_4d/pool_proj/bn/sc" + name: "inception_4d/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/pool_proj/bn/sc" + top: "inception_4d/pool_proj/bn/sc" + name: "inception_4d/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/1x1/bn/sc" + bottom: "inception_4d/3x3/bn/sc" + bottom: "inception_4d/double3x3b/bn/sc" + bottom: "inception_4d/pool_proj/bn/sc" + top: "inception_4d/output" + name: "inception_4d/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/3x3_reduce" + name: "inception_4e/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/3x3_reduce" + name: "inception_4e/3x3_reduce/bn" + top: "inception_4e/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn" + top: "inception_4e/3x3_reduce/bn/sc" + name: "inception_4e/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn/sc" + top: "inception_4e/3x3_reduce/bn/sc" + name: "inception_4e/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn/sc" + top: "inception_4e/3x3" + name: "inception_4e/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/3x3" + name: "inception_4e/3x3/bn" + top: "inception_4e/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/3x3/bn" + top: "inception_4e/3x3/bn/sc" + name: "inception_4e/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/3x3/bn/sc" + top: "inception_4e/3x3/bn/sc" + name: "inception_4e/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/double3x3_reduce" + name: "inception_4e/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3_reduce" + name: "inception_4e/double3x3_reduce/bn" + top: "inception_4e/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn" + top: "inception_4e/double3x3_reduce/bn/sc" + name: "inception_4e/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn/sc" + top: "inception_4e/double3x3_reduce/bn/sc" + name: "inception_4e/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn/sc" + top: "inception_4e/double3x3a" + name: "inception_4e/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3a" + name: "inception_4e/double3x3a/bn" + top: "inception_4e/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3a/bn" + top: "inception_4e/double3x3a/bn/sc" + name: "inception_4e/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3a/bn/sc" + top: "inception_4e/double3x3a/bn/sc" + name: "inception_4e/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/double3x3a/bn/sc" + top: "inception_4e/double3x3b" + name: "inception_4e/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3b" + name: "inception_4e/double3x3b/bn" + top: "inception_4e/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3b/bn" + top: "inception_4e/double3x3b/bn/sc" + name: "inception_4e/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3b/bn/sc" + top: "inception_4e/double3x3b/bn/sc" + name: "inception_4e/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/pool" + name: "inception_4e/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "inception_4e/3x3/bn/sc" + bottom: "inception_4e/double3x3b/bn/sc" + bottom: "inception_4e/pool" + top: "inception_4e/output" + name: "inception_4e/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "pool4/5x5_s3" + name: "pool4/5x5_s3" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + bottom: "pool4/5x5_s3" + top: "loss2/conv" + name: "loss2/conv" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss2/conv" + name: "loss2/conv/bn" + top: "loss2/conv/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss2/conv/bn" + top: "loss2/conv/bn/sc" + name: "loss2/conv/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss2/conv/bn/sc" + top: "loss2/conv/bn/sc" + name: "loss2/conv/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss2/conv/bn/sc" + top: "loss2/fc" + name: "loss2/fc" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss2/fc" + name: "loss2/fc/bn" + top: "loss2/fc/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss2/fc/bn" + top: "loss2/fc/bn/sc" + name: "loss2/fc/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss2/fc/bn/sc" + top: "loss2/fc/bn/sc" + name: "loss2/fc/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss2/fc/bn/sc" + top: "loss2/classifier" + name: "loss2/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/loss" + name: "loss2/loss" + type: "SoftmaxWithLoss" + loss_weight: 0.3 +} +layer { + bottom: "loss2/classifier" + top: "loss2/prob" + name: "loss2/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss2/prob" + bottom: "label" + top: "loss2/top-1" + name: "loss2/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss2/prob" + bottom: "label" + top: "loss2/top-5" + name: "loss2/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/1x1" + name: "inception_5a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 352 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/1x1" + name: "inception_5a/1x1/bn" + top: "inception_5a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/1x1/bn" + top: "inception_5a/1x1/bn/sc" + name: "inception_5a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/1x1/bn/sc" + top: "inception_5a/1x1/bn/sc" + name: "inception_5a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/3x3_reduce" + name: "inception_5a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/3x3_reduce" + name: "inception_5a/3x3_reduce/bn" + top: "inception_5a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn" + top: "inception_5a/3x3_reduce/bn/sc" + name: "inception_5a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn/sc" + top: "inception_5a/3x3_reduce/bn/sc" + name: "inception_5a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn/sc" + top: "inception_5a/3x3" + name: "inception_5a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 320 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/3x3" + name: "inception_5a/3x3/bn" + top: "inception_5a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/3x3/bn" + top: "inception_5a/3x3/bn/sc" + name: "inception_5a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/3x3/bn/sc" + top: "inception_5a/3x3/bn/sc" + name: "inception_5a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/double3x3_reduce" + name: "inception_5a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3_reduce" + name: "inception_5a/double3x3_reduce/bn" + top: "inception_5a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn" + top: "inception_5a/double3x3_reduce/bn/sc" + name: "inception_5a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn/sc" + top: "inception_5a/double3x3_reduce/bn/sc" + name: "inception_5a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn/sc" + top: "inception_5a/double3x3a" + name: "inception_5a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3a" + name: "inception_5a/double3x3a/bn" + top: "inception_5a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3a/bn" + top: "inception_5a/double3x3a/bn/sc" + name: "inception_5a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3a/bn/sc" + top: "inception_5a/double3x3a/bn/sc" + name: "inception_5a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/double3x3a/bn/sc" + top: "inception_5a/double3x3b" + name: "inception_5a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3b" + name: "inception_5a/double3x3b/bn" + top: "inception_5a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3b/bn" + top: "inception_5a/double3x3b/bn/sc" + name: "inception_5a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3b/bn/sc" + top: "inception_5a/double3x3b/bn/sc" + name: "inception_5a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/pool" + name: "inception_5a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_5a/pool" + top: "inception_5a/pool_proj" + name: "inception_5a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/pool_proj" + name: "inception_5a/pool_proj/bn" + top: "inception_5a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/pool_proj/bn" + top: "inception_5a/pool_proj/bn/sc" + name: "inception_5a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/pool_proj/bn/sc" + top: "inception_5a/pool_proj/bn/sc" + name: "inception_5a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/1x1/bn/sc" + bottom: "inception_5a/3x3/bn/sc" + bottom: "inception_5a/double3x3b/bn/sc" + bottom: "inception_5a/pool_proj/bn/sc" + top: "inception_5a/output" + name: "inception_5a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/1x1" + name: "inception_5b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 352 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/1x1" + name: "inception_5b/1x1/bn" + top: "inception_5b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/1x1/bn" + top: "inception_5b/1x1/bn/sc" + name: "inception_5b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/1x1/bn/sc" + top: "inception_5b/1x1/bn/sc" + name: "inception_5b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/3x3_reduce" + name: "inception_5b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/3x3_reduce" + name: "inception_5b/3x3_reduce/bn" + top: "inception_5b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn" + top: "inception_5b/3x3_reduce/bn/sc" + name: "inception_5b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn/sc" + top: "inception_5b/3x3_reduce/bn/sc" + name: "inception_5b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn/sc" + top: "inception_5b/3x3" + name: "inception_5b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 320 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/3x3" + name: "inception_5b/3x3/bn" + top: "inception_5b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/3x3/bn" + top: "inception_5b/3x3/bn/sc" + name: "inception_5b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/3x3/bn/sc" + top: "inception_5b/3x3/bn/sc" + name: "inception_5b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/double3x3_reduce" + name: "inception_5b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3_reduce" + name: "inception_5b/double3x3_reduce/bn" + top: "inception_5b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn" + top: "inception_5b/double3x3_reduce/bn/sc" + name: "inception_5b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn/sc" + top: "inception_5b/double3x3_reduce/bn/sc" + name: "inception_5b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn/sc" + top: "inception_5b/double3x3a" + name: "inception_5b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3a" + name: "inception_5b/double3x3a/bn" + top: "inception_5b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3a/bn" + top: "inception_5b/double3x3a/bn/sc" + name: "inception_5b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3a/bn/sc" + top: "inception_5b/double3x3a/bn/sc" + name: "inception_5b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/double3x3a/bn/sc" + top: "inception_5b/double3x3b" + name: "inception_5b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3b" + name: "inception_5b/double3x3b/bn" + top: "inception_5b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3b/bn" + top: "inception_5b/double3x3b/bn/sc" + name: "inception_5b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3b/bn/sc" + top: "inception_5b/double3x3b/bn/sc" + name: "inception_5b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/pool" + name: "inception_5b/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_5b/pool" + top: "inception_5b/pool_proj" + name: "inception_5b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/pool_proj" + name: "inception_5b/pool_proj/bn" + top: "inception_5b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/pool_proj/bn" + top: "inception_5b/pool_proj/bn/sc" + name: "inception_5b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/pool_proj/bn/sc" + top: "inception_5b/pool_proj/bn/sc" + name: "inception_5b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/1x1/bn/sc" + bottom: "inception_5b/3x3/bn/sc" + bottom: "inception_5b/double3x3b/bn/sc" + bottom: "inception_5b/pool_proj/bn/sc" + top: "inception_5b/output" + name: "inception_5b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_5b/output" + top: "pool5/7x7_s1" + name: "pool5/7x7_s1" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 7 + stride: 1 + } +} +layer { + bottom: "pool5/7x7_s1" + top: "loss3/classifier" + name: "loss3/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/loss" + name: "loss3/loss" + type: "SoftmaxWithLoss" + loss_weight: 1 +} +layer { + bottom: "loss3/classifier" + top: "loss3/prob" + name: "loss3/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss3/prob" + bottom: "label" + top: "loss3/top-1" + name: "loss3/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss3/prob" + bottom: "label" + top: "loss3/top-5" + name: "loss3/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} diff --git a/models/intel_optimized_models/googlenet_v2/knl/train_val_dummydata.prototxt b/models/intel_optimized_models/googlenet_v2/knl/train_val_dummydata.prototxt new file mode 100644 index 000000000..28a89b023 --- /dev/null +++ b/models/intel_optimized_models/googlenet_v2/knl/train_val_dummydata.prototxt @@ -0,0 +1,4034 @@ +# Inception Network (GoogLeNet Batch Normalization Network) +name: "InceptionNetwork" +### Training Set +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 96 dim: 3 dim: 224 dim: 224 } + shape: { dim: 96 dim: 1 dim: 1 dim: 1 } + } +} + +### Validation Set +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 192 dim: 3 dim: 224 dim: 224 } + shape: { dim: 192 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + bottom: "data" + top: "conv1/7x7_s2" + name: "conv1/7x7_s2" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv1/7x7_s2" + name: "conv1/7x7_s2/bn" + top: "conv1/7x7_s2/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv1/7x7_s2/bn" + top: "conv1/7x7_s2/bn/sc" + name: "conv1/7x7_s2/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv1/7x7_s2/bn/sc" + top: "conv1/7x7_s2/bn/sc" + name: "conv1/7x7_s2/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv1/7x7_s2/bn/sc" + top: "pool1/3x3_s2" + name: "pool1/3x3_s2" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "pool1/3x3_s2" + top: "conv2/3x3_reduce" + name: "conv2/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv2/3x3_reduce" + name: "conv2/3x3_reduce/bn" + top: "conv2/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv2/3x3_reduce/bn" + top: "conv2/3x3_reduce/bn/sc" + name: "conv2/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv2/3x3_reduce/bn/sc" + top: "conv2/3x3_reduce/bn/sc" + name: "conv2/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2/3x3_reduce/bn/sc" + top: "conv2/3x3" + name: "conv2/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv2/3x3" + name: "conv2/3x3/bn" + top: "conv2/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv2/3x3/bn" + top: "conv2/3x3/bn/sc" + name: "conv2/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv2/3x3/bn/sc" + top: "conv2/3x3/bn/sc" + name: "conv2/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2/3x3/bn/sc" + top: "pool2/3x3_s2" + name: "pool2/3x3_s2" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/1x1" + name: "inception_3a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/1x1" + name: "inception_3a/1x1/bn" + top: "inception_3a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/1x1/bn" + top: "inception_3a/1x1/bn/sc" + name: "inception_3a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/1x1/bn/sc" + top: "inception_3a/1x1/bn/sc" + name: "inception_3a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/3x3_reduce" + name: "inception_3a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/3x3_reduce" + name: "inception_3a/3x3_reduce/bn" + top: "inception_3a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn" + top: "inception_3a/3x3_reduce/bn/sc" + name: "inception_3a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn/sc" + top: "inception_3a/3x3_reduce/bn/sc" + name: "inception_3a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn/sc" + top: "inception_3a/3x3" + name: "inception_3a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/3x3" + name: "inception_3a/3x3/bn" + top: "inception_3a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/3x3/bn" + top: "inception_3a/3x3/bn/sc" + name: "inception_3a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/3x3/bn/sc" + top: "inception_3a/3x3/bn/sc" + name: "inception_3a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/double3x3_reduce" + name: "inception_3a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3_reduce" + name: "inception_3a/double3x3_reduce/bn" + top: "inception_3a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn" + top: "inception_3a/double3x3_reduce/bn/sc" + name: "inception_3a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn/sc" + top: "inception_3a/double3x3_reduce/bn/sc" + name: "inception_3a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn/sc" + top: "inception_3a/double3x3a" + name: "inception_3a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3a" + name: "inception_3a/double3x3a/bn" + top: "inception_3a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3a/bn" + top: "inception_3a/double3x3a/bn/sc" + name: "inception_3a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3a/bn/sc" + top: "inception_3a/double3x3a/bn/sc" + name: "inception_3a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/double3x3a/bn/sc" + top: "inception_3a/double3x3b" + name: "inception_3a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3b" + name: "inception_3a/double3x3b/bn" + top: "inception_3a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3b/bn" + top: "inception_3a/double3x3b/bn/sc" + name: "inception_3a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3b/bn/sc" + top: "inception_3a/double3x3b/bn/sc" + name: "inception_3a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/pool" + name: "inception_3a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_3a/pool" + top: "inception_3a/pool_proj" + name: "inception_3a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 32 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/pool_proj" + name: "inception_3a/pool_proj/bn" + top: "inception_3a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/pool_proj/bn" + top: "inception_3a/pool_proj/bn/sc" + name: "inception_3a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/pool_proj/bn/sc" + top: "inception_3a/pool_proj/bn/sc" + name: "inception_3a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/1x1/bn/sc" + bottom: "inception_3a/3x3/bn/sc" + bottom: "inception_3a/double3x3b/bn/sc" + bottom: "inception_3a/pool_proj/bn/sc" + top: "inception_3a/output" + name: "inception_3a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/1x1" + name: "inception_3b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/1x1" + name: "inception_3b/1x1/bn" + top: "inception_3b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/1x1/bn" + top: "inception_3b/1x1/bn/sc" + name: "inception_3b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/1x1/bn/sc" + top: "inception_3b/1x1/bn/sc" + name: "inception_3b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/3x3_reduce" + name: "inception_3b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/3x3_reduce" + name: "inception_3b/3x3_reduce/bn" + top: "inception_3b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn" + top: "inception_3b/3x3_reduce/bn/sc" + name: "inception_3b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn/sc" + top: "inception_3b/3x3_reduce/bn/sc" + name: "inception_3b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn/sc" + top: "inception_3b/3x3" + name: "inception_3b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/3x3" + name: "inception_3b/3x3/bn" + top: "inception_3b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/3x3/bn" + top: "inception_3b/3x3/bn/sc" + name: "inception_3b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/3x3/bn/sc" + top: "inception_3b/3x3/bn/sc" + name: "inception_3b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/double3x3_reduce" + name: "inception_3b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3_reduce" + name: "inception_3b/double3x3_reduce/bn" + top: "inception_3b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn" + top: "inception_3b/double3x3_reduce/bn/sc" + name: "inception_3b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn/sc" + top: "inception_3b/double3x3_reduce/bn/sc" + name: "inception_3b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn/sc" + top: "inception_3b/double3x3a" + name: "inception_3b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3a" + name: "inception_3b/double3x3a/bn" + top: "inception_3b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3a/bn" + top: "inception_3b/double3x3a/bn/sc" + name: "inception_3b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3a/bn/sc" + top: "inception_3b/double3x3a/bn/sc" + name: "inception_3b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/double3x3a/bn/sc" + top: "inception_3b/double3x3b" + name: "inception_3b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3b" + name: "inception_3b/double3x3b/bn" + top: "inception_3b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3b/bn" + top: "inception_3b/double3x3b/bn/sc" + name: "inception_3b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3b/bn/sc" + top: "inception_3b/double3x3b/bn/sc" + name: "inception_3b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/pool" + name: "inception_3b/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_3b/pool" + top: "inception_3b/pool_proj" + name: "inception_3b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/pool_proj" + name: "inception_3b/pool_proj/bn" + top: "inception_3b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/pool_proj/bn" + top: "inception_3b/pool_proj/bn/sc" + name: "inception_3b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/pool_proj/bn/sc" + top: "inception_3b/pool_proj/bn/sc" + name: "inception_3b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/1x1/bn/sc" + bottom: "inception_3b/3x3/bn/sc" + bottom: "inception_3b/double3x3b/bn/sc" + bottom: "inception_3b/pool_proj/bn/sc" + top: "inception_3b/output" + name: "inception_3b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/3x3_reduce" + name: "inception_3c/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/3x3_reduce" + name: "inception_3c/3x3_reduce/bn" + top: "inception_3c/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn" + top: "inception_3c/3x3_reduce/bn/sc" + name: "inception_3c/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn/sc" + top: "inception_3c/3x3_reduce/bn/sc" + name: "inception_3c/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn/sc" + top: "inception_3c/3x3" + name: "inception_3c/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/3x3" + name: "inception_3c/3x3/bn" + top: "inception_3c/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/3x3/bn" + top: "inception_3c/3x3/bn/sc" + name: "inception_3c/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/3x3/bn/sc" + top: "inception_3c/3x3/bn/sc" + name: "inception_3c/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/double3x3_reduce" + name: "inception_3c/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3_reduce" + name: "inception_3c/double3x3_reduce/bn" + top: "inception_3c/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn" + top: "inception_3c/double3x3_reduce/bn/sc" + name: "inception_3c/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn/sc" + top: "inception_3c/double3x3_reduce/bn/sc" + name: "inception_3c/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn/sc" + top: "inception_3c/double3x3a" + name: "inception_3c/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3a" + name: "inception_3c/double3x3a/bn" + top: "inception_3c/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3a/bn" + top: "inception_3c/double3x3a/bn/sc" + name: "inception_3c/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3a/bn/sc" + top: "inception_3c/double3x3a/bn/sc" + name: "inception_3c/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/double3x3a/bn/sc" + top: "inception_3c/double3x3b" + name: "inception_3c/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3b" + name: "inception_3c/double3x3b/bn" + top: "inception_3c/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3b/bn" + top: "inception_3c/double3x3b/bn/sc" + name: "inception_3c/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3b/bn/sc" + top: "inception_3c/double3x3b/bn/sc" + name: "inception_3c/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/pool" + name: "inception_3c/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "inception_3c/3x3/bn/sc" + bottom: "inception_3c/double3x3b/bn/sc" + bottom: "inception_3c/pool" + top: "inception_3c/output" + name: "inception_3c/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "pool3/5x5_s3" + name: "pool3/5x5_s3" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + bottom: "pool3/5x5_s3" + top: "loss1/conv" + name: "loss1/conv" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss1/conv" + name: "loss1/conv/bn" + top: "loss1/conv/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss1/conv/bn" + top: "loss1/conv/bn/sc" + name: "loss1/conv/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss1/conv/bn/sc" + top: "loss1/conv/bn/sc" + name: "loss1/conv/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss1/conv/bn/sc" + top: "loss1/fc" + name: "loss1/fc" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss1/fc" + name: "loss1/fc/bn" + top: "loss1/fc/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss1/fc/bn" + top: "loss1/fc/bn/sc" + name: "loss1/fc/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss1/fc/bn/sc" + top: "loss1/fc/bn/sc" + name: "loss1/fc/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss1/fc/bn/sc" + top: "loss1/classifier" + name: "loss1/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/loss" + name: "loss1/loss" + type: "SoftmaxWithLoss" + loss_weight: 0.3 +} +layer { + bottom: "loss1/classifier" + top: "loss1/prob" + name: "loss1/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss1/prob" + bottom: "label" + top: "loss1/top-1" + name: "loss1/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss1/prob" + bottom: "label" + top: "loss1/top-5" + name: "loss1/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/1x1" + name: "inception_4a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/1x1" + name: "inception_4a/1x1/bn" + top: "inception_4a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/1x1/bn" + top: "inception_4a/1x1/bn/sc" + name: "inception_4a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/1x1/bn/sc" + top: "inception_4a/1x1/bn/sc" + name: "inception_4a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/3x3_reduce" + name: "inception_4a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/3x3_reduce" + name: "inception_4a/3x3_reduce/bn" + top: "inception_4a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn" + top: "inception_4a/3x3_reduce/bn/sc" + name: "inception_4a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn/sc" + top: "inception_4a/3x3_reduce/bn/sc" + name: "inception_4a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn/sc" + top: "inception_4a/3x3" + name: "inception_4a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/3x3" + name: "inception_4a/3x3/bn" + top: "inception_4a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/3x3/bn" + top: "inception_4a/3x3/bn/sc" + name: "inception_4a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/3x3/bn/sc" + top: "inception_4a/3x3/bn/sc" + name: "inception_4a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/double3x3_reduce" + name: "inception_4a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3_reduce" + name: "inception_4a/double3x3_reduce/bn" + top: "inception_4a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn" + top: "inception_4a/double3x3_reduce/bn/sc" + name: "inception_4a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn/sc" + top: "inception_4a/double3x3_reduce/bn/sc" + name: "inception_4a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn/sc" + top: "inception_4a/double3x3a" + name: "inception_4a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3a" + name: "inception_4a/double3x3a/bn" + top: "inception_4a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3a/bn" + top: "inception_4a/double3x3a/bn/sc" + name: "inception_4a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3a/bn/sc" + top: "inception_4a/double3x3a/bn/sc" + name: "inception_4a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/double3x3a/bn/sc" + top: "inception_4a/double3x3b" + name: "inception_4a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3b" + name: "inception_4a/double3x3b/bn" + top: "inception_4a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3b/bn" + top: "inception_4a/double3x3b/bn/sc" + name: "inception_4a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3b/bn/sc" + top: "inception_4a/double3x3b/bn/sc" + name: "inception_4a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/pool" + name: "inception_4a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4a/pool" + top: "inception_4a/pool_proj" + name: "inception_4a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/pool_proj" + name: "inception_4a/pool_proj/bn" + top: "inception_4a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/pool_proj/bn" + top: "inception_4a/pool_proj/bn/sc" + name: "inception_4a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/pool_proj/bn/sc" + top: "inception_4a/pool_proj/bn/sc" + name: "inception_4a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/1x1/bn/sc" + bottom: "inception_4a/3x3/bn/sc" + bottom: "inception_4a/double3x3b/bn/sc" + bottom: "inception_4a/pool_proj/bn/sc" + top: "inception_4a/output" + name: "inception_4a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/1x1" + name: "inception_4b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/1x1" + name: "inception_4b/1x1/bn" + top: "inception_4b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/1x1/bn" + top: "inception_4b/1x1/bn/sc" + name: "inception_4b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/1x1/bn/sc" + top: "inception_4b/1x1/bn/sc" + name: "inception_4b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/3x3_reduce" + name: "inception_4b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/3x3_reduce" + name: "inception_4b/3x3_reduce/bn" + top: "inception_4b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn" + top: "inception_4b/3x3_reduce/bn/sc" + name: "inception_4b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn/sc" + top: "inception_4b/3x3_reduce/bn/sc" + name: "inception_4b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn/sc" + top: "inception_4b/3x3" + name: "inception_4b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/3x3" + name: "inception_4b/3x3/bn" + top: "inception_4b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/3x3/bn" + top: "inception_4b/3x3/bn/sc" + name: "inception_4b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/3x3/bn/sc" + top: "inception_4b/3x3/bn/sc" + name: "inception_4b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/double3x3_reduce" + name: "inception_4b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3_reduce" + name: "inception_4b/double3x3_reduce/bn" + top: "inception_4b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn" + top: "inception_4b/double3x3_reduce/bn/sc" + name: "inception_4b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn/sc" + top: "inception_4b/double3x3_reduce/bn/sc" + name: "inception_4b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn/sc" + top: "inception_4b/double3x3a" + name: "inception_4b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3a" + name: "inception_4b/double3x3a/bn" + top: "inception_4b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3a/bn" + top: "inception_4b/double3x3a/bn/sc" + name: "inception_4b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3a/bn/sc" + top: "inception_4b/double3x3a/bn/sc" + name: "inception_4b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/double3x3a/bn/sc" + top: "inception_4b/double3x3b" + name: "inception_4b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3b" + name: "inception_4b/double3x3b/bn" + top: "inception_4b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3b/bn" + top: "inception_4b/double3x3b/bn/sc" + name: "inception_4b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3b/bn/sc" + top: "inception_4b/double3x3b/bn/sc" + name: "inception_4b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/pool" + name: "inception_4b/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4b/pool" + top: "inception_4b/pool_proj" + name: "inception_4b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/pool_proj" + name: "inception_4b/pool_proj/bn" + top: "inception_4b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/pool_proj/bn" + top: "inception_4b/pool_proj/bn/sc" + name: "inception_4b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/pool_proj/bn/sc" + top: "inception_4b/pool_proj/bn/sc" + name: "inception_4b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/1x1/bn/sc" + bottom: "inception_4b/3x3/bn/sc" + bottom: "inception_4b/double3x3b/bn/sc" + bottom: "inception_4b/pool_proj/bn/sc" + top: "inception_4b/output" + name: "inception_4b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/1x1" + name: "inception_4c/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/1x1" + name: "inception_4c/1x1/bn" + top: "inception_4c/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/1x1/bn" + top: "inception_4c/1x1/bn/sc" + name: "inception_4c/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/1x1/bn/sc" + top: "inception_4c/1x1/bn/sc" + name: "inception_4c/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/3x3_reduce" + name: "inception_4c/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/3x3_reduce" + name: "inception_4c/3x3_reduce/bn" + top: "inception_4c/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn" + top: "inception_4c/3x3_reduce/bn/sc" + name: "inception_4c/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn/sc" + top: "inception_4c/3x3_reduce/bn/sc" + name: "inception_4c/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn/sc" + top: "inception_4c/3x3" + name: "inception_4c/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/3x3" + name: "inception_4c/3x3/bn" + top: "inception_4c/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/3x3/bn" + top: "inception_4c/3x3/bn/sc" + name: "inception_4c/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/3x3/bn/sc" + top: "inception_4c/3x3/bn/sc" + name: "inception_4c/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/double3x3_reduce" + name: "inception_4c/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3_reduce" + name: "inception_4c/double3x3_reduce/bn" + top: "inception_4c/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn" + top: "inception_4c/double3x3_reduce/bn/sc" + name: "inception_4c/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn/sc" + top: "inception_4c/double3x3_reduce/bn/sc" + name: "inception_4c/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn/sc" + top: "inception_4c/double3x3a" + name: "inception_4c/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3a" + name: "inception_4c/double3x3a/bn" + top: "inception_4c/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3a/bn" + top: "inception_4c/double3x3a/bn/sc" + name: "inception_4c/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3a/bn/sc" + top: "inception_4c/double3x3a/bn/sc" + name: "inception_4c/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/double3x3a/bn/sc" + top: "inception_4c/double3x3b" + name: "inception_4c/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3b" + name: "inception_4c/double3x3b/bn" + top: "inception_4c/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3b/bn" + top: "inception_4c/double3x3b/bn/sc" + name: "inception_4c/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3b/bn/sc" + top: "inception_4c/double3x3b/bn/sc" + name: "inception_4c/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/pool" + name: "inception_4c/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4c/pool" + top: "inception_4c/pool_proj" + name: "inception_4c/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/pool_proj" + name: "inception_4c/pool_proj/bn" + top: "inception_4c/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/pool_proj/bn" + top: "inception_4c/pool_proj/bn/sc" + name: "inception_4c/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/pool_proj/bn/sc" + top: "inception_4c/pool_proj/bn/sc" + name: "inception_4c/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/1x1/bn/sc" + bottom: "inception_4c/3x3/bn/sc" + bottom: "inception_4c/double3x3b/bn/sc" + bottom: "inception_4c/pool_proj/bn/sc" + top: "inception_4c/output" + name: "inception_4c/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/1x1" + name: "inception_4d/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/1x1" + name: "inception_4d/1x1/bn" + top: "inception_4d/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/1x1/bn" + top: "inception_4d/1x1/bn/sc" + name: "inception_4d/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/1x1/bn/sc" + top: "inception_4d/1x1/bn/sc" + name: "inception_4d/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/3x3_reduce" + name: "inception_4d/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/3x3_reduce" + name: "inception_4d/3x3_reduce/bn" + top: "inception_4d/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn" + top: "inception_4d/3x3_reduce/bn/sc" + name: "inception_4d/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn/sc" + top: "inception_4d/3x3_reduce/bn/sc" + name: "inception_4d/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn/sc" + top: "inception_4d/3x3" + name: "inception_4d/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/3x3" + name: "inception_4d/3x3/bn" + top: "inception_4d/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/3x3/bn" + top: "inception_4d/3x3/bn/sc" + name: "inception_4d/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/3x3/bn/sc" + top: "inception_4d/3x3/bn/sc" + name: "inception_4d/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/double3x3_reduce" + name: "inception_4d/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3_reduce" + name: "inception_4d/double3x3_reduce/bn" + top: "inception_4d/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn" + top: "inception_4d/double3x3_reduce/bn/sc" + name: "inception_4d/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn/sc" + top: "inception_4d/double3x3_reduce/bn/sc" + name: "inception_4d/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn/sc" + top: "inception_4d/double3x3a" + name: "inception_4d/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3a" + name: "inception_4d/double3x3a/bn" + top: "inception_4d/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3a/bn" + top: "inception_4d/double3x3a/bn/sc" + name: "inception_4d/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3a/bn/sc" + top: "inception_4d/double3x3a/bn/sc" + name: "inception_4d/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/double3x3a/bn/sc" + top: "inception_4d/double3x3b" + name: "inception_4d/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3b" + name: "inception_4d/double3x3b/bn" + top: "inception_4d/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3b/bn" + top: "inception_4d/double3x3b/bn/sc" + name: "inception_4d/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3b/bn/sc" + top: "inception_4d/double3x3b/bn/sc" + name: "inception_4d/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/pool" + name: "inception_4d/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4d/pool" + top: "inception_4d/pool_proj" + name: "inception_4d/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/pool_proj" + name: "inception_4d/pool_proj/bn" + top: "inception_4d/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/pool_proj/bn" + top: "inception_4d/pool_proj/bn/sc" + name: "inception_4d/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/pool_proj/bn/sc" + top: "inception_4d/pool_proj/bn/sc" + name: "inception_4d/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/1x1/bn/sc" + bottom: "inception_4d/3x3/bn/sc" + bottom: "inception_4d/double3x3b/bn/sc" + bottom: "inception_4d/pool_proj/bn/sc" + top: "inception_4d/output" + name: "inception_4d/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/3x3_reduce" + name: "inception_4e/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/3x3_reduce" + name: "inception_4e/3x3_reduce/bn" + top: "inception_4e/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn" + top: "inception_4e/3x3_reduce/bn/sc" + name: "inception_4e/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn/sc" + top: "inception_4e/3x3_reduce/bn/sc" + name: "inception_4e/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn/sc" + top: "inception_4e/3x3" + name: "inception_4e/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/3x3" + name: "inception_4e/3x3/bn" + top: "inception_4e/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/3x3/bn" + top: "inception_4e/3x3/bn/sc" + name: "inception_4e/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/3x3/bn/sc" + top: "inception_4e/3x3/bn/sc" + name: "inception_4e/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/double3x3_reduce" + name: "inception_4e/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3_reduce" + name: "inception_4e/double3x3_reduce/bn" + top: "inception_4e/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn" + top: "inception_4e/double3x3_reduce/bn/sc" + name: "inception_4e/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn/sc" + top: "inception_4e/double3x3_reduce/bn/sc" + name: "inception_4e/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn/sc" + top: "inception_4e/double3x3a" + name: "inception_4e/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3a" + name: "inception_4e/double3x3a/bn" + top: "inception_4e/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3a/bn" + top: "inception_4e/double3x3a/bn/sc" + name: "inception_4e/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3a/bn/sc" + top: "inception_4e/double3x3a/bn/sc" + name: "inception_4e/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/double3x3a/bn/sc" + top: "inception_4e/double3x3b" + name: "inception_4e/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3b" + name: "inception_4e/double3x3b/bn" + top: "inception_4e/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3b/bn" + top: "inception_4e/double3x3b/bn/sc" + name: "inception_4e/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3b/bn/sc" + top: "inception_4e/double3x3b/bn/sc" + name: "inception_4e/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/pool" + name: "inception_4e/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "inception_4e/3x3/bn/sc" + bottom: "inception_4e/double3x3b/bn/sc" + bottom: "inception_4e/pool" + top: "inception_4e/output" + name: "inception_4e/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "pool4/5x5_s3" + name: "pool4/5x5_s3" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + bottom: "pool4/5x5_s3" + top: "loss2/conv" + name: "loss2/conv" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss2/conv" + name: "loss2/conv/bn" + top: "loss2/conv/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss2/conv/bn" + top: "loss2/conv/bn/sc" + name: "loss2/conv/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss2/conv/bn/sc" + top: "loss2/conv/bn/sc" + name: "loss2/conv/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss2/conv/bn/sc" + top: "loss2/fc" + name: "loss2/fc" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss2/fc" + name: "loss2/fc/bn" + top: "loss2/fc/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss2/fc/bn" + top: "loss2/fc/bn/sc" + name: "loss2/fc/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss2/fc/bn/sc" + top: "loss2/fc/bn/sc" + name: "loss2/fc/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss2/fc/bn/sc" + top: "loss2/classifier" + name: "loss2/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/loss" + name: "loss2/loss" + type: "SoftmaxWithLoss" + loss_weight: 0.3 +} +layer { + bottom: "loss2/classifier" + top: "loss2/prob" + name: "loss2/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss2/prob" + bottom: "label" + top: "loss2/top-1" + name: "loss2/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss2/prob" + bottom: "label" + top: "loss2/top-5" + name: "loss2/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/1x1" + name: "inception_5a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 352 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/1x1" + name: "inception_5a/1x1/bn" + top: "inception_5a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/1x1/bn" + top: "inception_5a/1x1/bn/sc" + name: "inception_5a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/1x1/bn/sc" + top: "inception_5a/1x1/bn/sc" + name: "inception_5a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/3x3_reduce" + name: "inception_5a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/3x3_reduce" + name: "inception_5a/3x3_reduce/bn" + top: "inception_5a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn" + top: "inception_5a/3x3_reduce/bn/sc" + name: "inception_5a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn/sc" + top: "inception_5a/3x3_reduce/bn/sc" + name: "inception_5a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn/sc" + top: "inception_5a/3x3" + name: "inception_5a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 320 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/3x3" + name: "inception_5a/3x3/bn" + top: "inception_5a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/3x3/bn" + top: "inception_5a/3x3/bn/sc" + name: "inception_5a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/3x3/bn/sc" + top: "inception_5a/3x3/bn/sc" + name: "inception_5a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/double3x3_reduce" + name: "inception_5a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3_reduce" + name: "inception_5a/double3x3_reduce/bn" + top: "inception_5a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn" + top: "inception_5a/double3x3_reduce/bn/sc" + name: "inception_5a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn/sc" + top: "inception_5a/double3x3_reduce/bn/sc" + name: "inception_5a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn/sc" + top: "inception_5a/double3x3a" + name: "inception_5a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3a" + name: "inception_5a/double3x3a/bn" + top: "inception_5a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3a/bn" + top: "inception_5a/double3x3a/bn/sc" + name: "inception_5a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3a/bn/sc" + top: "inception_5a/double3x3a/bn/sc" + name: "inception_5a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/double3x3a/bn/sc" + top: "inception_5a/double3x3b" + name: "inception_5a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3b" + name: "inception_5a/double3x3b/bn" + top: "inception_5a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3b/bn" + top: "inception_5a/double3x3b/bn/sc" + name: "inception_5a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3b/bn/sc" + top: "inception_5a/double3x3b/bn/sc" + name: "inception_5a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/pool" + name: "inception_5a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_5a/pool" + top: "inception_5a/pool_proj" + name: "inception_5a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/pool_proj" + name: "inception_5a/pool_proj/bn" + top: "inception_5a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/pool_proj/bn" + top: "inception_5a/pool_proj/bn/sc" + name: "inception_5a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/pool_proj/bn/sc" + top: "inception_5a/pool_proj/bn/sc" + name: "inception_5a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/1x1/bn/sc" + bottom: "inception_5a/3x3/bn/sc" + bottom: "inception_5a/double3x3b/bn/sc" + bottom: "inception_5a/pool_proj/bn/sc" + top: "inception_5a/output" + name: "inception_5a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/1x1" + name: "inception_5b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 352 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/1x1" + name: "inception_5b/1x1/bn" + top: "inception_5b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/1x1/bn" + top: "inception_5b/1x1/bn/sc" + name: "inception_5b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/1x1/bn/sc" + top: "inception_5b/1x1/bn/sc" + name: "inception_5b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/3x3_reduce" + name: "inception_5b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/3x3_reduce" + name: "inception_5b/3x3_reduce/bn" + top: "inception_5b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn" + top: "inception_5b/3x3_reduce/bn/sc" + name: "inception_5b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn/sc" + top: "inception_5b/3x3_reduce/bn/sc" + name: "inception_5b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn/sc" + top: "inception_5b/3x3" + name: "inception_5b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 320 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/3x3" + name: "inception_5b/3x3/bn" + top: "inception_5b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/3x3/bn" + top: "inception_5b/3x3/bn/sc" + name: "inception_5b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/3x3/bn/sc" + top: "inception_5b/3x3/bn/sc" + name: "inception_5b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/double3x3_reduce" + name: "inception_5b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3_reduce" + name: "inception_5b/double3x3_reduce/bn" + top: "inception_5b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn" + top: "inception_5b/double3x3_reduce/bn/sc" + name: "inception_5b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn/sc" + top: "inception_5b/double3x3_reduce/bn/sc" + name: "inception_5b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn/sc" + top: "inception_5b/double3x3a" + name: "inception_5b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3a" + name: "inception_5b/double3x3a/bn" + top: "inception_5b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3a/bn" + top: "inception_5b/double3x3a/bn/sc" + name: "inception_5b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3a/bn/sc" + top: "inception_5b/double3x3a/bn/sc" + name: "inception_5b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/double3x3a/bn/sc" + top: "inception_5b/double3x3b" + name: "inception_5b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3b" + name: "inception_5b/double3x3b/bn" + top: "inception_5b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3b/bn" + top: "inception_5b/double3x3b/bn/sc" + name: "inception_5b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3b/bn/sc" + top: "inception_5b/double3x3b/bn/sc" + name: "inception_5b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/pool" + name: "inception_5b/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_5b/pool" + top: "inception_5b/pool_proj" + name: "inception_5b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/pool_proj" + name: "inception_5b/pool_proj/bn" + top: "inception_5b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/pool_proj/bn" + top: "inception_5b/pool_proj/bn/sc" + name: "inception_5b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/pool_proj/bn/sc" + top: "inception_5b/pool_proj/bn/sc" + name: "inception_5b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/1x1/bn/sc" + bottom: "inception_5b/3x3/bn/sc" + bottom: "inception_5b/double3x3b/bn/sc" + bottom: "inception_5b/pool_proj/bn/sc" + top: "inception_5b/output" + name: "inception_5b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_5b/output" + top: "pool5/7x7_s1" + name: "pool5/7x7_s1" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 7 + stride: 1 + } +} +layer { + bottom: "pool5/7x7_s1" + top: "loss3/classifier" + name: "loss3/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/loss" + name: "loss3/loss" + type: "SoftmaxWithLoss" + loss_weight: 1 +} +layer { + bottom: "loss3/classifier" + top: "loss3/prob" + name: "loss3/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss3/prob" + bottom: "label" + top: "loss3/top-1" + name: "loss3/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss3/prob" + bottom: "label" + top: "loss3/top-5" + name: "loss3/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} diff --git a/models/intel_optimized_models/googlenet_v2/skx/train_val_dummydata.prototxt b/models/intel_optimized_models/googlenet_v2/skx/train_val_dummydata.prototxt new file mode 100644 index 000000000..63ca66d97 --- /dev/null +++ b/models/intel_optimized_models/googlenet_v2/skx/train_val_dummydata.prototxt @@ -0,0 +1,4034 @@ +# Inception Network (GoogLeNet Batch Normalization Network) +name: "InceptionNetwork" +### Training Set +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 128 dim: 3 dim: 224 dim: 224 } + shape: { dim: 128 dim: 1 dim: 1 dim: 1 } + } +} + +### Validation Set +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 192 dim: 3 dim: 224 dim: 224 } + shape: { dim: 192 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + bottom: "data" + top: "conv1/7x7_s2" + name: "conv1/7x7_s2" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv1/7x7_s2" + name: "conv1/7x7_s2/bn" + top: "conv1/7x7_s2/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv1/7x7_s2/bn" + top: "conv1/7x7_s2/bn/sc" + name: "conv1/7x7_s2/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv1/7x7_s2/bn/sc" + top: "conv1/7x7_s2/bn/sc" + name: "conv1/7x7_s2/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv1/7x7_s2/bn/sc" + top: "pool1/3x3_s2" + name: "pool1/3x3_s2" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "pool1/3x3_s2" + top: "conv2/3x3_reduce" + name: "conv2/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv2/3x3_reduce" + name: "conv2/3x3_reduce/bn" + top: "conv2/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv2/3x3_reduce/bn" + top: "conv2/3x3_reduce/bn/sc" + name: "conv2/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv2/3x3_reduce/bn/sc" + top: "conv2/3x3_reduce/bn/sc" + name: "conv2/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2/3x3_reduce/bn/sc" + top: "conv2/3x3" + name: "conv2/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "conv2/3x3" + name: "conv2/3x3/bn" + top: "conv2/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "conv2/3x3/bn" + top: "conv2/3x3/bn/sc" + name: "conv2/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "conv2/3x3/bn/sc" + top: "conv2/3x3/bn/sc" + name: "conv2/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "conv2/3x3/bn/sc" + top: "pool2/3x3_s2" + name: "pool2/3x3_s2" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/1x1" + name: "inception_3a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/1x1" + name: "inception_3a/1x1/bn" + top: "inception_3a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/1x1/bn" + top: "inception_3a/1x1/bn/sc" + name: "inception_3a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/1x1/bn/sc" + top: "inception_3a/1x1/bn/sc" + name: "inception_3a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/3x3_reduce" + name: "inception_3a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/3x3_reduce" + name: "inception_3a/3x3_reduce/bn" + top: "inception_3a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn" + top: "inception_3a/3x3_reduce/bn/sc" + name: "inception_3a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn/sc" + top: "inception_3a/3x3_reduce/bn/sc" + name: "inception_3a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/3x3_reduce/bn/sc" + top: "inception_3a/3x3" + name: "inception_3a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/3x3" + name: "inception_3a/3x3/bn" + top: "inception_3a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/3x3/bn" + top: "inception_3a/3x3/bn/sc" + name: "inception_3a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/3x3/bn/sc" + top: "inception_3a/3x3/bn/sc" + name: "inception_3a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/double3x3_reduce" + name: "inception_3a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3_reduce" + name: "inception_3a/double3x3_reduce/bn" + top: "inception_3a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn" + top: "inception_3a/double3x3_reduce/bn/sc" + name: "inception_3a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn/sc" + top: "inception_3a/double3x3_reduce/bn/sc" + name: "inception_3a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/double3x3_reduce/bn/sc" + top: "inception_3a/double3x3a" + name: "inception_3a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3a" + name: "inception_3a/double3x3a/bn" + top: "inception_3a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3a/bn" + top: "inception_3a/double3x3a/bn/sc" + name: "inception_3a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3a/bn/sc" + top: "inception_3a/double3x3a/bn/sc" + name: "inception_3a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/double3x3a/bn/sc" + top: "inception_3a/double3x3b" + name: "inception_3a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/double3x3b" + name: "inception_3a/double3x3b/bn" + top: "inception_3a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/double3x3b/bn" + top: "inception_3a/double3x3b/bn/sc" + name: "inception_3a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/double3x3b/bn/sc" + top: "inception_3a/double3x3b/bn/sc" + name: "inception_3a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "pool2/3x3_s2" + top: "inception_3a/pool" + name: "inception_3a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_3a/pool" + top: "inception_3a/pool_proj" + name: "inception_3a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 32 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3a/pool_proj" + name: "inception_3a/pool_proj/bn" + top: "inception_3a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3a/pool_proj/bn" + top: "inception_3a/pool_proj/bn/sc" + name: "inception_3a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3a/pool_proj/bn/sc" + top: "inception_3a/pool_proj/bn/sc" + name: "inception_3a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/1x1/bn/sc" + bottom: "inception_3a/3x3/bn/sc" + bottom: "inception_3a/double3x3b/bn/sc" + bottom: "inception_3a/pool_proj/bn/sc" + top: "inception_3a/output" + name: "inception_3a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/1x1" + name: "inception_3b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/1x1" + name: "inception_3b/1x1/bn" + top: "inception_3b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/1x1/bn" + top: "inception_3b/1x1/bn/sc" + name: "inception_3b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/1x1/bn/sc" + top: "inception_3b/1x1/bn/sc" + name: "inception_3b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/3x3_reduce" + name: "inception_3b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/3x3_reduce" + name: "inception_3b/3x3_reduce/bn" + top: "inception_3b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn" + top: "inception_3b/3x3_reduce/bn/sc" + name: "inception_3b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn/sc" + top: "inception_3b/3x3_reduce/bn/sc" + name: "inception_3b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/3x3_reduce/bn/sc" + top: "inception_3b/3x3" + name: "inception_3b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/3x3" + name: "inception_3b/3x3/bn" + top: "inception_3b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/3x3/bn" + top: "inception_3b/3x3/bn/sc" + name: "inception_3b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/3x3/bn/sc" + top: "inception_3b/3x3/bn/sc" + name: "inception_3b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/double3x3_reduce" + name: "inception_3b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3_reduce" + name: "inception_3b/double3x3_reduce/bn" + top: "inception_3b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn" + top: "inception_3b/double3x3_reduce/bn/sc" + name: "inception_3b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn/sc" + top: "inception_3b/double3x3_reduce/bn/sc" + name: "inception_3b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/double3x3_reduce/bn/sc" + top: "inception_3b/double3x3a" + name: "inception_3b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3a" + name: "inception_3b/double3x3a/bn" + top: "inception_3b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3a/bn" + top: "inception_3b/double3x3a/bn/sc" + name: "inception_3b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3a/bn/sc" + top: "inception_3b/double3x3a/bn/sc" + name: "inception_3b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/double3x3a/bn/sc" + top: "inception_3b/double3x3b" + name: "inception_3b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/double3x3b" + name: "inception_3b/double3x3b/bn" + top: "inception_3b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/double3x3b/bn" + top: "inception_3b/double3x3b/bn/sc" + name: "inception_3b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/double3x3b/bn/sc" + top: "inception_3b/double3x3b/bn/sc" + name: "inception_3b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3a/output" + top: "inception_3b/pool" + name: "inception_3b/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_3b/pool" + top: "inception_3b/pool_proj" + name: "inception_3b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3b/pool_proj" + name: "inception_3b/pool_proj/bn" + top: "inception_3b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3b/pool_proj/bn" + top: "inception_3b/pool_proj/bn/sc" + name: "inception_3b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3b/pool_proj/bn/sc" + top: "inception_3b/pool_proj/bn/sc" + name: "inception_3b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/1x1/bn/sc" + bottom: "inception_3b/3x3/bn/sc" + bottom: "inception_3b/double3x3b/bn/sc" + bottom: "inception_3b/pool_proj/bn/sc" + top: "inception_3b/output" + name: "inception_3b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/3x3_reduce" + name: "inception_3c/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/3x3_reduce" + name: "inception_3c/3x3_reduce/bn" + top: "inception_3c/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn" + top: "inception_3c/3x3_reduce/bn/sc" + name: "inception_3c/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn/sc" + top: "inception_3c/3x3_reduce/bn/sc" + name: "inception_3c/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/3x3_reduce/bn/sc" + top: "inception_3c/3x3" + name: "inception_3c/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/3x3" + name: "inception_3c/3x3/bn" + top: "inception_3c/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/3x3/bn" + top: "inception_3c/3x3/bn/sc" + name: "inception_3c/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/3x3/bn/sc" + top: "inception_3c/3x3/bn/sc" + name: "inception_3c/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/double3x3_reduce" + name: "inception_3c/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3_reduce" + name: "inception_3c/double3x3_reduce/bn" + top: "inception_3c/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn" + top: "inception_3c/double3x3_reduce/bn/sc" + name: "inception_3c/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn/sc" + top: "inception_3c/double3x3_reduce/bn/sc" + name: "inception_3c/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/double3x3_reduce/bn/sc" + top: "inception_3c/double3x3a" + name: "inception_3c/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3a" + name: "inception_3c/double3x3a/bn" + top: "inception_3c/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3a/bn" + top: "inception_3c/double3x3a/bn/sc" + name: "inception_3c/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3a/bn/sc" + top: "inception_3c/double3x3a/bn/sc" + name: "inception_3c/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/double3x3a/bn/sc" + top: "inception_3c/double3x3b" + name: "inception_3c/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_3c/double3x3b" + name: "inception_3c/double3x3b/bn" + top: "inception_3c/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_3c/double3x3b/bn" + top: "inception_3c/double3x3b/bn/sc" + name: "inception_3c/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_3c/double3x3b/bn/sc" + top: "inception_3c/double3x3b/bn/sc" + name: "inception_3c/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3b/output" + top: "inception_3c/pool" + name: "inception_3c/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "inception_3c/3x3/bn/sc" + bottom: "inception_3c/double3x3b/bn/sc" + bottom: "inception_3c/pool" + top: "inception_3c/output" + name: "inception_3c/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "pool3/5x5_s3" + name: "pool3/5x5_s3" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + bottom: "pool3/5x5_s3" + top: "loss1/conv" + name: "loss1/conv" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss1/conv" + name: "loss1/conv/bn" + top: "loss1/conv/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss1/conv/bn" + top: "loss1/conv/bn/sc" + name: "loss1/conv/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss1/conv/bn/sc" + top: "loss1/conv/bn/sc" + name: "loss1/conv/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss1/conv/bn/sc" + top: "loss1/fc" + name: "loss1/fc" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss1/fc" + name: "loss1/fc/bn" + top: "loss1/fc/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss1/fc/bn" + top: "loss1/fc/bn/sc" + name: "loss1/fc/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss1/fc/bn/sc" + top: "loss1/fc/bn/sc" + name: "loss1/fc/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss1/fc/bn/sc" + top: "loss1/classifier" + name: "loss1/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss1/classifier" + bottom: "label" + top: "loss1/loss" + name: "loss1/loss" + type: "SoftmaxWithLoss" + loss_weight: 0.3 +} +layer { + bottom: "loss1/classifier" + top: "loss1/prob" + name: "loss1/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss1/prob" + bottom: "label" + top: "loss1/top-1" + name: "loss1/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss1/prob" + bottom: "label" + top: "loss1/top-5" + name: "loss1/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/1x1" + name: "inception_4a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/1x1" + name: "inception_4a/1x1/bn" + top: "inception_4a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/1x1/bn" + top: "inception_4a/1x1/bn/sc" + name: "inception_4a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/1x1/bn/sc" + top: "inception_4a/1x1/bn/sc" + name: "inception_4a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/3x3_reduce" + name: "inception_4a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/3x3_reduce" + name: "inception_4a/3x3_reduce/bn" + top: "inception_4a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn" + top: "inception_4a/3x3_reduce/bn/sc" + name: "inception_4a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn/sc" + top: "inception_4a/3x3_reduce/bn/sc" + name: "inception_4a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/3x3_reduce/bn/sc" + top: "inception_4a/3x3" + name: "inception_4a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/3x3" + name: "inception_4a/3x3/bn" + top: "inception_4a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/3x3/bn" + top: "inception_4a/3x3/bn/sc" + name: "inception_4a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/3x3/bn/sc" + top: "inception_4a/3x3/bn/sc" + name: "inception_4a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/double3x3_reduce" + name: "inception_4a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3_reduce" + name: "inception_4a/double3x3_reduce/bn" + top: "inception_4a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn" + top: "inception_4a/double3x3_reduce/bn/sc" + name: "inception_4a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn/sc" + top: "inception_4a/double3x3_reduce/bn/sc" + name: "inception_4a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/double3x3_reduce/bn/sc" + top: "inception_4a/double3x3a" + name: "inception_4a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3a" + name: "inception_4a/double3x3a/bn" + top: "inception_4a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3a/bn" + top: "inception_4a/double3x3a/bn/sc" + name: "inception_4a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3a/bn/sc" + top: "inception_4a/double3x3a/bn/sc" + name: "inception_4a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/double3x3a/bn/sc" + top: "inception_4a/double3x3b" + name: "inception_4a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/double3x3b" + name: "inception_4a/double3x3b/bn" + top: "inception_4a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/double3x3b/bn" + top: "inception_4a/double3x3b/bn/sc" + name: "inception_4a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/double3x3b/bn/sc" + top: "inception_4a/double3x3b/bn/sc" + name: "inception_4a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_3c/output" + top: "inception_4a/pool" + name: "inception_4a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4a/pool" + top: "inception_4a/pool_proj" + name: "inception_4a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4a/pool_proj" + name: "inception_4a/pool_proj/bn" + top: "inception_4a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4a/pool_proj/bn" + top: "inception_4a/pool_proj/bn/sc" + name: "inception_4a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4a/pool_proj/bn/sc" + top: "inception_4a/pool_proj/bn/sc" + name: "inception_4a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/1x1/bn/sc" + bottom: "inception_4a/3x3/bn/sc" + bottom: "inception_4a/double3x3b/bn/sc" + bottom: "inception_4a/pool_proj/bn/sc" + top: "inception_4a/output" + name: "inception_4a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/1x1" + name: "inception_4b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/1x1" + name: "inception_4b/1x1/bn" + top: "inception_4b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/1x1/bn" + top: "inception_4b/1x1/bn/sc" + name: "inception_4b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/1x1/bn/sc" + top: "inception_4b/1x1/bn/sc" + name: "inception_4b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/3x3_reduce" + name: "inception_4b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/3x3_reduce" + name: "inception_4b/3x3_reduce/bn" + top: "inception_4b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn" + top: "inception_4b/3x3_reduce/bn/sc" + name: "inception_4b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn/sc" + top: "inception_4b/3x3_reduce/bn/sc" + name: "inception_4b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/3x3_reduce/bn/sc" + top: "inception_4b/3x3" + name: "inception_4b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/3x3" + name: "inception_4b/3x3/bn" + top: "inception_4b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/3x3/bn" + top: "inception_4b/3x3/bn/sc" + name: "inception_4b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/3x3/bn/sc" + top: "inception_4b/3x3/bn/sc" + name: "inception_4b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/double3x3_reduce" + name: "inception_4b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3_reduce" + name: "inception_4b/double3x3_reduce/bn" + top: "inception_4b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn" + top: "inception_4b/double3x3_reduce/bn/sc" + name: "inception_4b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn/sc" + top: "inception_4b/double3x3_reduce/bn/sc" + name: "inception_4b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/double3x3_reduce/bn/sc" + top: "inception_4b/double3x3a" + name: "inception_4b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3a" + name: "inception_4b/double3x3a/bn" + top: "inception_4b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3a/bn" + top: "inception_4b/double3x3a/bn/sc" + name: "inception_4b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3a/bn/sc" + top: "inception_4b/double3x3a/bn/sc" + name: "inception_4b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/double3x3a/bn/sc" + top: "inception_4b/double3x3b" + name: "inception_4b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/double3x3b" + name: "inception_4b/double3x3b/bn" + top: "inception_4b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/double3x3b/bn" + top: "inception_4b/double3x3b/bn/sc" + name: "inception_4b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/double3x3b/bn/sc" + top: "inception_4b/double3x3b/bn/sc" + name: "inception_4b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4a/output" + top: "inception_4b/pool" + name: "inception_4b/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4b/pool" + top: "inception_4b/pool_proj" + name: "inception_4b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4b/pool_proj" + name: "inception_4b/pool_proj/bn" + top: "inception_4b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4b/pool_proj/bn" + top: "inception_4b/pool_proj/bn/sc" + name: "inception_4b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4b/pool_proj/bn/sc" + top: "inception_4b/pool_proj/bn/sc" + name: "inception_4b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/1x1/bn/sc" + bottom: "inception_4b/3x3/bn/sc" + bottom: "inception_4b/double3x3b/bn/sc" + bottom: "inception_4b/pool_proj/bn/sc" + top: "inception_4b/output" + name: "inception_4b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/1x1" + name: "inception_4c/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/1x1" + name: "inception_4c/1x1/bn" + top: "inception_4c/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/1x1/bn" + top: "inception_4c/1x1/bn/sc" + name: "inception_4c/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/1x1/bn/sc" + top: "inception_4c/1x1/bn/sc" + name: "inception_4c/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/3x3_reduce" + name: "inception_4c/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/3x3_reduce" + name: "inception_4c/3x3_reduce/bn" + top: "inception_4c/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn" + top: "inception_4c/3x3_reduce/bn/sc" + name: "inception_4c/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn/sc" + top: "inception_4c/3x3_reduce/bn/sc" + name: "inception_4c/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/3x3_reduce/bn/sc" + top: "inception_4c/3x3" + name: "inception_4c/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/3x3" + name: "inception_4c/3x3/bn" + top: "inception_4c/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/3x3/bn" + top: "inception_4c/3x3/bn/sc" + name: "inception_4c/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/3x3/bn/sc" + top: "inception_4c/3x3/bn/sc" + name: "inception_4c/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/double3x3_reduce" + name: "inception_4c/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3_reduce" + name: "inception_4c/double3x3_reduce/bn" + top: "inception_4c/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn" + top: "inception_4c/double3x3_reduce/bn/sc" + name: "inception_4c/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn/sc" + top: "inception_4c/double3x3_reduce/bn/sc" + name: "inception_4c/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/double3x3_reduce/bn/sc" + top: "inception_4c/double3x3a" + name: "inception_4c/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3a" + name: "inception_4c/double3x3a/bn" + top: "inception_4c/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3a/bn" + top: "inception_4c/double3x3a/bn/sc" + name: "inception_4c/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3a/bn/sc" + top: "inception_4c/double3x3a/bn/sc" + name: "inception_4c/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/double3x3a/bn/sc" + top: "inception_4c/double3x3b" + name: "inception_4c/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/double3x3b" + name: "inception_4c/double3x3b/bn" + top: "inception_4c/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/double3x3b/bn" + top: "inception_4c/double3x3b/bn/sc" + name: "inception_4c/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/double3x3b/bn/sc" + top: "inception_4c/double3x3b/bn/sc" + name: "inception_4c/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4b/output" + top: "inception_4c/pool" + name: "inception_4c/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4c/pool" + top: "inception_4c/pool_proj" + name: "inception_4c/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4c/pool_proj" + name: "inception_4c/pool_proj/bn" + top: "inception_4c/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4c/pool_proj/bn" + top: "inception_4c/pool_proj/bn/sc" + name: "inception_4c/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4c/pool_proj/bn/sc" + top: "inception_4c/pool_proj/bn/sc" + name: "inception_4c/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/1x1/bn/sc" + bottom: "inception_4c/3x3/bn/sc" + bottom: "inception_4c/double3x3b/bn/sc" + bottom: "inception_4c/pool_proj/bn/sc" + top: "inception_4c/output" + name: "inception_4c/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/1x1" + name: "inception_4d/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/1x1" + name: "inception_4d/1x1/bn" + top: "inception_4d/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/1x1/bn" + top: "inception_4d/1x1/bn/sc" + name: "inception_4d/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/1x1/bn/sc" + top: "inception_4d/1x1/bn/sc" + name: "inception_4d/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/3x3_reduce" + name: "inception_4d/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/3x3_reduce" + name: "inception_4d/3x3_reduce/bn" + top: "inception_4d/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn" + top: "inception_4d/3x3_reduce/bn/sc" + name: "inception_4d/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn/sc" + top: "inception_4d/3x3_reduce/bn/sc" + name: "inception_4d/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/3x3_reduce/bn/sc" + top: "inception_4d/3x3" + name: "inception_4d/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/3x3" + name: "inception_4d/3x3/bn" + top: "inception_4d/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/3x3/bn" + top: "inception_4d/3x3/bn/sc" + name: "inception_4d/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/3x3/bn/sc" + top: "inception_4d/3x3/bn/sc" + name: "inception_4d/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/double3x3_reduce" + name: "inception_4d/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3_reduce" + name: "inception_4d/double3x3_reduce/bn" + top: "inception_4d/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn" + top: "inception_4d/double3x3_reduce/bn/sc" + name: "inception_4d/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn/sc" + top: "inception_4d/double3x3_reduce/bn/sc" + name: "inception_4d/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/double3x3_reduce/bn/sc" + top: "inception_4d/double3x3a" + name: "inception_4d/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3a" + name: "inception_4d/double3x3a/bn" + top: "inception_4d/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3a/bn" + top: "inception_4d/double3x3a/bn/sc" + name: "inception_4d/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3a/bn/sc" + top: "inception_4d/double3x3a/bn/sc" + name: "inception_4d/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/double3x3a/bn/sc" + top: "inception_4d/double3x3b" + name: "inception_4d/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/double3x3b" + name: "inception_4d/double3x3b/bn" + top: "inception_4d/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/double3x3b/bn" + top: "inception_4d/double3x3b/bn/sc" + name: "inception_4d/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/double3x3b/bn/sc" + top: "inception_4d/double3x3b/bn/sc" + name: "inception_4d/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4c/output" + top: "inception_4d/pool" + name: "inception_4d/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_4d/pool" + top: "inception_4d/pool_proj" + name: "inception_4d/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 96 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4d/pool_proj" + name: "inception_4d/pool_proj/bn" + top: "inception_4d/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4d/pool_proj/bn" + top: "inception_4d/pool_proj/bn/sc" + name: "inception_4d/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4d/pool_proj/bn/sc" + top: "inception_4d/pool_proj/bn/sc" + name: "inception_4d/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/1x1/bn/sc" + bottom: "inception_4d/3x3/bn/sc" + bottom: "inception_4d/double3x3b/bn/sc" + bottom: "inception_4d/pool_proj/bn/sc" + top: "inception_4d/output" + name: "inception_4d/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/3x3_reduce" + name: "inception_4e/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/3x3_reduce" + name: "inception_4e/3x3_reduce/bn" + top: "inception_4e/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn" + top: "inception_4e/3x3_reduce/bn/sc" + name: "inception_4e/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn/sc" + top: "inception_4e/3x3_reduce/bn/sc" + name: "inception_4e/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/3x3_reduce/bn/sc" + top: "inception_4e/3x3" + name: "inception_4e/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/3x3" + name: "inception_4e/3x3/bn" + top: "inception_4e/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/3x3/bn" + top: "inception_4e/3x3/bn/sc" + name: "inception_4e/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/3x3/bn/sc" + top: "inception_4e/3x3/bn/sc" + name: "inception_4e/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/double3x3_reduce" + name: "inception_4e/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3_reduce" + name: "inception_4e/double3x3_reduce/bn" + top: "inception_4e/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn" + top: "inception_4e/double3x3_reduce/bn/sc" + name: "inception_4e/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn/sc" + top: "inception_4e/double3x3_reduce/bn/sc" + name: "inception_4e/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/double3x3_reduce/bn/sc" + top: "inception_4e/double3x3a" + name: "inception_4e/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3a" + name: "inception_4e/double3x3a/bn" + top: "inception_4e/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3a/bn" + top: "inception_4e/double3x3a/bn/sc" + name: "inception_4e/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3a/bn/sc" + top: "inception_4e/double3x3a/bn/sc" + name: "inception_4e/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/double3x3a/bn/sc" + top: "inception_4e/double3x3b" + name: "inception_4e/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 256 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_4e/double3x3b" + name: "inception_4e/double3x3b/bn" + top: "inception_4e/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_4e/double3x3b/bn" + top: "inception_4e/double3x3b/bn/sc" + name: "inception_4e/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_4e/double3x3b/bn/sc" + top: "inception_4e/double3x3b/bn/sc" + name: "inception_4e/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4d/output" + top: "inception_4e/pool" + name: "inception_4e/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layer { + bottom: "inception_4e/3x3/bn/sc" + bottom: "inception_4e/double3x3b/bn/sc" + bottom: "inception_4e/pool" + top: "inception_4e/output" + name: "inception_4e/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "pool4/5x5_s3" + name: "pool4/5x5_s3" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 5 + stride: 3 + } +} +layer { + bottom: "pool4/5x5_s3" + top: "loss2/conv" + name: "loss2/conv" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss2/conv" + name: "loss2/conv/bn" + top: "loss2/conv/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss2/conv/bn" + top: "loss2/conv/bn/sc" + name: "loss2/conv/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss2/conv/bn/sc" + top: "loss2/conv/bn/sc" + name: "loss2/conv/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss2/conv/bn/sc" + top: "loss2/fc" + name: "loss2/fc" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + inner_product_param { + num_output: 1024 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "loss2/fc" + name: "loss2/fc/bn" + top: "loss2/fc/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "loss2/fc/bn" + top: "loss2/fc/bn/sc" + name: "loss2/fc/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "loss2/fc/bn/sc" + top: "loss2/fc/bn/sc" + name: "loss2/fc/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "loss2/fc/bn/sc" + top: "loss2/classifier" + name: "loss2/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss2/classifier" + bottom: "label" + top: "loss2/loss" + name: "loss2/loss" + type: "SoftmaxWithLoss" + loss_weight: 0.3 +} +layer { + bottom: "loss2/classifier" + top: "loss2/prob" + name: "loss2/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss2/prob" + bottom: "label" + top: "loss2/top-1" + name: "loss2/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss2/prob" + bottom: "label" + top: "loss2/top-5" + name: "loss2/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/1x1" + name: "inception_5a/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 352 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/1x1" + name: "inception_5a/1x1/bn" + top: "inception_5a/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/1x1/bn" + top: "inception_5a/1x1/bn/sc" + name: "inception_5a/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/1x1/bn/sc" + top: "inception_5a/1x1/bn/sc" + name: "inception_5a/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/3x3_reduce" + name: "inception_5a/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/3x3_reduce" + name: "inception_5a/3x3_reduce/bn" + top: "inception_5a/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn" + top: "inception_5a/3x3_reduce/bn/sc" + name: "inception_5a/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn/sc" + top: "inception_5a/3x3_reduce/bn/sc" + name: "inception_5a/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/3x3_reduce/bn/sc" + top: "inception_5a/3x3" + name: "inception_5a/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 320 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/3x3" + name: "inception_5a/3x3/bn" + top: "inception_5a/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/3x3/bn" + top: "inception_5a/3x3/bn/sc" + name: "inception_5a/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/3x3/bn/sc" + top: "inception_5a/3x3/bn/sc" + name: "inception_5a/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/double3x3_reduce" + name: "inception_5a/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 160 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3_reduce" + name: "inception_5a/double3x3_reduce/bn" + top: "inception_5a/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn" + top: "inception_5a/double3x3_reduce/bn/sc" + name: "inception_5a/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn/sc" + top: "inception_5a/double3x3_reduce/bn/sc" + name: "inception_5a/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/double3x3_reduce/bn/sc" + top: "inception_5a/double3x3a" + name: "inception_5a/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3a" + name: "inception_5a/double3x3a/bn" + top: "inception_5a/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3a/bn" + top: "inception_5a/double3x3a/bn/sc" + name: "inception_5a/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3a/bn/sc" + top: "inception_5a/double3x3a/bn/sc" + name: "inception_5a/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/double3x3a/bn/sc" + top: "inception_5a/double3x3b" + name: "inception_5a/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/double3x3b" + name: "inception_5a/double3x3b/bn" + top: "inception_5a/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/double3x3b/bn" + top: "inception_5a/double3x3b/bn/sc" + name: "inception_5a/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/double3x3b/bn/sc" + top: "inception_5a/double3x3b/bn/sc" + name: "inception_5a/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_4e/output" + top: "inception_5a/pool" + name: "inception_5a/pool" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_5a/pool" + top: "inception_5a/pool_proj" + name: "inception_5a/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5a/pool_proj" + name: "inception_5a/pool_proj/bn" + top: "inception_5a/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5a/pool_proj/bn" + top: "inception_5a/pool_proj/bn/sc" + name: "inception_5a/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5a/pool_proj/bn/sc" + top: "inception_5a/pool_proj/bn/sc" + name: "inception_5a/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/1x1/bn/sc" + bottom: "inception_5a/3x3/bn/sc" + bottom: "inception_5a/double3x3b/bn/sc" + bottom: "inception_5a/pool_proj/bn/sc" + top: "inception_5a/output" + name: "inception_5a/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/1x1" + name: "inception_5b/1x1" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 352 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/1x1" + name: "inception_5b/1x1/bn" + top: "inception_5b/1x1/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/1x1/bn" + top: "inception_5b/1x1/bn/sc" + name: "inception_5b/1x1/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/1x1/bn/sc" + top: "inception_5b/1x1/bn/sc" + name: "inception_5b/1x1/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/3x3_reduce" + name: "inception_5b/3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/3x3_reduce" + name: "inception_5b/3x3_reduce/bn" + top: "inception_5b/3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn" + top: "inception_5b/3x3_reduce/bn/sc" + name: "inception_5b/3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn/sc" + top: "inception_5b/3x3_reduce/bn/sc" + name: "inception_5b/3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/3x3_reduce/bn/sc" + top: "inception_5b/3x3" + name: "inception_5b/3x3" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 320 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/3x3" + name: "inception_5b/3x3/bn" + top: "inception_5b/3x3/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/3x3/bn" + top: "inception_5b/3x3/bn/sc" + name: "inception_5b/3x3/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/3x3/bn/sc" + top: "inception_5b/3x3/bn/sc" + name: "inception_5b/3x3/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/double3x3_reduce" + name: "inception_5b/double3x3_reduce" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 192 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3_reduce" + name: "inception_5b/double3x3_reduce/bn" + top: "inception_5b/double3x3_reduce/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn" + top: "inception_5b/double3x3_reduce/bn/sc" + name: "inception_5b/double3x3_reduce/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn/sc" + top: "inception_5b/double3x3_reduce/bn/sc" + name: "inception_5b/double3x3_reduce/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/double3x3_reduce/bn/sc" + top: "inception_5b/double3x3a" + name: "inception_5b/double3x3a" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3a" + name: "inception_5b/double3x3a/bn" + top: "inception_5b/double3x3a/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3a/bn" + top: "inception_5b/double3x3a/bn/sc" + name: "inception_5b/double3x3a/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3a/bn/sc" + top: "inception_5b/double3x3a/bn/sc" + name: "inception_5b/double3x3a/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/double3x3a/bn/sc" + top: "inception_5b/double3x3b" + name: "inception_5b/double3x3b" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 224 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/double3x3b" + name: "inception_5b/double3x3b/bn" + top: "inception_5b/double3x3b/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/double3x3b/bn" + top: "inception_5b/double3x3b/bn/sc" + name: "inception_5b/double3x3b/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/double3x3b/bn/sc" + top: "inception_5b/double3x3b/bn/sc" + name: "inception_5b/double3x3b/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5a/output" + top: "inception_5b/pool" + name: "inception_5b/pool" + type: "Pooling" + pooling_param { + + pool: MAX + kernel_size: 3 + stride: 1 + pad: 1 + } +} +layer { + bottom: "inception_5b/pool" + top: "inception_5b/pool_proj" + name: "inception_5b/pool_proj" + type: "Convolution" + param { + lr_mult: 1 + decay_mult: 1 + } + convolution_param { + + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_term: false + } +} +layer { + bottom: "inception_5b/pool_proj" + name: "inception_5b/pool_proj/bn" + top: "inception_5b/pool_proj/bn" + type: "BatchNorm" + batch_norm_param { + + } +} +layer { + bottom: "inception_5b/pool_proj/bn" + top: "inception_5b/pool_proj/bn/sc" + name: "inception_5b/pool_proj/bn/sc" + type: "Scale" + scale_param { + bias_term: true + } +} +layer { + bottom: "inception_5b/pool_proj/bn/sc" + top: "inception_5b/pool_proj/bn/sc" + name: "inception_5b/pool_proj/bn/sc/relu" + type: "ReLU" + relu_param { + + } +} +layer { + bottom: "inception_5b/1x1/bn/sc" + bottom: "inception_5b/3x3/bn/sc" + bottom: "inception_5b/double3x3b/bn/sc" + bottom: "inception_5b/pool_proj/bn/sc" + top: "inception_5b/output" + name: "inception_5b/output" + type: "Concat" + concat_param { + + } +} +layer { + bottom: "inception_5b/output" + top: "pool5/7x7_s1" + name: "pool5/7x7_s1" + type: "Pooling" + pooling_param { + + pool: AVE + kernel_size: 7 + stride: 1 + } +} +layer { + bottom: "pool5/7x7_s1" + top: "loss3/classifier" + name: "loss3/classifier" + type: "InnerProduct" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + inner_product_param { + num_output: 1000 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + bottom: "loss3/classifier" + bottom: "label" + top: "loss3/loss" + name: "loss3/loss" + type: "SoftmaxWithLoss" + loss_weight: 1 +} +layer { + bottom: "loss3/classifier" + top: "loss3/prob" + name: "loss3/prob" + type: "Softmax" + include { + phase: TEST + } +} +layer { + bottom: "loss3/prob" + bottom: "label" + top: "loss3/top-1" + name: "loss3/top-1" + type: "Accuracy" + include { + phase: TEST + } +} +layer { + bottom: "loss3/prob" + bottom: "label" + top: "loss3/top-5" + name: "loss3/top-5" + type: "Accuracy" + accuracy_param { + top_k: 5 + } + include { + phase: TEST + } +} diff --git a/models/intel_optimized_models/resnet_50/bdw/train_val_dummydata.prototxt b/models/intel_optimized_models/resnet_50/bdw/train_val_dummydata.prototxt new file mode 100644 index 000000000..aa37d1c88 --- /dev/null +++ b/models/intel_optimized_models/resnet_50/bdw/train_val_dummydata.prototxt @@ -0,0 +1,2294 @@ +#This is Intel(R) optimized (in terms of time to train) version of topology described in the [Deep Residual Learning for Image Recognition](https://arxiv.org/abs/1512.03385) publication. +# +#Top-5 and Top-1 results achieved with this topology: +#Top-5: 92% +#Top-1: 73.9% +#Training was performed using server equipped with Intel(R) Xeon Phi(TM) CPU 7250 processor. +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 32 dim: 3 dim: 224 dim: 224 } + shape: { dim: 32 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 32 dim: 3 dim: 224 dim: 224 } + shape: { dim: 32 dim: 1 dim: 1 dim: 1 } + } +} + + +layer { +name: "conv1" +type: "Convolution" +bottom: "data" +top: "conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +param { + lr_mult: 2.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "msra" + variance_norm: FAN_OUT + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "conv1_bn" +type: "BatchNorm" +bottom: "conv1" +top: "conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "conv1_relu" +type: "ReLU" +bottom: "conv1_pcs_arm_sim" +top: "conv1_pcs_arm_sim" + +} +layer { +name: "conv1_pool" +type: "Pooling" +bottom: "conv1_pcs_arm_sim" +top: "conv1_pool" +pooling_param { + kernel_size: 3 + stride: 2 +} + +} +layer { +name: "layer_64_1_conv1" +type: "Convolution" +bottom: "conv1_pool" +top: "layer_64_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_bn2" +type: "BatchNorm" +bottom: "layer_64_1_conv1" +top: "layer_64_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_1_relu2" +type: "ReLU" +bottom: "layer_64_1_conv1_pcs_arm_sim" +top: "layer_64_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_64_1_conv2" +type: "Convolution" +bottom: "layer_64_1_conv1_pcs_arm_sim" +top: "layer_64_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_bn3" +type: "BatchNorm" +bottom: "layer_64_1_conv2" +top: "layer_64_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_1_relu3" +type: "ReLU" +bottom: "layer_64_1_conv2_pcs_arm_sim" +top: "layer_64_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_64_1_conv3" +type: "Convolution" +bottom: "layer_64_1_conv2_pcs_arm_sim" +top: "layer_64_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_conv_expand" +type: "Convolution" +bottom: "layer_64_1_conv1_pcs_arm_sim" +top: "layer_64_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_sum" +type: "Eltwise" +bottom: "layer_64_1_conv3" +bottom: "layer_64_1_conv_expand" +top: "layer_64_1_sum" + +} +layer { +name: "layer_64_2_bn1" +type: "BatchNorm" +bottom: "layer_64_1_sum" +top: "layer_64_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_2_relu1" +type: "ReLU" +bottom: "layer_64_2_bn1_pcs_arm_sim" +top: "layer_64_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_64_2_conv1" +type: "Convolution" +bottom: "layer_64_2_bn1_pcs_arm_sim" +top: "layer_64_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_2_bn2" +type: "BatchNorm" +bottom: "layer_64_2_conv1" +top: "layer_64_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_2_relu2" +type: "ReLU" +bottom: "layer_64_2_conv1_pcs_arm_sim" +top: "layer_64_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_64_2_conv2" +type: "Convolution" +bottom: "layer_64_2_conv1_pcs_arm_sim" +top: "layer_64_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_2_bn3" +type: "BatchNorm" +bottom: "layer_64_2_conv2" +top: "layer_64_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_2_relu3" +type: "ReLU" +bottom: "layer_64_2_conv2_pcs_arm_sim" +top: "layer_64_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_64_2_conv3" +type: "Convolution" +bottom: "layer_64_2_conv2_pcs_arm_sim" +top: "layer_64_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_2_sum" +type: "Eltwise" +bottom: "layer_64_2_conv3" +bottom: "layer_64_1_sum" +top: "layer_64_2_sum" + +} +layer { +name: "layer_64_3_bn1" +type: "BatchNorm" +bottom: "layer_64_2_sum" +top: "layer_64_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_3_relu1" +type: "ReLU" +bottom: "layer_64_3_bn1_pcs_arm_sim" +top: "layer_64_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_64_3_conv1" +type: "Convolution" +bottom: "layer_64_3_bn1_pcs_arm_sim" +top: "layer_64_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_3_bn2" +type: "BatchNorm" +bottom: "layer_64_3_conv1" +top: "layer_64_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_3_relu2" +type: "ReLU" +bottom: "layer_64_3_conv1_pcs_arm_sim" +top: "layer_64_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_64_3_conv2" +type: "Convolution" +bottom: "layer_64_3_conv1_pcs_arm_sim" +top: "layer_64_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_3_bn3" +type: "BatchNorm" +bottom: "layer_64_3_conv2" +top: "layer_64_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_3_relu3" +type: "ReLU" +bottom: "layer_64_3_conv2_pcs_arm_sim" +top: "layer_64_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_64_3_conv3" +type: "Convolution" +bottom: "layer_64_3_conv2_pcs_arm_sim" +top: "layer_64_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_3_sum" +type: "Eltwise" +bottom: "layer_64_3_conv3" +bottom: "layer_64_2_sum" +top: "layer_64_3_sum" + +} +layer { +name: "layer_128_1_bn1" +type: "BatchNorm" +bottom: "layer_64_3_sum" +top: "layer_128_1_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_1_relu1" +type: "ReLU" +bottom: "layer_128_1_bn1_pcs_arm_sim" +top: "layer_128_1_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_1_conv1" +type: "Convolution" +bottom: "layer_128_1_bn1_pcs_arm_sim" +top: "layer_128_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_bn2" +type: "BatchNorm" +bottom: "layer_128_1_conv1" +top: "layer_128_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_1_relu2" +type: "ReLU" +bottom: "layer_128_1_conv1_pcs_arm_sim" +top: "layer_128_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_1_conv2" +type: "Convolution" +bottom: "layer_128_1_conv1_pcs_arm_sim" +top: "layer_128_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_bn3" +type: "BatchNorm" +bottom: "layer_128_1_conv2" +top: "layer_128_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_1_relu3" +type: "ReLU" +bottom: "layer_128_1_conv2_pcs_arm_sim" +top: "layer_128_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_1_conv3" +type: "Convolution" +bottom: "layer_128_1_conv2_pcs_arm_sim" +top: "layer_128_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_conv_expand" +type: "Convolution" +bottom: "layer_128_1_bn1_pcs_arm_sim" +top: "layer_128_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_sum" +type: "Eltwise" +bottom: "layer_128_1_conv3" +bottom: "layer_128_1_conv_expand" +top: "layer_128_1_sum" + +} +layer { +name: "layer_128_2_bn1" +type: "BatchNorm" +bottom: "layer_128_1_sum" +top: "layer_128_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_2_relu1" +type: "ReLU" +bottom: "layer_128_2_bn1_pcs_arm_sim" +top: "layer_128_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_2_conv1" +type: "Convolution" +bottom: "layer_128_2_bn1_pcs_arm_sim" +top: "layer_128_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_2_bn2" +type: "BatchNorm" +bottom: "layer_128_2_conv1" +top: "layer_128_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_2_relu2" +type: "ReLU" +bottom: "layer_128_2_conv1_pcs_arm_sim" +top: "layer_128_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_2_conv2" +type: "Convolution" +bottom: "layer_128_2_conv1_pcs_arm_sim" +top: "layer_128_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_2_bn3" +type: "BatchNorm" +bottom: "layer_128_2_conv2" +top: "layer_128_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_2_relu3" +type: "ReLU" +bottom: "layer_128_2_conv2_pcs_arm_sim" +top: "layer_128_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_2_conv3" +type: "Convolution" +bottom: "layer_128_2_conv2_pcs_arm_sim" +top: "layer_128_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_2_sum" +type: "Eltwise" +bottom: "layer_128_2_conv3" +bottom: "layer_128_1_sum" +top: "layer_128_2_sum" + +} +layer { +name: "layer_128_3_bn1" +type: "BatchNorm" +bottom: "layer_128_2_sum" +top: "layer_128_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_3_relu1" +type: "ReLU" +bottom: "layer_128_3_bn1_pcs_arm_sim" +top: "layer_128_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_3_conv1" +type: "Convolution" +bottom: "layer_128_3_bn1_pcs_arm_sim" +top: "layer_128_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_3_bn2" +type: "BatchNorm" +bottom: "layer_128_3_conv1" +top: "layer_128_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_3_relu2" +type: "ReLU" +bottom: "layer_128_3_conv1_pcs_arm_sim" +top: "layer_128_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_3_conv2" +type: "Convolution" +bottom: "layer_128_3_conv1_pcs_arm_sim" +top: "layer_128_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_3_bn3" +type: "BatchNorm" +bottom: "layer_128_3_conv2" +top: "layer_128_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_3_relu3" +type: "ReLU" +bottom: "layer_128_3_conv2_pcs_arm_sim" +top: "layer_128_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_3_conv3" +type: "Convolution" +bottom: "layer_128_3_conv2_pcs_arm_sim" +top: "layer_128_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_3_sum" +type: "Eltwise" +bottom: "layer_128_3_conv3" +bottom: "layer_128_2_sum" +top: "layer_128_3_sum" + +} +layer { +name: "layer_128_4_bn1" +type: "BatchNorm" +bottom: "layer_128_3_sum" +top: "layer_128_4_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_4_relu1" +type: "ReLU" +bottom: "layer_128_4_bn1_pcs_arm_sim" +top: "layer_128_4_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_4_conv1" +type: "Convolution" +bottom: "layer_128_4_bn1_pcs_arm_sim" +top: "layer_128_4_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_4_bn2" +type: "BatchNorm" +bottom: "layer_128_4_conv1" +top: "layer_128_4_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_4_relu2" +type: "ReLU" +bottom: "layer_128_4_conv1_pcs_arm_sim" +top: "layer_128_4_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_4_conv2" +type: "Convolution" +bottom: "layer_128_4_conv1_pcs_arm_sim" +top: "layer_128_4_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_4_bn3" +type: "BatchNorm" +bottom: "layer_128_4_conv2" +top: "layer_128_4_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_4_relu3" +type: "ReLU" +bottom: "layer_128_4_conv2_pcs_arm_sim" +top: "layer_128_4_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_4_conv3" +type: "Convolution" +bottom: "layer_128_4_conv2_pcs_arm_sim" +top: "layer_128_4_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_4_sum" +type: "Eltwise" +bottom: "layer_128_4_conv3" +bottom: "layer_128_3_sum" +top: "layer_128_4_sum" + +} +layer { +name: "layer_256_1_bn1" +type: "BatchNorm" +bottom: "layer_128_4_sum" +top: "layer_256_1_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_1_relu1" +type: "ReLU" +bottom: "layer_256_1_bn1_pcs_arm_sim" +top: "layer_256_1_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_1_conv1" +type: "Convolution" +bottom: "layer_256_1_bn1_pcs_arm_sim" +top: "layer_256_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_bn2" +type: "BatchNorm" +bottom: "layer_256_1_conv1" +top: "layer_256_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_1_relu2" +type: "ReLU" +bottom: "layer_256_1_conv1_pcs_arm_sim" +top: "layer_256_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_1_conv2" +type: "Convolution" +bottom: "layer_256_1_conv1_pcs_arm_sim" +top: "layer_256_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_bn3" +type: "BatchNorm" +bottom: "layer_256_1_conv2" +top: "layer_256_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_1_relu3" +type: "ReLU" +bottom: "layer_256_1_conv2_pcs_arm_sim" +top: "layer_256_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_1_conv3" +type: "Convolution" +bottom: "layer_256_1_conv2_pcs_arm_sim" +top: "layer_256_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_conv_expand" +type: "Convolution" +bottom: "layer_256_1_bn1_pcs_arm_sim" +top: "layer_256_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_sum" +type: "Eltwise" +bottom: "layer_256_1_conv3" +bottom: "layer_256_1_conv_expand" +top: "layer_256_1_sum" + +} +layer { +name: "layer_256_2_bn1" +type: "BatchNorm" +bottom: "layer_256_1_sum" +top: "layer_256_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_2_relu1" +type: "ReLU" +bottom: "layer_256_2_bn1_pcs_arm_sim" +top: "layer_256_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_2_conv1" +type: "Convolution" +bottom: "layer_256_2_bn1_pcs_arm_sim" +top: "layer_256_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_2_bn2" +type: "BatchNorm" +bottom: "layer_256_2_conv1" +top: "layer_256_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_2_relu2" +type: "ReLU" +bottom: "layer_256_2_conv1_pcs_arm_sim" +top: "layer_256_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_2_conv2" +type: "Convolution" +bottom: "layer_256_2_conv1_pcs_arm_sim" +top: "layer_256_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_2_bn3" +type: "BatchNorm" +bottom: "layer_256_2_conv2" +top: "layer_256_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_2_relu3" +type: "ReLU" +bottom: "layer_256_2_conv2_pcs_arm_sim" +top: "layer_256_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_2_conv3" +type: "Convolution" +bottom: "layer_256_2_conv2_pcs_arm_sim" +top: "layer_256_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_2_sum" +type: "Eltwise" +bottom: "layer_256_2_conv3" +bottom: "layer_256_1_sum" +top: "layer_256_2_sum" + +} +layer { +name: "layer_256_3_bn1" +type: "BatchNorm" +bottom: "layer_256_2_sum" +top: "layer_256_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_3_relu1" +type: "ReLU" +bottom: "layer_256_3_bn1_pcs_arm_sim" +top: "layer_256_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_3_conv1" +type: "Convolution" +bottom: "layer_256_3_bn1_pcs_arm_sim" +top: "layer_256_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_3_bn2" +type: "BatchNorm" +bottom: "layer_256_3_conv1" +top: "layer_256_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_3_relu2" +type: "ReLU" +bottom: "layer_256_3_conv1_pcs_arm_sim" +top: "layer_256_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_3_conv2" +type: "Convolution" +bottom: "layer_256_3_conv1_pcs_arm_sim" +top: "layer_256_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_3_bn3" +type: "BatchNorm" +bottom: "layer_256_3_conv2" +top: "layer_256_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_3_relu3" +type: "ReLU" +bottom: "layer_256_3_conv2_pcs_arm_sim" +top: "layer_256_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_3_conv3" +type: "Convolution" +bottom: "layer_256_3_conv2_pcs_arm_sim" +top: "layer_256_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_3_sum" +type: "Eltwise" +bottom: "layer_256_3_conv3" +bottom: "layer_256_2_sum" +top: "layer_256_3_sum" + +} +layer { +name: "layer_256_4_bn1" +type: "BatchNorm" +bottom: "layer_256_3_sum" +top: "layer_256_4_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_4_relu1" +type: "ReLU" +bottom: "layer_256_4_bn1_pcs_arm_sim" +top: "layer_256_4_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_4_conv1" +type: "Convolution" +bottom: "layer_256_4_bn1_pcs_arm_sim" +top: "layer_256_4_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_4_bn2" +type: "BatchNorm" +bottom: "layer_256_4_conv1" +top: "layer_256_4_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_4_relu2" +type: "ReLU" +bottom: "layer_256_4_conv1_pcs_arm_sim" +top: "layer_256_4_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_4_conv2" +type: "Convolution" +bottom: "layer_256_4_conv1_pcs_arm_sim" +top: "layer_256_4_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_4_bn3" +type: "BatchNorm" +bottom: "layer_256_4_conv2" +top: "layer_256_4_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_4_relu3" +type: "ReLU" +bottom: "layer_256_4_conv2_pcs_arm_sim" +top: "layer_256_4_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_4_conv3" +type: "Convolution" +bottom: "layer_256_4_conv2_pcs_arm_sim" +top: "layer_256_4_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_4_sum" +type: "Eltwise" +bottom: "layer_256_4_conv3" +bottom: "layer_256_3_sum" +top: "layer_256_4_sum" + +} +layer { +name: "layer_256_5_bn1" +type: "BatchNorm" +bottom: "layer_256_4_sum" +top: "layer_256_5_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_5_relu1" +type: "ReLU" +bottom: "layer_256_5_bn1_pcs_arm_sim" +top: "layer_256_5_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_5_conv1" +type: "Convolution" +bottom: "layer_256_5_bn1_pcs_arm_sim" +top: "layer_256_5_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_5_bn2" +type: "BatchNorm" +bottom: "layer_256_5_conv1" +top: "layer_256_5_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_5_relu2" +type: "ReLU" +bottom: "layer_256_5_conv1_pcs_arm_sim" +top: "layer_256_5_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_5_conv2" +type: "Convolution" +bottom: "layer_256_5_conv1_pcs_arm_sim" +top: "layer_256_5_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_5_bn3" +type: "BatchNorm" +bottom: "layer_256_5_conv2" +top: "layer_256_5_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_5_relu3" +type: "ReLU" +bottom: "layer_256_5_conv2_pcs_arm_sim" +top: "layer_256_5_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_5_conv3" +type: "Convolution" +bottom: "layer_256_5_conv2_pcs_arm_sim" +top: "layer_256_5_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_5_sum" +type: "Eltwise" +bottom: "layer_256_5_conv3" +bottom: "layer_256_4_sum" +top: "layer_256_5_sum" + +} +layer { +name: "layer_256_6_bn1" +type: "BatchNorm" +bottom: "layer_256_5_sum" +top: "layer_256_6_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_6_relu1" +type: "ReLU" +bottom: "layer_256_6_bn1_pcs_arm_sim" +top: "layer_256_6_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_6_conv1" +type: "Convolution" +bottom: "layer_256_6_bn1_pcs_arm_sim" +top: "layer_256_6_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_6_bn2" +type: "BatchNorm" +bottom: "layer_256_6_conv1" +top: "layer_256_6_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_6_relu2" +type: "ReLU" +bottom: "layer_256_6_conv1_pcs_arm_sim" +top: "layer_256_6_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_6_conv2" +type: "Convolution" +bottom: "layer_256_6_conv1_pcs_arm_sim" +top: "layer_256_6_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_6_bn3" +type: "BatchNorm" +bottom: "layer_256_6_conv2" +top: "layer_256_6_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_6_relu3" +type: "ReLU" +bottom: "layer_256_6_conv2_pcs_arm_sim" +top: "layer_256_6_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_6_conv3" +type: "Convolution" +bottom: "layer_256_6_conv2_pcs_arm_sim" +top: "layer_256_6_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_6_sum" +type: "Eltwise" +bottom: "layer_256_6_conv3" +bottom: "layer_256_5_sum" +top: "layer_256_6_sum" + +} +layer { +name: "layer_512_1_bn1" +type: "BatchNorm" +bottom: "layer_256_6_sum" +top: "layer_512_1_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_1_relu1" +type: "ReLU" +bottom: "layer_512_1_bn1_pcs_arm_sim" +top: "layer_512_1_bn1_pcs_arm_sim" + +} +layer { +name: "layer_512_1_conv1" +type: "Convolution" +bottom: "layer_512_1_bn1_pcs_arm_sim" +top: "layer_512_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_bn2" +type: "BatchNorm" +bottom: "layer_512_1_conv1" +top: "layer_512_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_1_relu2" +type: "ReLU" +bottom: "layer_512_1_conv1_pcs_arm_sim" +top: "layer_512_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_512_1_conv2" +type: "Convolution" +bottom: "layer_512_1_conv1_pcs_arm_sim" +top: "layer_512_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_bn3" +type: "BatchNorm" +bottom: "layer_512_1_conv2" +top: "layer_512_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_1_relu3" +type: "ReLU" +bottom: "layer_512_1_conv2_pcs_arm_sim" +top: "layer_512_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_512_1_conv3" +type: "Convolution" +bottom: "layer_512_1_conv2_pcs_arm_sim" +top: "layer_512_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_conv_expand" +type: "Convolution" +bottom: "layer_512_1_bn1_pcs_arm_sim" +top: "layer_512_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_sum" +type: "Eltwise" +bottom: "layer_512_1_conv3" +bottom: "layer_512_1_conv_expand" +top: "layer_512_1_sum" + +} +layer { +name: "layer_512_2_bn1" +type: "BatchNorm" +bottom: "layer_512_1_sum" +top: "layer_512_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_2_relu1" +type: "ReLU" +bottom: "layer_512_2_bn1_pcs_arm_sim" +top: "layer_512_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_512_2_conv1" +type: "Convolution" +bottom: "layer_512_2_bn1_pcs_arm_sim" +top: "layer_512_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_2_bn2" +type: "BatchNorm" +bottom: "layer_512_2_conv1" +top: "layer_512_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_2_relu2" +type: "ReLU" +bottom: "layer_512_2_conv1_pcs_arm_sim" +top: "layer_512_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_512_2_conv2" +type: "Convolution" +bottom: "layer_512_2_conv1_pcs_arm_sim" +top: "layer_512_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_2_bn3" +type: "BatchNorm" +bottom: "layer_512_2_conv2" +top: "layer_512_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_2_relu3" +type: "ReLU" +bottom: "layer_512_2_conv2_pcs_arm_sim" +top: "layer_512_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_512_2_conv3" +type: "Convolution" +bottom: "layer_512_2_conv2_pcs_arm_sim" +top: "layer_512_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_2_sum" +type: "Eltwise" +bottom: "layer_512_2_conv3" +bottom: "layer_512_1_sum" +top: "layer_512_2_sum" + +} +layer { +name: "layer_512_3_bn1" +type: "BatchNorm" +bottom: "layer_512_2_sum" +top: "layer_512_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_3_relu1" +type: "ReLU" +bottom: "layer_512_3_bn1_pcs_arm_sim" +top: "layer_512_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_512_3_conv1" +type: "Convolution" +bottom: "layer_512_3_bn1_pcs_arm_sim" +top: "layer_512_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_3_bn2" +type: "BatchNorm" +bottom: "layer_512_3_conv1" +top: "layer_512_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_3_relu2" +type: "ReLU" +bottom: "layer_512_3_conv1_pcs_arm_sim" +top: "layer_512_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_512_3_conv2" +type: "Convolution" +bottom: "layer_512_3_conv1_pcs_arm_sim" +top: "layer_512_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_3_bn3" +type: "BatchNorm" +bottom: "layer_512_3_conv2" +top: "layer_512_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_3_relu3" +type: "ReLU" +bottom: "layer_512_3_conv2_pcs_arm_sim" +top: "layer_512_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_512_3_conv3" +type: "Convolution" +bottom: "layer_512_3_conv2_pcs_arm_sim" +top: "layer_512_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_3_sum" +type: "Eltwise" +bottom: "layer_512_3_conv3" +bottom: "layer_512_2_sum" +top: "layer_512_3_sum" + +} +layer { +name: "last_bn" +type: "BatchNorm" +bottom: "layer_512_3_sum" +top: "layer_512_3_sum_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "last_relu" +type: "ReLU" +bottom: "layer_512_3_sum_pcs_arm_sim" +top: "layer_512_3_sum_pcs_arm_sim" + +} +layer { +name: "global_pool" +type: "Pooling" +bottom: "layer_512_3_sum_pcs_arm_sim" +top: "global_pool" +pooling_param { + pool: AVE + global_pooling: true +} + +} +layer { +name: "score" +type: "InnerProduct" +bottom: "global_pool" +top: "score" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +param { + lr_mult: 2.0 + decay_mult: 1.0 +} +inner_product_param { + num_output: 1000 +} + +} +layer { +name: "loss" +type: "SoftmaxWithLoss" +bottom: "score" +bottom: "label" +top: "loss" + +} +layer { +name: "accuracy" +type: "Accuracy" +bottom: "score" +bottom: "label" +top: "accuracy" +include { + phase: TEST +} + +} diff --git a/models/intel_optimized_models/resnet_50/knl/train_val_dummydata.prototxt b/models/intel_optimized_models/resnet_50/knl/train_val_dummydata.prototxt new file mode 100644 index 000000000..f0f4ffd60 --- /dev/null +++ b/models/intel_optimized_models/resnet_50/knl/train_val_dummydata.prototxt @@ -0,0 +1,2294 @@ +#This is Intel(R) optimized (in terms of time to train) version of topology described in the [Deep Residual Learning for Image Recognition](https://arxiv.org/abs/1512.03385) publication. +# +#Top-5 and Top-1 results achieved with this topology: +#Top-5: 92% +#Top-1: 73.9% +#Training was performed using server equipped with Intel(R) Xeon Phi(TM) CPU 7250 processor. +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 64 dim: 3 dim: 224 dim: 224 } + shape: { dim: 64 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 128 dim: 3 dim: 224 dim: 224 } + shape: { dim: 128 dim: 1 dim: 1 dim: 1 } + } +} + + +layer { +name: "conv1" +type: "Convolution" +bottom: "data" +top: "conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +param { + lr_mult: 2.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "msra" + variance_norm: FAN_OUT + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "conv1_bn" +type: "BatchNorm" +bottom: "conv1" +top: "conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "conv1_relu" +type: "ReLU" +bottom: "conv1_pcs_arm_sim" +top: "conv1_pcs_arm_sim" + +} +layer { +name: "conv1_pool" +type: "Pooling" +bottom: "conv1_pcs_arm_sim" +top: "conv1_pool" +pooling_param { + kernel_size: 3 + stride: 2 +} + +} +layer { +name: "layer_64_1_conv1" +type: "Convolution" +bottom: "conv1_pool" +top: "layer_64_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_bn2" +type: "BatchNorm" +bottom: "layer_64_1_conv1" +top: "layer_64_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_1_relu2" +type: "ReLU" +bottom: "layer_64_1_conv1_pcs_arm_sim" +top: "layer_64_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_64_1_conv2" +type: "Convolution" +bottom: "layer_64_1_conv1_pcs_arm_sim" +top: "layer_64_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_bn3" +type: "BatchNorm" +bottom: "layer_64_1_conv2" +top: "layer_64_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_1_relu3" +type: "ReLU" +bottom: "layer_64_1_conv2_pcs_arm_sim" +top: "layer_64_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_64_1_conv3" +type: "Convolution" +bottom: "layer_64_1_conv2_pcs_arm_sim" +top: "layer_64_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_conv_expand" +type: "Convolution" +bottom: "layer_64_1_conv1_pcs_arm_sim" +top: "layer_64_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_sum" +type: "Eltwise" +bottom: "layer_64_1_conv3" +bottom: "layer_64_1_conv_expand" +top: "layer_64_1_sum" + +} +layer { +name: "layer_64_2_bn1" +type: "BatchNorm" +bottom: "layer_64_1_sum" +top: "layer_64_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_2_relu1" +type: "ReLU" +bottom: "layer_64_2_bn1_pcs_arm_sim" +top: "layer_64_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_64_2_conv1" +type: "Convolution" +bottom: "layer_64_2_bn1_pcs_arm_sim" +top: "layer_64_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_2_bn2" +type: "BatchNorm" +bottom: "layer_64_2_conv1" +top: "layer_64_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_2_relu2" +type: "ReLU" +bottom: "layer_64_2_conv1_pcs_arm_sim" +top: "layer_64_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_64_2_conv2" +type: "Convolution" +bottom: "layer_64_2_conv1_pcs_arm_sim" +top: "layer_64_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_2_bn3" +type: "BatchNorm" +bottom: "layer_64_2_conv2" +top: "layer_64_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_2_relu3" +type: "ReLU" +bottom: "layer_64_2_conv2_pcs_arm_sim" +top: "layer_64_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_64_2_conv3" +type: "Convolution" +bottom: "layer_64_2_conv2_pcs_arm_sim" +top: "layer_64_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_2_sum" +type: "Eltwise" +bottom: "layer_64_2_conv3" +bottom: "layer_64_1_sum" +top: "layer_64_2_sum" + +} +layer { +name: "layer_64_3_bn1" +type: "BatchNorm" +bottom: "layer_64_2_sum" +top: "layer_64_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_3_relu1" +type: "ReLU" +bottom: "layer_64_3_bn1_pcs_arm_sim" +top: "layer_64_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_64_3_conv1" +type: "Convolution" +bottom: "layer_64_3_bn1_pcs_arm_sim" +top: "layer_64_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_3_bn2" +type: "BatchNorm" +bottom: "layer_64_3_conv1" +top: "layer_64_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_3_relu2" +type: "ReLU" +bottom: "layer_64_3_conv1_pcs_arm_sim" +top: "layer_64_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_64_3_conv2" +type: "Convolution" +bottom: "layer_64_3_conv1_pcs_arm_sim" +top: "layer_64_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_3_bn3" +type: "BatchNorm" +bottom: "layer_64_3_conv2" +top: "layer_64_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_3_relu3" +type: "ReLU" +bottom: "layer_64_3_conv2_pcs_arm_sim" +top: "layer_64_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_64_3_conv3" +type: "Convolution" +bottom: "layer_64_3_conv2_pcs_arm_sim" +top: "layer_64_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_3_sum" +type: "Eltwise" +bottom: "layer_64_3_conv3" +bottom: "layer_64_2_sum" +top: "layer_64_3_sum" + +} +layer { +name: "layer_128_1_bn1" +type: "BatchNorm" +bottom: "layer_64_3_sum" +top: "layer_128_1_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_1_relu1" +type: "ReLU" +bottom: "layer_128_1_bn1_pcs_arm_sim" +top: "layer_128_1_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_1_conv1" +type: "Convolution" +bottom: "layer_128_1_bn1_pcs_arm_sim" +top: "layer_128_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_bn2" +type: "BatchNorm" +bottom: "layer_128_1_conv1" +top: "layer_128_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_1_relu2" +type: "ReLU" +bottom: "layer_128_1_conv1_pcs_arm_sim" +top: "layer_128_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_1_conv2" +type: "Convolution" +bottom: "layer_128_1_conv1_pcs_arm_sim" +top: "layer_128_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_bn3" +type: "BatchNorm" +bottom: "layer_128_1_conv2" +top: "layer_128_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_1_relu3" +type: "ReLU" +bottom: "layer_128_1_conv2_pcs_arm_sim" +top: "layer_128_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_1_conv3" +type: "Convolution" +bottom: "layer_128_1_conv2_pcs_arm_sim" +top: "layer_128_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_conv_expand" +type: "Convolution" +bottom: "layer_128_1_bn1_pcs_arm_sim" +top: "layer_128_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_sum" +type: "Eltwise" +bottom: "layer_128_1_conv3" +bottom: "layer_128_1_conv_expand" +top: "layer_128_1_sum" + +} +layer { +name: "layer_128_2_bn1" +type: "BatchNorm" +bottom: "layer_128_1_sum" +top: "layer_128_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_2_relu1" +type: "ReLU" +bottom: "layer_128_2_bn1_pcs_arm_sim" +top: "layer_128_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_2_conv1" +type: "Convolution" +bottom: "layer_128_2_bn1_pcs_arm_sim" +top: "layer_128_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_2_bn2" +type: "BatchNorm" +bottom: "layer_128_2_conv1" +top: "layer_128_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_2_relu2" +type: "ReLU" +bottom: "layer_128_2_conv1_pcs_arm_sim" +top: "layer_128_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_2_conv2" +type: "Convolution" +bottom: "layer_128_2_conv1_pcs_arm_sim" +top: "layer_128_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_2_bn3" +type: "BatchNorm" +bottom: "layer_128_2_conv2" +top: "layer_128_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_2_relu3" +type: "ReLU" +bottom: "layer_128_2_conv2_pcs_arm_sim" +top: "layer_128_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_2_conv3" +type: "Convolution" +bottom: "layer_128_2_conv2_pcs_arm_sim" +top: "layer_128_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_2_sum" +type: "Eltwise" +bottom: "layer_128_2_conv3" +bottom: "layer_128_1_sum" +top: "layer_128_2_sum" + +} +layer { +name: "layer_128_3_bn1" +type: "BatchNorm" +bottom: "layer_128_2_sum" +top: "layer_128_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_3_relu1" +type: "ReLU" +bottom: "layer_128_3_bn1_pcs_arm_sim" +top: "layer_128_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_3_conv1" +type: "Convolution" +bottom: "layer_128_3_bn1_pcs_arm_sim" +top: "layer_128_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_3_bn2" +type: "BatchNorm" +bottom: "layer_128_3_conv1" +top: "layer_128_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_3_relu2" +type: "ReLU" +bottom: "layer_128_3_conv1_pcs_arm_sim" +top: "layer_128_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_3_conv2" +type: "Convolution" +bottom: "layer_128_3_conv1_pcs_arm_sim" +top: "layer_128_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_3_bn3" +type: "BatchNorm" +bottom: "layer_128_3_conv2" +top: "layer_128_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_3_relu3" +type: "ReLU" +bottom: "layer_128_3_conv2_pcs_arm_sim" +top: "layer_128_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_3_conv3" +type: "Convolution" +bottom: "layer_128_3_conv2_pcs_arm_sim" +top: "layer_128_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_3_sum" +type: "Eltwise" +bottom: "layer_128_3_conv3" +bottom: "layer_128_2_sum" +top: "layer_128_3_sum" + +} +layer { +name: "layer_128_4_bn1" +type: "BatchNorm" +bottom: "layer_128_3_sum" +top: "layer_128_4_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_4_relu1" +type: "ReLU" +bottom: "layer_128_4_bn1_pcs_arm_sim" +top: "layer_128_4_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_4_conv1" +type: "Convolution" +bottom: "layer_128_4_bn1_pcs_arm_sim" +top: "layer_128_4_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_4_bn2" +type: "BatchNorm" +bottom: "layer_128_4_conv1" +top: "layer_128_4_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_4_relu2" +type: "ReLU" +bottom: "layer_128_4_conv1_pcs_arm_sim" +top: "layer_128_4_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_4_conv2" +type: "Convolution" +bottom: "layer_128_4_conv1_pcs_arm_sim" +top: "layer_128_4_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_4_bn3" +type: "BatchNorm" +bottom: "layer_128_4_conv2" +top: "layer_128_4_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_4_relu3" +type: "ReLU" +bottom: "layer_128_4_conv2_pcs_arm_sim" +top: "layer_128_4_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_4_conv3" +type: "Convolution" +bottom: "layer_128_4_conv2_pcs_arm_sim" +top: "layer_128_4_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_4_sum" +type: "Eltwise" +bottom: "layer_128_4_conv3" +bottom: "layer_128_3_sum" +top: "layer_128_4_sum" + +} +layer { +name: "layer_256_1_bn1" +type: "BatchNorm" +bottom: "layer_128_4_sum" +top: "layer_256_1_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_1_relu1" +type: "ReLU" +bottom: "layer_256_1_bn1_pcs_arm_sim" +top: "layer_256_1_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_1_conv1" +type: "Convolution" +bottom: "layer_256_1_bn1_pcs_arm_sim" +top: "layer_256_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_bn2" +type: "BatchNorm" +bottom: "layer_256_1_conv1" +top: "layer_256_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_1_relu2" +type: "ReLU" +bottom: "layer_256_1_conv1_pcs_arm_sim" +top: "layer_256_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_1_conv2" +type: "Convolution" +bottom: "layer_256_1_conv1_pcs_arm_sim" +top: "layer_256_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_bn3" +type: "BatchNorm" +bottom: "layer_256_1_conv2" +top: "layer_256_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_1_relu3" +type: "ReLU" +bottom: "layer_256_1_conv2_pcs_arm_sim" +top: "layer_256_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_1_conv3" +type: "Convolution" +bottom: "layer_256_1_conv2_pcs_arm_sim" +top: "layer_256_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_conv_expand" +type: "Convolution" +bottom: "layer_256_1_bn1_pcs_arm_sim" +top: "layer_256_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_sum" +type: "Eltwise" +bottom: "layer_256_1_conv3" +bottom: "layer_256_1_conv_expand" +top: "layer_256_1_sum" + +} +layer { +name: "layer_256_2_bn1" +type: "BatchNorm" +bottom: "layer_256_1_sum" +top: "layer_256_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_2_relu1" +type: "ReLU" +bottom: "layer_256_2_bn1_pcs_arm_sim" +top: "layer_256_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_2_conv1" +type: "Convolution" +bottom: "layer_256_2_bn1_pcs_arm_sim" +top: "layer_256_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_2_bn2" +type: "BatchNorm" +bottom: "layer_256_2_conv1" +top: "layer_256_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_2_relu2" +type: "ReLU" +bottom: "layer_256_2_conv1_pcs_arm_sim" +top: "layer_256_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_2_conv2" +type: "Convolution" +bottom: "layer_256_2_conv1_pcs_arm_sim" +top: "layer_256_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_2_bn3" +type: "BatchNorm" +bottom: "layer_256_2_conv2" +top: "layer_256_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_2_relu3" +type: "ReLU" +bottom: "layer_256_2_conv2_pcs_arm_sim" +top: "layer_256_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_2_conv3" +type: "Convolution" +bottom: "layer_256_2_conv2_pcs_arm_sim" +top: "layer_256_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_2_sum" +type: "Eltwise" +bottom: "layer_256_2_conv3" +bottom: "layer_256_1_sum" +top: "layer_256_2_sum" + +} +layer { +name: "layer_256_3_bn1" +type: "BatchNorm" +bottom: "layer_256_2_sum" +top: "layer_256_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_3_relu1" +type: "ReLU" +bottom: "layer_256_3_bn1_pcs_arm_sim" +top: "layer_256_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_3_conv1" +type: "Convolution" +bottom: "layer_256_3_bn1_pcs_arm_sim" +top: "layer_256_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_3_bn2" +type: "BatchNorm" +bottom: "layer_256_3_conv1" +top: "layer_256_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_3_relu2" +type: "ReLU" +bottom: "layer_256_3_conv1_pcs_arm_sim" +top: "layer_256_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_3_conv2" +type: "Convolution" +bottom: "layer_256_3_conv1_pcs_arm_sim" +top: "layer_256_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_3_bn3" +type: "BatchNorm" +bottom: "layer_256_3_conv2" +top: "layer_256_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_3_relu3" +type: "ReLU" +bottom: "layer_256_3_conv2_pcs_arm_sim" +top: "layer_256_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_3_conv3" +type: "Convolution" +bottom: "layer_256_3_conv2_pcs_arm_sim" +top: "layer_256_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_3_sum" +type: "Eltwise" +bottom: "layer_256_3_conv3" +bottom: "layer_256_2_sum" +top: "layer_256_3_sum" + +} +layer { +name: "layer_256_4_bn1" +type: "BatchNorm" +bottom: "layer_256_3_sum" +top: "layer_256_4_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_4_relu1" +type: "ReLU" +bottom: "layer_256_4_bn1_pcs_arm_sim" +top: "layer_256_4_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_4_conv1" +type: "Convolution" +bottom: "layer_256_4_bn1_pcs_arm_sim" +top: "layer_256_4_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_4_bn2" +type: "BatchNorm" +bottom: "layer_256_4_conv1" +top: "layer_256_4_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_4_relu2" +type: "ReLU" +bottom: "layer_256_4_conv1_pcs_arm_sim" +top: "layer_256_4_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_4_conv2" +type: "Convolution" +bottom: "layer_256_4_conv1_pcs_arm_sim" +top: "layer_256_4_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_4_bn3" +type: "BatchNorm" +bottom: "layer_256_4_conv2" +top: "layer_256_4_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_4_relu3" +type: "ReLU" +bottom: "layer_256_4_conv2_pcs_arm_sim" +top: "layer_256_4_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_4_conv3" +type: "Convolution" +bottom: "layer_256_4_conv2_pcs_arm_sim" +top: "layer_256_4_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_4_sum" +type: "Eltwise" +bottom: "layer_256_4_conv3" +bottom: "layer_256_3_sum" +top: "layer_256_4_sum" + +} +layer { +name: "layer_256_5_bn1" +type: "BatchNorm" +bottom: "layer_256_4_sum" +top: "layer_256_5_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_5_relu1" +type: "ReLU" +bottom: "layer_256_5_bn1_pcs_arm_sim" +top: "layer_256_5_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_5_conv1" +type: "Convolution" +bottom: "layer_256_5_bn1_pcs_arm_sim" +top: "layer_256_5_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_5_bn2" +type: "BatchNorm" +bottom: "layer_256_5_conv1" +top: "layer_256_5_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_5_relu2" +type: "ReLU" +bottom: "layer_256_5_conv1_pcs_arm_sim" +top: "layer_256_5_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_5_conv2" +type: "Convolution" +bottom: "layer_256_5_conv1_pcs_arm_sim" +top: "layer_256_5_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_5_bn3" +type: "BatchNorm" +bottom: "layer_256_5_conv2" +top: "layer_256_5_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_5_relu3" +type: "ReLU" +bottom: "layer_256_5_conv2_pcs_arm_sim" +top: "layer_256_5_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_5_conv3" +type: "Convolution" +bottom: "layer_256_5_conv2_pcs_arm_sim" +top: "layer_256_5_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_5_sum" +type: "Eltwise" +bottom: "layer_256_5_conv3" +bottom: "layer_256_4_sum" +top: "layer_256_5_sum" + +} +layer { +name: "layer_256_6_bn1" +type: "BatchNorm" +bottom: "layer_256_5_sum" +top: "layer_256_6_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_6_relu1" +type: "ReLU" +bottom: "layer_256_6_bn1_pcs_arm_sim" +top: "layer_256_6_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_6_conv1" +type: "Convolution" +bottom: "layer_256_6_bn1_pcs_arm_sim" +top: "layer_256_6_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_6_bn2" +type: "BatchNorm" +bottom: "layer_256_6_conv1" +top: "layer_256_6_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_6_relu2" +type: "ReLU" +bottom: "layer_256_6_conv1_pcs_arm_sim" +top: "layer_256_6_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_6_conv2" +type: "Convolution" +bottom: "layer_256_6_conv1_pcs_arm_sim" +top: "layer_256_6_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_6_bn3" +type: "BatchNorm" +bottom: "layer_256_6_conv2" +top: "layer_256_6_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_6_relu3" +type: "ReLU" +bottom: "layer_256_6_conv2_pcs_arm_sim" +top: "layer_256_6_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_6_conv3" +type: "Convolution" +bottom: "layer_256_6_conv2_pcs_arm_sim" +top: "layer_256_6_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_6_sum" +type: "Eltwise" +bottom: "layer_256_6_conv3" +bottom: "layer_256_5_sum" +top: "layer_256_6_sum" + +} +layer { +name: "layer_512_1_bn1" +type: "BatchNorm" +bottom: "layer_256_6_sum" +top: "layer_512_1_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_1_relu1" +type: "ReLU" +bottom: "layer_512_1_bn1_pcs_arm_sim" +top: "layer_512_1_bn1_pcs_arm_sim" + +} +layer { +name: "layer_512_1_conv1" +type: "Convolution" +bottom: "layer_512_1_bn1_pcs_arm_sim" +top: "layer_512_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_bn2" +type: "BatchNorm" +bottom: "layer_512_1_conv1" +top: "layer_512_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_1_relu2" +type: "ReLU" +bottom: "layer_512_1_conv1_pcs_arm_sim" +top: "layer_512_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_512_1_conv2" +type: "Convolution" +bottom: "layer_512_1_conv1_pcs_arm_sim" +top: "layer_512_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_bn3" +type: "BatchNorm" +bottom: "layer_512_1_conv2" +top: "layer_512_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_1_relu3" +type: "ReLU" +bottom: "layer_512_1_conv2_pcs_arm_sim" +top: "layer_512_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_512_1_conv3" +type: "Convolution" +bottom: "layer_512_1_conv2_pcs_arm_sim" +top: "layer_512_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_conv_expand" +type: "Convolution" +bottom: "layer_512_1_bn1_pcs_arm_sim" +top: "layer_512_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_sum" +type: "Eltwise" +bottom: "layer_512_1_conv3" +bottom: "layer_512_1_conv_expand" +top: "layer_512_1_sum" + +} +layer { +name: "layer_512_2_bn1" +type: "BatchNorm" +bottom: "layer_512_1_sum" +top: "layer_512_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_2_relu1" +type: "ReLU" +bottom: "layer_512_2_bn1_pcs_arm_sim" +top: "layer_512_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_512_2_conv1" +type: "Convolution" +bottom: "layer_512_2_bn1_pcs_arm_sim" +top: "layer_512_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_2_bn2" +type: "BatchNorm" +bottom: "layer_512_2_conv1" +top: "layer_512_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_2_relu2" +type: "ReLU" +bottom: "layer_512_2_conv1_pcs_arm_sim" +top: "layer_512_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_512_2_conv2" +type: "Convolution" +bottom: "layer_512_2_conv1_pcs_arm_sim" +top: "layer_512_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_2_bn3" +type: "BatchNorm" +bottom: "layer_512_2_conv2" +top: "layer_512_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_2_relu3" +type: "ReLU" +bottom: "layer_512_2_conv2_pcs_arm_sim" +top: "layer_512_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_512_2_conv3" +type: "Convolution" +bottom: "layer_512_2_conv2_pcs_arm_sim" +top: "layer_512_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_2_sum" +type: "Eltwise" +bottom: "layer_512_2_conv3" +bottom: "layer_512_1_sum" +top: "layer_512_2_sum" + +} +layer { +name: "layer_512_3_bn1" +type: "BatchNorm" +bottom: "layer_512_2_sum" +top: "layer_512_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_3_relu1" +type: "ReLU" +bottom: "layer_512_3_bn1_pcs_arm_sim" +top: "layer_512_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_512_3_conv1" +type: "Convolution" +bottom: "layer_512_3_bn1_pcs_arm_sim" +top: "layer_512_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_3_bn2" +type: "BatchNorm" +bottom: "layer_512_3_conv1" +top: "layer_512_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_3_relu2" +type: "ReLU" +bottom: "layer_512_3_conv1_pcs_arm_sim" +top: "layer_512_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_512_3_conv2" +type: "Convolution" +bottom: "layer_512_3_conv1_pcs_arm_sim" +top: "layer_512_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_3_bn3" +type: "BatchNorm" +bottom: "layer_512_3_conv2" +top: "layer_512_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_3_relu3" +type: "ReLU" +bottom: "layer_512_3_conv2_pcs_arm_sim" +top: "layer_512_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_512_3_conv3" +type: "Convolution" +bottom: "layer_512_3_conv2_pcs_arm_sim" +top: "layer_512_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_3_sum" +type: "Eltwise" +bottom: "layer_512_3_conv3" +bottom: "layer_512_2_sum" +top: "layer_512_3_sum" + +} +layer { +name: "last_bn" +type: "BatchNorm" +bottom: "layer_512_3_sum" +top: "layer_512_3_sum_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "last_relu" +type: "ReLU" +bottom: "layer_512_3_sum_pcs_arm_sim" +top: "layer_512_3_sum_pcs_arm_sim" + +} +layer { +name: "global_pool" +type: "Pooling" +bottom: "layer_512_3_sum_pcs_arm_sim" +top: "global_pool" +pooling_param { + pool: AVE + global_pooling: true +} + +} +layer { +name: "score" +type: "InnerProduct" +bottom: "global_pool" +top: "score" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +param { + lr_mult: 2.0 + decay_mult: 1.0 +} +inner_product_param { + num_output: 1000 +} + +} +layer { +name: "loss" +type: "SoftmaxWithLoss" +bottom: "score" +bottom: "label" +top: "loss" + +} +layer { +name: "accuracy" +type: "Accuracy" +bottom: "score" +bottom: "label" +top: "accuracy" +include { + phase: TEST +} + +} diff --git a/models/intel_optimized_models/resnet_50/skx/train_val_dummydata.prototxt b/models/intel_optimized_models/resnet_50/skx/train_val_dummydata.prototxt new file mode 100644 index 000000000..f0f4ffd60 --- /dev/null +++ b/models/intel_optimized_models/resnet_50/skx/train_val_dummydata.prototxt @@ -0,0 +1,2294 @@ +#This is Intel(R) optimized (in terms of time to train) version of topology described in the [Deep Residual Learning for Image Recognition](https://arxiv.org/abs/1512.03385) publication. +# +#Top-5 and Top-1 results achieved with this topology: +#Top-5: 92% +#Top-1: 73.9% +#Training was performed using server equipped with Intel(R) Xeon Phi(TM) CPU 7250 processor. +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TRAIN + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 64 dim: 3 dim: 224 dim: 224 } + shape: { dim: 64 dim: 1 dim: 1 dim: 1 } + } +} + +layer { + name: "data" + type: "DummyData" + top: "data" + top: "label" + include { + phase: TEST + } + dummy_data_param { + data_filler { + type: "constant" + value: 0.01 + } + shape: { dim: 128 dim: 3 dim: 224 dim: 224 } + shape: { dim: 128 dim: 1 dim: 1 dim: 1 } + } +} + + +layer { +name: "conv1" +type: "Convolution" +bottom: "data" +top: "conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +param { + lr_mult: 2.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "msra" + variance_norm: FAN_OUT + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "conv1_bn" +type: "BatchNorm" +bottom: "conv1" +top: "conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "conv1_relu" +type: "ReLU" +bottom: "conv1_pcs_arm_sim" +top: "conv1_pcs_arm_sim" + +} +layer { +name: "conv1_pool" +type: "Pooling" +bottom: "conv1_pcs_arm_sim" +top: "conv1_pool" +pooling_param { + kernel_size: 3 + stride: 2 +} + +} +layer { +name: "layer_64_1_conv1" +type: "Convolution" +bottom: "conv1_pool" +top: "layer_64_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_bn2" +type: "BatchNorm" +bottom: "layer_64_1_conv1" +top: "layer_64_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_1_relu2" +type: "ReLU" +bottom: "layer_64_1_conv1_pcs_arm_sim" +top: "layer_64_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_64_1_conv2" +type: "Convolution" +bottom: "layer_64_1_conv1_pcs_arm_sim" +top: "layer_64_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_bn3" +type: "BatchNorm" +bottom: "layer_64_1_conv2" +top: "layer_64_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_1_relu3" +type: "ReLU" +bottom: "layer_64_1_conv2_pcs_arm_sim" +top: "layer_64_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_64_1_conv3" +type: "Convolution" +bottom: "layer_64_1_conv2_pcs_arm_sim" +top: "layer_64_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_conv_expand" +type: "Convolution" +bottom: "layer_64_1_conv1_pcs_arm_sim" +top: "layer_64_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_1_sum" +type: "Eltwise" +bottom: "layer_64_1_conv3" +bottom: "layer_64_1_conv_expand" +top: "layer_64_1_sum" + +} +layer { +name: "layer_64_2_bn1" +type: "BatchNorm" +bottom: "layer_64_1_sum" +top: "layer_64_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_2_relu1" +type: "ReLU" +bottom: "layer_64_2_bn1_pcs_arm_sim" +top: "layer_64_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_64_2_conv1" +type: "Convolution" +bottom: "layer_64_2_bn1_pcs_arm_sim" +top: "layer_64_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_2_bn2" +type: "BatchNorm" +bottom: "layer_64_2_conv1" +top: "layer_64_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_2_relu2" +type: "ReLU" +bottom: "layer_64_2_conv1_pcs_arm_sim" +top: "layer_64_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_64_2_conv2" +type: "Convolution" +bottom: "layer_64_2_conv1_pcs_arm_sim" +top: "layer_64_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_2_bn3" +type: "BatchNorm" +bottom: "layer_64_2_conv2" +top: "layer_64_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_2_relu3" +type: "ReLU" +bottom: "layer_64_2_conv2_pcs_arm_sim" +top: "layer_64_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_64_2_conv3" +type: "Convolution" +bottom: "layer_64_2_conv2_pcs_arm_sim" +top: "layer_64_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_2_sum" +type: "Eltwise" +bottom: "layer_64_2_conv3" +bottom: "layer_64_1_sum" +top: "layer_64_2_sum" + +} +layer { +name: "layer_64_3_bn1" +type: "BatchNorm" +bottom: "layer_64_2_sum" +top: "layer_64_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_3_relu1" +type: "ReLU" +bottom: "layer_64_3_bn1_pcs_arm_sim" +top: "layer_64_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_64_3_conv1" +type: "Convolution" +bottom: "layer_64_3_bn1_pcs_arm_sim" +top: "layer_64_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_3_bn2" +type: "BatchNorm" +bottom: "layer_64_3_conv1" +top: "layer_64_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_3_relu2" +type: "ReLU" +bottom: "layer_64_3_conv1_pcs_arm_sim" +top: "layer_64_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_64_3_conv2" +type: "Convolution" +bottom: "layer_64_3_conv1_pcs_arm_sim" +top: "layer_64_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 64 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_3_bn3" +type: "BatchNorm" +bottom: "layer_64_3_conv2" +top: "layer_64_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_64_3_relu3" +type: "ReLU" +bottom: "layer_64_3_conv2_pcs_arm_sim" +top: "layer_64_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_64_3_conv3" +type: "Convolution" +bottom: "layer_64_3_conv2_pcs_arm_sim" +top: "layer_64_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_64_3_sum" +type: "Eltwise" +bottom: "layer_64_3_conv3" +bottom: "layer_64_2_sum" +top: "layer_64_3_sum" + +} +layer { +name: "layer_128_1_bn1" +type: "BatchNorm" +bottom: "layer_64_3_sum" +top: "layer_128_1_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_1_relu1" +type: "ReLU" +bottom: "layer_128_1_bn1_pcs_arm_sim" +top: "layer_128_1_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_1_conv1" +type: "Convolution" +bottom: "layer_128_1_bn1_pcs_arm_sim" +top: "layer_128_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_bn2" +type: "BatchNorm" +bottom: "layer_128_1_conv1" +top: "layer_128_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_1_relu2" +type: "ReLU" +bottom: "layer_128_1_conv1_pcs_arm_sim" +top: "layer_128_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_1_conv2" +type: "Convolution" +bottom: "layer_128_1_conv1_pcs_arm_sim" +top: "layer_128_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_bn3" +type: "BatchNorm" +bottom: "layer_128_1_conv2" +top: "layer_128_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_1_relu3" +type: "ReLU" +bottom: "layer_128_1_conv2_pcs_arm_sim" +top: "layer_128_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_1_conv3" +type: "Convolution" +bottom: "layer_128_1_conv2_pcs_arm_sim" +top: "layer_128_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_conv_expand" +type: "Convolution" +bottom: "layer_128_1_bn1_pcs_arm_sim" +top: "layer_128_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_1_sum" +type: "Eltwise" +bottom: "layer_128_1_conv3" +bottom: "layer_128_1_conv_expand" +top: "layer_128_1_sum" + +} +layer { +name: "layer_128_2_bn1" +type: "BatchNorm" +bottom: "layer_128_1_sum" +top: "layer_128_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_2_relu1" +type: "ReLU" +bottom: "layer_128_2_bn1_pcs_arm_sim" +top: "layer_128_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_2_conv1" +type: "Convolution" +bottom: "layer_128_2_bn1_pcs_arm_sim" +top: "layer_128_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_2_bn2" +type: "BatchNorm" +bottom: "layer_128_2_conv1" +top: "layer_128_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_2_relu2" +type: "ReLU" +bottom: "layer_128_2_conv1_pcs_arm_sim" +top: "layer_128_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_2_conv2" +type: "Convolution" +bottom: "layer_128_2_conv1_pcs_arm_sim" +top: "layer_128_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_2_bn3" +type: "BatchNorm" +bottom: "layer_128_2_conv2" +top: "layer_128_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_2_relu3" +type: "ReLU" +bottom: "layer_128_2_conv2_pcs_arm_sim" +top: "layer_128_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_2_conv3" +type: "Convolution" +bottom: "layer_128_2_conv2_pcs_arm_sim" +top: "layer_128_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_2_sum" +type: "Eltwise" +bottom: "layer_128_2_conv3" +bottom: "layer_128_1_sum" +top: "layer_128_2_sum" + +} +layer { +name: "layer_128_3_bn1" +type: "BatchNorm" +bottom: "layer_128_2_sum" +top: "layer_128_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_3_relu1" +type: "ReLU" +bottom: "layer_128_3_bn1_pcs_arm_sim" +top: "layer_128_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_3_conv1" +type: "Convolution" +bottom: "layer_128_3_bn1_pcs_arm_sim" +top: "layer_128_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_3_bn2" +type: "BatchNorm" +bottom: "layer_128_3_conv1" +top: "layer_128_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_3_relu2" +type: "ReLU" +bottom: "layer_128_3_conv1_pcs_arm_sim" +top: "layer_128_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_3_conv2" +type: "Convolution" +bottom: "layer_128_3_conv1_pcs_arm_sim" +top: "layer_128_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_3_bn3" +type: "BatchNorm" +bottom: "layer_128_3_conv2" +top: "layer_128_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_3_relu3" +type: "ReLU" +bottom: "layer_128_3_conv2_pcs_arm_sim" +top: "layer_128_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_3_conv3" +type: "Convolution" +bottom: "layer_128_3_conv2_pcs_arm_sim" +top: "layer_128_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_3_sum" +type: "Eltwise" +bottom: "layer_128_3_conv3" +bottom: "layer_128_2_sum" +top: "layer_128_3_sum" + +} +layer { +name: "layer_128_4_bn1" +type: "BatchNorm" +bottom: "layer_128_3_sum" +top: "layer_128_4_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_4_relu1" +type: "ReLU" +bottom: "layer_128_4_bn1_pcs_arm_sim" +top: "layer_128_4_bn1_pcs_arm_sim" + +} +layer { +name: "layer_128_4_conv1" +type: "Convolution" +bottom: "layer_128_4_bn1_pcs_arm_sim" +top: "layer_128_4_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_4_bn2" +type: "BatchNorm" +bottom: "layer_128_4_conv1" +top: "layer_128_4_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_4_relu2" +type: "ReLU" +bottom: "layer_128_4_conv1_pcs_arm_sim" +top: "layer_128_4_conv1_pcs_arm_sim" + +} +layer { +name: "layer_128_4_conv2" +type: "Convolution" +bottom: "layer_128_4_conv1_pcs_arm_sim" +top: "layer_128_4_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_4_bn3" +type: "BatchNorm" +bottom: "layer_128_4_conv2" +top: "layer_128_4_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_128_4_relu3" +type: "ReLU" +bottom: "layer_128_4_conv2_pcs_arm_sim" +top: "layer_128_4_conv2_pcs_arm_sim" + +} +layer { +name: "layer_128_4_conv3" +type: "Convolution" +bottom: "layer_128_4_conv2_pcs_arm_sim" +top: "layer_128_4_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_128_4_sum" +type: "Eltwise" +bottom: "layer_128_4_conv3" +bottom: "layer_128_3_sum" +top: "layer_128_4_sum" + +} +layer { +name: "layer_256_1_bn1" +type: "BatchNorm" +bottom: "layer_128_4_sum" +top: "layer_256_1_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_1_relu1" +type: "ReLU" +bottom: "layer_256_1_bn1_pcs_arm_sim" +top: "layer_256_1_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_1_conv1" +type: "Convolution" +bottom: "layer_256_1_bn1_pcs_arm_sim" +top: "layer_256_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_bn2" +type: "BatchNorm" +bottom: "layer_256_1_conv1" +top: "layer_256_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_1_relu2" +type: "ReLU" +bottom: "layer_256_1_conv1_pcs_arm_sim" +top: "layer_256_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_1_conv2" +type: "Convolution" +bottom: "layer_256_1_conv1_pcs_arm_sim" +top: "layer_256_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_bn3" +type: "BatchNorm" +bottom: "layer_256_1_conv2" +top: "layer_256_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_1_relu3" +type: "ReLU" +bottom: "layer_256_1_conv2_pcs_arm_sim" +top: "layer_256_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_1_conv3" +type: "Convolution" +bottom: "layer_256_1_conv2_pcs_arm_sim" +top: "layer_256_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_conv_expand" +type: "Convolution" +bottom: "layer_256_1_bn1_pcs_arm_sim" +top: "layer_256_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_1_sum" +type: "Eltwise" +bottom: "layer_256_1_conv3" +bottom: "layer_256_1_conv_expand" +top: "layer_256_1_sum" + +} +layer { +name: "layer_256_2_bn1" +type: "BatchNorm" +bottom: "layer_256_1_sum" +top: "layer_256_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_2_relu1" +type: "ReLU" +bottom: "layer_256_2_bn1_pcs_arm_sim" +top: "layer_256_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_2_conv1" +type: "Convolution" +bottom: "layer_256_2_bn1_pcs_arm_sim" +top: "layer_256_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_2_bn2" +type: "BatchNorm" +bottom: "layer_256_2_conv1" +top: "layer_256_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_2_relu2" +type: "ReLU" +bottom: "layer_256_2_conv1_pcs_arm_sim" +top: "layer_256_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_2_conv2" +type: "Convolution" +bottom: "layer_256_2_conv1_pcs_arm_sim" +top: "layer_256_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_2_bn3" +type: "BatchNorm" +bottom: "layer_256_2_conv2" +top: "layer_256_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_2_relu3" +type: "ReLU" +bottom: "layer_256_2_conv2_pcs_arm_sim" +top: "layer_256_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_2_conv3" +type: "Convolution" +bottom: "layer_256_2_conv2_pcs_arm_sim" +top: "layer_256_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_2_sum" +type: "Eltwise" +bottom: "layer_256_2_conv3" +bottom: "layer_256_1_sum" +top: "layer_256_2_sum" + +} +layer { +name: "layer_256_3_bn1" +type: "BatchNorm" +bottom: "layer_256_2_sum" +top: "layer_256_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_3_relu1" +type: "ReLU" +bottom: "layer_256_3_bn1_pcs_arm_sim" +top: "layer_256_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_3_conv1" +type: "Convolution" +bottom: "layer_256_3_bn1_pcs_arm_sim" +top: "layer_256_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_3_bn2" +type: "BatchNorm" +bottom: "layer_256_3_conv1" +top: "layer_256_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_3_relu2" +type: "ReLU" +bottom: "layer_256_3_conv1_pcs_arm_sim" +top: "layer_256_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_3_conv2" +type: "Convolution" +bottom: "layer_256_3_conv1_pcs_arm_sim" +top: "layer_256_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_3_bn3" +type: "BatchNorm" +bottom: "layer_256_3_conv2" +top: "layer_256_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_3_relu3" +type: "ReLU" +bottom: "layer_256_3_conv2_pcs_arm_sim" +top: "layer_256_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_3_conv3" +type: "Convolution" +bottom: "layer_256_3_conv2_pcs_arm_sim" +top: "layer_256_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_3_sum" +type: "Eltwise" +bottom: "layer_256_3_conv3" +bottom: "layer_256_2_sum" +top: "layer_256_3_sum" + +} +layer { +name: "layer_256_4_bn1" +type: "BatchNorm" +bottom: "layer_256_3_sum" +top: "layer_256_4_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_4_relu1" +type: "ReLU" +bottom: "layer_256_4_bn1_pcs_arm_sim" +top: "layer_256_4_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_4_conv1" +type: "Convolution" +bottom: "layer_256_4_bn1_pcs_arm_sim" +top: "layer_256_4_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_4_bn2" +type: "BatchNorm" +bottom: "layer_256_4_conv1" +top: "layer_256_4_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_4_relu2" +type: "ReLU" +bottom: "layer_256_4_conv1_pcs_arm_sim" +top: "layer_256_4_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_4_conv2" +type: "Convolution" +bottom: "layer_256_4_conv1_pcs_arm_sim" +top: "layer_256_4_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_4_bn3" +type: "BatchNorm" +bottom: "layer_256_4_conv2" +top: "layer_256_4_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_4_relu3" +type: "ReLU" +bottom: "layer_256_4_conv2_pcs_arm_sim" +top: "layer_256_4_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_4_conv3" +type: "Convolution" +bottom: "layer_256_4_conv2_pcs_arm_sim" +top: "layer_256_4_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_4_sum" +type: "Eltwise" +bottom: "layer_256_4_conv3" +bottom: "layer_256_3_sum" +top: "layer_256_4_sum" + +} +layer { +name: "layer_256_5_bn1" +type: "BatchNorm" +bottom: "layer_256_4_sum" +top: "layer_256_5_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_5_relu1" +type: "ReLU" +bottom: "layer_256_5_bn1_pcs_arm_sim" +top: "layer_256_5_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_5_conv1" +type: "Convolution" +bottom: "layer_256_5_bn1_pcs_arm_sim" +top: "layer_256_5_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_5_bn2" +type: "BatchNorm" +bottom: "layer_256_5_conv1" +top: "layer_256_5_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_5_relu2" +type: "ReLU" +bottom: "layer_256_5_conv1_pcs_arm_sim" +top: "layer_256_5_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_5_conv2" +type: "Convolution" +bottom: "layer_256_5_conv1_pcs_arm_sim" +top: "layer_256_5_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_5_bn3" +type: "BatchNorm" +bottom: "layer_256_5_conv2" +top: "layer_256_5_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_5_relu3" +type: "ReLU" +bottom: "layer_256_5_conv2_pcs_arm_sim" +top: "layer_256_5_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_5_conv3" +type: "Convolution" +bottom: "layer_256_5_conv2_pcs_arm_sim" +top: "layer_256_5_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_5_sum" +type: "Eltwise" +bottom: "layer_256_5_conv3" +bottom: "layer_256_4_sum" +top: "layer_256_5_sum" + +} +layer { +name: "layer_256_6_bn1" +type: "BatchNorm" +bottom: "layer_256_5_sum" +top: "layer_256_6_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_6_relu1" +type: "ReLU" +bottom: "layer_256_6_bn1_pcs_arm_sim" +top: "layer_256_6_bn1_pcs_arm_sim" + +} +layer { +name: "layer_256_6_conv1" +type: "Convolution" +bottom: "layer_256_6_bn1_pcs_arm_sim" +top: "layer_256_6_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_6_bn2" +type: "BatchNorm" +bottom: "layer_256_6_conv1" +top: "layer_256_6_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_6_relu2" +type: "ReLU" +bottom: "layer_256_6_conv1_pcs_arm_sim" +top: "layer_256_6_conv1_pcs_arm_sim" + +} +layer { +name: "layer_256_6_conv2" +type: "Convolution" +bottom: "layer_256_6_conv1_pcs_arm_sim" +top: "layer_256_6_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_6_bn3" +type: "BatchNorm" +bottom: "layer_256_6_conv2" +top: "layer_256_6_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_256_6_relu3" +type: "ReLU" +bottom: "layer_256_6_conv2_pcs_arm_sim" +top: "layer_256_6_conv2_pcs_arm_sim" + +} +layer { +name: "layer_256_6_conv3" +type: "Convolution" +bottom: "layer_256_6_conv2_pcs_arm_sim" +top: "layer_256_6_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 1024 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_256_6_sum" +type: "Eltwise" +bottom: "layer_256_6_conv3" +bottom: "layer_256_5_sum" +top: "layer_256_6_sum" + +} +layer { +name: "layer_512_1_bn1" +type: "BatchNorm" +bottom: "layer_256_6_sum" +top: "layer_512_1_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_1_relu1" +type: "ReLU" +bottom: "layer_512_1_bn1_pcs_arm_sim" +top: "layer_512_1_bn1_pcs_arm_sim" + +} +layer { +name: "layer_512_1_conv1" +type: "Convolution" +bottom: "layer_512_1_bn1_pcs_arm_sim" +top: "layer_512_1_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_bn2" +type: "BatchNorm" +bottom: "layer_512_1_conv1" +top: "layer_512_1_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_1_relu2" +type: "ReLU" +bottom: "layer_512_1_conv1_pcs_arm_sim" +top: "layer_512_1_conv1_pcs_arm_sim" + +} +layer { +name: "layer_512_1_conv2" +type: "Convolution" +bottom: "layer_512_1_conv1_pcs_arm_sim" +top: "layer_512_1_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_bn3" +type: "BatchNorm" +bottom: "layer_512_1_conv2" +top: "layer_512_1_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_1_relu3" +type: "ReLU" +bottom: "layer_512_1_conv2_pcs_arm_sim" +top: "layer_512_1_conv2_pcs_arm_sim" + +} +layer { +name: "layer_512_1_conv3" +type: "Convolution" +bottom: "layer_512_1_conv2_pcs_arm_sim" +top: "layer_512_1_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_conv_expand" +type: "Convolution" +bottom: "layer_512_1_bn1_pcs_arm_sim" +top: "layer_512_1_conv_expand" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_1_sum" +type: "Eltwise" +bottom: "layer_512_1_conv3" +bottom: "layer_512_1_conv_expand" +top: "layer_512_1_sum" + +} +layer { +name: "layer_512_2_bn1" +type: "BatchNorm" +bottom: "layer_512_1_sum" +top: "layer_512_2_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_2_relu1" +type: "ReLU" +bottom: "layer_512_2_bn1_pcs_arm_sim" +top: "layer_512_2_bn1_pcs_arm_sim" + +} +layer { +name: "layer_512_2_conv1" +type: "Convolution" +bottom: "layer_512_2_bn1_pcs_arm_sim" +top: "layer_512_2_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_2_bn2" +type: "BatchNorm" +bottom: "layer_512_2_conv1" +top: "layer_512_2_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_2_relu2" +type: "ReLU" +bottom: "layer_512_2_conv1_pcs_arm_sim" +top: "layer_512_2_conv1_pcs_arm_sim" + +} +layer { +name: "layer_512_2_conv2" +type: "Convolution" +bottom: "layer_512_2_conv1_pcs_arm_sim" +top: "layer_512_2_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_2_bn3" +type: "BatchNorm" +bottom: "layer_512_2_conv2" +top: "layer_512_2_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_2_relu3" +type: "ReLU" +bottom: "layer_512_2_conv2_pcs_arm_sim" +top: "layer_512_2_conv2_pcs_arm_sim" + +} +layer { +name: "layer_512_2_conv3" +type: "Convolution" +bottom: "layer_512_2_conv2_pcs_arm_sim" +top: "layer_512_2_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_2_sum" +type: "Eltwise" +bottom: "layer_512_2_conv3" +bottom: "layer_512_1_sum" +top: "layer_512_2_sum" + +} +layer { +name: "layer_512_3_bn1" +type: "BatchNorm" +bottom: "layer_512_2_sum" +top: "layer_512_3_bn1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_3_relu1" +type: "ReLU" +bottom: "layer_512_3_bn1_pcs_arm_sim" +top: "layer_512_3_bn1_pcs_arm_sim" + +} +layer { +name: "layer_512_3_conv1" +type: "Convolution" +bottom: "layer_512_3_bn1_pcs_arm_sim" +top: "layer_512_3_conv1" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_3_bn2" +type: "BatchNorm" +bottom: "layer_512_3_conv1" +top: "layer_512_3_conv1_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_3_relu2" +type: "ReLU" +bottom: "layer_512_3_conv1_pcs_arm_sim" +top: "layer_512_3_conv1_pcs_arm_sim" + +} +layer { +name: "layer_512_3_conv2" +type: "Convolution" +bottom: "layer_512_3_conv1_pcs_arm_sim" +top: "layer_512_3_conv2" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 512 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_3_bn3" +type: "BatchNorm" +bottom: "layer_512_3_conv2" +top: "layer_512_3_conv2_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "layer_512_3_relu3" +type: "ReLU" +bottom: "layer_512_3_conv2_pcs_arm_sim" +top: "layer_512_3_conv2_pcs_arm_sim" + +} +layer { +name: "layer_512_3_conv3" +type: "Convolution" +bottom: "layer_512_3_conv2_pcs_arm_sim" +top: "layer_512_3_conv3" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +convolution_param { + num_output: 2048 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } +} + +} +layer { +name: "layer_512_3_sum" +type: "Eltwise" +bottom: "layer_512_3_conv3" +bottom: "layer_512_2_sum" +top: "layer_512_3_sum" + +} +layer { +name: "last_bn" +type: "BatchNorm" +bottom: "layer_512_3_sum" +top: "layer_512_3_sum_pcs_arm_sim" + batch_norm_param { + } +} +layer { +name: "last_relu" +type: "ReLU" +bottom: "layer_512_3_sum_pcs_arm_sim" +top: "layer_512_3_sum_pcs_arm_sim" + +} +layer { +name: "global_pool" +type: "Pooling" +bottom: "layer_512_3_sum_pcs_arm_sim" +top: "global_pool" +pooling_param { + pool: AVE + global_pooling: true +} + +} +layer { +name: "score" +type: "InnerProduct" +bottom: "global_pool" +top: "score" +param { + lr_mult: 1.0 + decay_mult: 1.0 +} +param { + lr_mult: 2.0 + decay_mult: 1.0 +} +inner_product_param { + num_output: 1000 +} + +} +layer { +name: "loss" +type: "SoftmaxWithLoss" +bottom: "score" +bottom: "label" +top: "loss" + +} +layer { +name: "accuracy" +type: "Accuracy" +bottom: "score" +bottom: "label" +top: "accuracy" +include { + phase: TEST +} + +} diff --git a/scripts/prepare_env.sh b/scripts/prepare_env.sh new file mode 100755 index 000000000..76e39b471 --- /dev/null +++ b/scripts/prepare_env.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +os="centos" + +username=`whoami` +if [ "$username" != "root" ]; +then + package_installer="sudo -E" +fi + +# centos: yum; ubuntu: apt-get +package_installer+=" yum -y" + +function install_deps +{ + echo "Install dependencies..." + if [ "$os" == "centos" ]; then + $package_installer clean all + $package_installer upgrade + $package_installer install epel-release + $package_installer groupinstall "Development Tools" + fi + + $package_installer install python-devel boost boost-devel cmake numpy \ + numpy-devel gflags gflags-devel glog glog-devel protobuf protobuf-devel hdf5 \ + hdf5-devel lmdb lmdb-devel leveldb leveldb-devel snappy-devel opencv \ + opencv-devel wget bc numactl +} + +function check_os +{ + echo "Check OS and the version..." +} + + +function checkout_source +{ + echo "Checkout source code of Intel Caffe..." + git clone https://github.com/intel/caffe.git + if [ $? -eq 128 ]; then + echo "Error during checking out source code. Please set proxy as below:" + echo " export https_proxy=https://username:password@proxy.com:port" + fi +} +function build_caffe +{ + echo "Build Intel Caffe..." + cp Makefile.config.example Makefile.config + make -j 8 +} + +function is_sudoer +{ + sudo -v >/dev/null + if [ $? -eq 1 ]; then + echo "User $(whoami) is not sudoer, and cannot install dependencies." + return 1 + fi + return 0 +} + +check_os +if [ "$os" == "ubuntu" ]; then + package_installer="apt-get" +fi + +is_sudoer +if [ $? -eq 0 ]; then + install_deps +fi + + +build_caffe + +echo "Done." diff --git a/scripts/run_benchmark.sh b/scripts/run_benchmark.sh new file mode 100755 index 000000000..ac9a702a9 --- /dev/null +++ b/scripts/run_benchmark.sh @@ -0,0 +1,125 @@ +#!/bin/sh + +# model path +model_path="models/intel_optimized_models" + +# network topology, support alexnet, googlenet, googlenet v2, resnet50 +# if you set it as 'all', then it will benchmark all supported topologies. +topology="" +topology_list="alexnet googlenet googlenet_v2 resnet_50 all" +declare -a model_list=("alexnet" "googlenet" "googlenet_v2" "resnet_50") + +# it's assigned by detect_cpu +cpu_model="skx" + +# specify default engine for running caffe benchmarks +engine="MKL2017" + +# directory path to save results +result_dir="" + +# specific script used to run intelcaffe +caffe_bin="./scripts/run_intelcaffe.sh" + +# Iterations to run benchmark +iterations=100 + +function usage +{ + script_name=$0 + echo "Usage:" + echo " $script_name --topology network_topology" + echo "" + echo " Parameters:" + echo " topology: network topology used to benchmark, support alexnet, googlenet, googlenet_v2, resnet_50" + echo " , by specifying it as 'all', we run all supported topologies." + echo "" +} + +function is_supported_topology +{ + echo "" + if [[ "$topology_list" =~ (^|[[:space:]])"$topology"($|[[:space:]]) ]]; then + echo "Topology: ${topology}" + else + echo "$topology is not supported, please check the usage." + usage + exit 1 + fi +} + +function detect_cpu +{ + # detect cpu model + model_string=`lscpu | grep "Model name" | awk -F ':' '{print $2}'` + if [[ $model_string == *"72"* ]]; then + cpu_model="knl" + elif [[ $model_string == *"8180"* ]]; then + cpu_model="skx" + elif [[ $model_string == *"6148"* ]]; then + cpu_model="skx" + elif [[ $model_string == *"E5-26"* ]]; then + cpu_model="bdw" + else + echo "Will use default settings, which may not be the optimal one." + fi +} + +function run_specific_model +{ + model_file="models/intel_optimized_models/${model}/${cpu_model}/train_val_dummydata.prototxt" + exec_command="${caffe_bin} --model_file ${model_file} --mode time --iteration ${iterations} --benchmark none" + $exec_command +} + +function run_benchmark +{ + detect_cpu + echo "Cpu model : $model_string" + if [[ $topology = "all" ]]; then + for ((i=0; i<${#model_list[@]}; i++)) + do + echo " ${model_list[$i]}" + model=${model_list[$i]} + run_specific_model + done + else + model=$topology + run_specific_model + fi +} + +if [[ $# -le 1 ]]; then + usage + exit 0 +fi + +root_dir=$(cd $(dirname $(dirname $0)); pwd) +while [[ $# -gt 1 ]] +do + key="$1" + case $key in + --topology) + topology="$2" + shift + ;; + *) + echo "Unknown option: $key" + usage + exit 1 + ;; + esac + shift +done + +# check parameters +if [[ $topology = "" ]]; then + echo "Error: topology is not specified." + exit 1 +fi + +# check if input topology is supported +is_supported_topology + +# start running benchmark +run_benchmark diff --git a/scripts/run_intelcaffe.sh b/scripts/run_intelcaffe.sh index 29a5309ab..1e357db65 100755 --- a/scripts/run_intelcaffe.sh +++ b/scripts/run_intelcaffe.sh @@ -1,5 +1,4 @@ #!/bin/sh - set -x benchmark_mode="all" @@ -7,7 +6,7 @@ benchmark_mode="all" mode="train" # it's assigned by detect_cpu -cpu_model=skx +cpu_model="skx" # a list of nodes host_file="" @@ -30,30 +29,37 @@ solver_file="" # specify engine for running caffe engine="MKL2017" +#default numa node if needed +numanode=0 + result_dir="" debug="off" +mpibench_bin="IMB-MPI1" +mpibench_param="allreduce" function usage { script_name=$0 echo "Usage:" - echo " $script_name --host host_file [--solver solver_file]" + echo " $script_name [--host host_file] [--solver solver_file]" echo " [--network opa/tcp] [--netmask tcp_netmask] [--debug on/off]" echo " [--mode train/resume_train/time/none] [--benchmark all/qperf/mpi/none]" echo " [--iteration iter] [--model_file deploy.prototxt]" echo " [--snapshot snapshot.caffemodel]" echo " [--num_mlsl_servers num_mlsl_servers]" echo " [--output output_folder]" + echo " [--mpibench_bin mpibench_bin]" + echo " [--mpibench_param mpibench_param]" echo "" echo " Parameters:" - echo " host: host file includes list of nodes." + echo " mode: train(default), resume_train, time, none(not to run caffe test)" echo "" echo " Optional parameters:" - echo " solver: specify solver file if mode is train/resume_train" + echo " host: host file includes list of nodes. Only used when you're running multinodes mode" + echo " solver: need to be specified a solver file if mode is train/resume_train" echo " network: opa(default), tcp" echo " netmask: only used if network is tcp" echo " debug: off(default). MLSL debug information is outputed if it's on" - echo " mode: train(default), resume_train, time, none(not to run caffe test)" echo " benchmark: all(default). Includes qperf, all-reduce performance" echo " Dependency: user needs to install qperf, IMB-MPI1;" echo " and add them in system path." @@ -61,6 +67,8 @@ function usage echo " snapshot: only used if mode is resume_train" echo " num_mlsl_servers: number of MLSL ep servers" echo " output_folder: output folder for storing results" + echo " mpibench_bin: IMB-MPI1 (default). relative path of binary of mpi benchmark." + echo " mpibench_param: allreduce (default). parameter of mpi benchmark." } declare -a cpu_list=("Intel Xeon E5-26xx (Broadwell)" "Intel Xeon Phi 72xx (Knight Landing)" @@ -71,16 +79,17 @@ function detect_cpu # detect cpu model model_string=`lscpu | grep "Model name" | awk -F ':' '{print $2}'` if [[ $model_string == *"72"* ]]; then - cpu_model=knl + cpu_model="knl" elif [[ $model_string == *"8180"* ]]; then - cpu_model=skx + cpu_model="skx" elif [[ $model_string == *"6148"* ]]; then - cpu_model=skx + cpu_model="skx" elif [[ $model_string == *"E5-26"* ]]; then - cpu_model=bdw + cpu_model="bdw" else - echo "CPU model: $model_string" - echo " Use default settings, which may not be optimal ones." + cpu_model="unknown" + echo "CPU model :$model_string is unknown." + echo "Will use default settings, which may not be the optimal one." fi } @@ -143,8 +152,8 @@ function clear_shm clear_command="rm -rf /dev/shm/*" check_shm_command="df -h | grep shm" - # TODO: check if 50G is the minimum shm size? - min_shm_size=50 + # TODO: check if 40G is the minimum shm size? + min_shm_size=40 shm_unit="G" for node in "${nodenames[@]}" @@ -157,10 +166,9 @@ function clear_shm if [ "$unit" == "$shm_unit" ] && [ $shm_size -ge ${min_shm_size} ]; then continue else - echo "Error: /dev/shm size = ${shm_size}${unit}, on node: ${node}." - echo " It's less than minimum size: ${min_shm_size}${shm_unit}." - echo " Please clean or enlarge it." - exit 1 + echo "Warning: /dev/shm free size = ${shm_size}${unit}, on node: ${node}." + echo " Better to larger than ${min_shm_size}${shm_unit}." + echo " Please clean or enlarge the partition." fi done } @@ -183,13 +191,13 @@ function clear_envs function set_mlsl_vars { if [ "${num_mlsl_servers}" -eq -1 ]; then - if [ ${numnodes} -eq 1 ]; then + if [ "${numnodes}" -eq 1 ]; then numservers=0 else - if [ ${cpu_model} == knl ]; then - numservers=4 - else + if [ "${cpu_model}" == "bdw" ] || [ "${cpu_model}" == "skx" ]; then numservers=2 + else + numservers=4 fi fi else @@ -200,10 +208,10 @@ function set_mlsl_vars export MLSL_NUM_SERVERS=${numservers} if [ ${numservers} -gt 0 ]; then - if [ ${cpu_model} == knl ]; then - listep=6,7,8,9,10,11,12,13 - else + if [ "${cpu_model}" == "bdw" ] || [ "${cpu_model}" == "skx" ]; then listep=6,7,8,9 + else + listep=6,7,8,9,10,11,12,13 fi export MLSL_SERVER_AFFINITY="${listep}" echo "MLSL_SERVER_AFFINITY: ${listep}" @@ -220,6 +228,7 @@ function set_mlsl_vars function set_env_vars { set_mlsl_vars + init_mpi_envs ppncpu=1 threadspercore=1 @@ -245,13 +254,14 @@ function execute_command local xeonbin_=$1 local result_dir_=$2 - if [ ${cpu_model} == knl ]; then - exec_command="numactl --preferred=$numanode $xeonbin_" - else + if [ "${cpu_model}" == "bdw" ] || [ "${cpu_model}" == "skx" ]; then exec_command="$xeonbin_" + else + + exec_command="numactl --preferred=$numanode $xeonbin_" fi - if [ ${numnodes} -gt 1 ]; then + if [ "${numnodes}" -gt 1 ]; then # Produce the configuration file for mpiexec. # Each line of the config file contains a # host, environment, binary name. cfile_=nodeconfig-${cpu_model}-${numnodes}.txt @@ -262,9 +272,9 @@ function execute_command echo "-host ${node} -n $ppncpu $exec_command" >> $cfile_ done fi + log_file=outputCluster-${cpu_model}-${numnodes}.txt clear_envs - log_file=outputCluster-${cpu_model}-${numnodes}.txt sensors_bin="sensors" check_dependency $sensors_bin @@ -275,10 +285,9 @@ function execute_command mv $sensor_log_file $result_dir_/ fi - if [ ${numnodes} -eq 1 ]; then + if [ "${numnodes}" -eq 1 ]; then time GLOG_minloglevel=0 $exec_command >${log_file} 2>&1 else - init_mpi_envs exec_command="-l -configfile $cfile_" time GLOG_minloglevel=0 mpiexec.hydra $exec_command >${log_file} 2>&1 fi @@ -291,6 +300,35 @@ function execute_command mv $log_file $cfile_ $result_dir_/ } +# used to calculate images / s +function obtain_average_fwd_bwd_time +{ + result_file="${result_dir}/${log_file}" + if [ -f $result_file ]; then + average_time_line=`cat $result_file | grep "Average Forward-Backward"` + average_time=`echo $average_time_line | awk -F ' ' '{print $(NF-1)}'` + echo "average time : ${average_time} ms" + else + echo "Error: result file $result_file does not exist..." + exit 1 + fi +} + +# used to calculate images / s +function obtain_batch_size +{ + batch_size=`cat $model_file | grep shape | sed -n "3, 1p" | awk '{print $4}'` + echo "batch size : $batch_size" +} + +function calculate_images_per_second +{ + obtain_batch_size + obtain_average_fwd_bwd_time + speed=`echo "$batch_size*1000/$average_time" | bc` + echo "benchmark speed : $speed images/s" +} + function run_qperf_bench { qperf_bin="qperf" @@ -335,14 +373,15 @@ function run_qperf_bench function run_mpi_bench { # MPI benchmark - mpibench_bin="IMB-MPI1" check_dependency $mpibench_bin if [ $? -ne 0 ]; then echo "Skip MPI benchmark..." return fi - xeonbin="$mpibench_bin allreduce" + xeonbin="$mpibench_bin $mpibench_param" + + mpibench_bin_bname=`basename $mpibench_bin` declare -a adjust_values=(1 2 3 5 7 8 9 0) declare -a collective_values=('tmi' 'none') @@ -367,7 +406,7 @@ function run_mpi_bench echo "I_MPI_ADJUST_ALLREDUCE=$I_MPI_ADJUST_ALLREDUCE" echo "I_MPI_COLLECTIVE_DEFAULTS=$I_MPI_COLLECTIVE_DEFAULTS" - test_result_dir=$result_dir/mpibench-${adjust_values[$i]}-${collective_values[$j]} + test_result_dir=$result_dir/mpibench-${mpibench_bin_bname}-${mpibench_param}-${adjust_values[$i]}-${collective_values[$j]} mkdir -p $test_result_dir execute_command "$xeonbin" $test_result_dir done @@ -397,7 +436,9 @@ function run_benchmark function run_caffe { - echo "Run caffe with ${numnodes} nodes..." + if [[ $host_file != "" ]]; then + echo "Run caffe with ${numnodes} nodes..." + fi if [ ${mode} == "time" ]; then xeonbin="$caffe_bin time --iterations $iteration --model $model_file -engine=$engine" @@ -408,8 +449,13 @@ function run_caffe fi fi - set_env_vars + if [[ $host_file != "" ]]; then + set_env_vars + fi execute_command "$xeonbin" $result_dir + if [ ${mode} == "time" ]; then + calculate_images_per_second + fi } @@ -420,7 +466,6 @@ fi root_dir=$(cd $(dirname $(dirname $0)); pwd) result_dir=${root_dir}/"result-`date +%Y%m%d%H%M%S`" - while [[ $# -gt 1 ]] do key="$1" @@ -477,6 +522,14 @@ do result_dir=$2 shift ;; + --mpibench_bin) + mpibench_bin=$2 + shift + ;; + --mpibench_param) + mpibench_param=$2 + shift + ;; *) echo "Unknown option: $key" usage @@ -486,16 +539,6 @@ do shift done -# check parameters -if [ "$host_file" == "" ]; then - echo "Error: host file is NOT specified." - exit 1 -fi -if [ ! -f $host_file ]; then - echo "Error: host file does NOT exist." - exit 1 -fi - echo "" echo "CPUs with optimal settings:" for ((i=0; i<${#cpu_list[@]}; i++)) @@ -567,22 +610,27 @@ if [ "$network" == "tcp" ]; then fi # Names to configfile, binary (executable) files # -nodenames=( `cat $host_file | sort | uniq ` ) -if [ ${#nodenames[@]} -eq 0 ]; then - echo "Error: empty host file! Exit." - exit 0 +# Add check for host_file's existence to support single node +if [[ $host_file != "" ]]; then + nodenames=( `cat $host_file | sort | uniq ` ) + if [ ${#nodenames[@]} -eq 0 ]; then + echo "Error: empty host file! Exit." + exit 0 + fi + numnodes=${#nodenames[@]} +else + numnodes=1 fi -numnodes=${#nodenames[@]} -echo "Number of nodes: $numnodes" +echo " Number of nodes: $numnodes" detect_cpu -if [ $cpu_model == knl ]; then +if [ "$cpu_model" == "knl" ]; then set_numa_node fi if [ ! -d $result_dir ]; then - echo "Create result directory: $result_dir" + #echo "Create result directory: $result_dir" mkdir -p $result_dir fi From 26259497d915d5ec621ef9a18313e812edcb25ae Mon Sep 17 00:00:00 2001 From: Haihao Shen Date: Tue, 26 Sep 2017 21:20:06 +0800 Subject: [PATCH 2/2] Update wiki installtion page --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dbc117df6..120b2c743 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Check out the [project site](http://caffe.berkeleyvision.org) for all the detail - [DIY Deep Learning for Vision with Caffe](https://docs.google.com/presentation/d/1UeKXVgRvvxg9OUdh_UiC5G71UMscNPlvArsWER41PsU/edit#slide=id.p) - [Tutorial Documentation](http://caffe.berkeleyvision.org/tutorial/) - [BVLC reference models](http://caffe.berkeleyvision.org/model_zoo.html) and the [community model zoo](https://github.com/BVLC/caffe/wiki/Model-Zoo) -- [Installation instructions](http://caffe.berkeleyvision.org/installation.html) +- [Installation instructions](https://github.com/intel/caffe/wiki/Installation) and step-by-step examples.