summaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
authorJeff Donahue <jeff.donahue@gmail.com>2015-02-05 15:17:24 -0800
committerJeff Donahue <jeff.donahue@gmail.com>2015-02-05 15:17:24 -0800
commite6c80dac40d4bb13390b56bc18294e6e91b00436 (patch)
treece9356561d9ac4270b14a71f2272b48c96cceb36 /models
parent11a4c1655842a625a8fbb93f8c8ccd3629321a3f (diff)
downloadcaffe-e6c80dac40d4bb13390b56bc18294e6e91b00436.tar.gz
caffe-e6c80dac40d4bb13390b56bc18294e6e91b00436.tar.bz2
caffe-e6c80dac40d4bb13390b56bc18294e6e91b00436.zip
Upgrade existing nets using upgrade_net_proto_text tool
Restore comments afterwards
Diffstat (limited to 'models')
-rw-r--r--models/bvlc_alexnet/deploy.prototxt248
-rw-r--r--models/bvlc_alexnet/train_val.prototxt232
-rw-r--r--models/bvlc_googlenet/deploy.prototxt1548
-rw-r--r--models/bvlc_googlenet/train_val.prototxt1802
-rw-r--r--models/bvlc_reference_caffenet/deploy.prototxt92
-rw-r--r--models/bvlc_reference_caffenet/train_val.prototxt232
-rw-r--r--models/bvlc_reference_rcnn_ilsvrc13/deploy.prototxt88
-rw-r--r--models/finetune_flickr_style/deploy.prototxt192
-rw-r--r--models/finetune_flickr_style/train_val.prototxt236
9 files changed, 2668 insertions, 2002 deletions
diff --git a/models/bvlc_alexnet/deploy.prototxt b/models/bvlc_alexnet/deploy.prototxt
index d010753f..ced055b8 100644
--- a/models/bvlc_alexnet/deploy.prototxt
+++ b/models/bvlc_alexnet/deploy.prototxt
@@ -4,241 +4,273 @@ input_dim: 10
input_dim: 3
input_dim: 227
input_dim: 227
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ 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
}
- bottom: "data"
- top: "conv1"
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "conv1"
top: "conv1"
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
+ bottom: "conv1"
+ top: "norm1"
lrn_param {
local_size: 5
alpha: 0.0001
beta: 0.75
}
- bottom: "conv1"
- top: "norm1"
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
+ bottom: "norm1"
+ top: "pool1"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
- bottom: "norm1"
- top: "pool1"
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ 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
}
- bottom: "pool1"
- top: "conv2"
}
-layers {
+layer {
name: "relu2"
- type: RELU
+ type: "ReLU"
bottom: "conv2"
top: "conv2"
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
+ bottom: "conv2"
+ top: "norm2"
lrn_param {
local_size: 5
alpha: 0.0001
beta: 0.75
}
- bottom: "conv2"
- top: "norm2"
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
+ bottom: "norm2"
+ top: "pool2"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
- bottom: "norm2"
- top: "pool2"
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ 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
}
- bottom: "pool2"
- top: "conv3"
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "conv4"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ 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
}
- bottom: "conv3"
- top: "conv4"
}
-layers {
+layer {
name: "relu4"
- type: RELU
+ type: "ReLU"
bottom: "conv4"
top: "conv4"
}
-layers {
+layer {
name: "conv5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ 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
}
- bottom: "conv4"
- top: "conv5"
}
-layers {
+layer {
name: "relu5"
- type: RELU
+ type: "ReLU"
bottom: "conv5"
top: "conv5"
}
-layers {
+layer {
name: "pool5"
- type: POOLING
+ type: "Pooling"
+ bottom: "conv5"
+ top: "pool5"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
- bottom: "conv5"
- top: "pool5"
}
-layers {
+layer {
name: "fc6"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ 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
}
- bottom: "pool5"
- top: "fc6"
}
-layers {
+layer {
name: "relu6"
- type: RELU
+ type: "ReLU"
bottom: "fc6"
top: "fc6"
}
-layers {
+layer {
name: "drop6"
- type: DROPOUT
+ type: "Dropout"
+ bottom: "fc6"
+ top: "fc6"
dropout_param {
dropout_ratio: 0.5
}
- bottom: "fc6"
- top: "fc6"
}
-layers {
+layer {
name: "fc7"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ 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
}
- bottom: "fc6"
- top: "fc7"
}
-layers {
+layer {
name: "relu7"
- type: RELU
+ type: "ReLU"
bottom: "fc7"
top: "fc7"
}
-layers {
+layer {
name: "drop7"
- type: DROPOUT
+ type: "Dropout"
+ bottom: "fc7"
+ top: "fc7"
dropout_param {
dropout_ratio: 0.5
}
- bottom: "fc7"
- top: "fc7"
}
-layers {
+layer {
name: "fc8"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ 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
}
- bottom: "fc7"
- top: "fc8"
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "fc8"
top: "prob"
}
diff --git a/models/bvlc_alexnet/train_val.prototxt b/models/bvlc_alexnet/train_val.prototxt
index 717b6fa4..588b4ea7 100644
--- a/models/bvlc_alexnet/train_val.prototxt
+++ b/models/bvlc_alexnet/train_val.prototxt
@@ -1,47 +1,55 @@
name: "AlexNet"
-layers {
+layer {
name: "data"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
- data_param {
- source: "examples/imagenet/ilsvrc12_train_lmdb"
- backend: LMDB
- batch_size: 256
+ include {
+ phase: TRAIN
}
transform_param {
+ mirror: true
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
- mirror: true
}
- include: { phase: TRAIN }
+ data_param {
+ source: "examples/imagenet/ilsvrc12_train_lmdb"
+ batch_size: 256
+ backend: LMDB
+ }
}
-layers {
+layer {
name: "data"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
- data_param {
- source: "examples/imagenet/ilsvrc12_val_lmdb"
- backend: LMDB
- batch_size: 50
+ include {
+ phase: TEST
}
transform_param {
+ mirror: false
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
- mirror: false
}
- include: { phase: TEST }
+ data_param {
+ source: "examples/imagenet/ilsvrc12_val_lmdb"
+ batch_size: 50
+ backend: LMDB
+ }
}
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
kernel_size: 11
@@ -56,15 +64,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "conv1"
top: "conv1"
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "conv1"
top: "norm1"
lrn_param {
@@ -73,9 +81,9 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "norm1"
top: "pool1"
pooling_param {
@@ -84,15 +92,19 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 2
@@ -108,15 +120,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu2"
- type: RELU
+ type: "ReLU"
bottom: "conv2"
top: "conv2"
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "conv2"
top: "norm2"
lrn_param {
@@ -125,9 +137,9 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "norm2"
top: "pool2"
pooling_param {
@@ -136,15 +148,19 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool2"
top: "conv3"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -159,21 +175,25 @@ layers {
}
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "conv4"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv3"
top: "conv4"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -189,21 +209,25 @@ layers {
}
}
}
-layers {
+layer {
name: "relu4"
- type: RELU
+ type: "ReLU"
bottom: "conv4"
top: "conv4"
}
-layers {
+layer {
name: "conv5"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv4"
top: "conv5"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 1
@@ -219,15 +243,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu5"
- type: RELU
+ type: "ReLU"
bottom: "conv5"
top: "conv5"
}
-layers {
+layer {
name: "pool5"
- type: POOLING
+ type: "Pooling"
bottom: "conv5"
top: "pool5"
pooling_param {
@@ -236,15 +260,19 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "fc6"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool5"
top: "fc6"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 4096
weight_filler {
@@ -257,30 +285,34 @@ layers {
}
}
}
-layers {
+layer {
name: "relu6"
- type: RELU
+ type: "ReLU"
bottom: "fc6"
top: "fc6"
}
-layers {
+layer {
name: "drop6"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc6"
top: "fc6"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc7"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc6"
top: "fc7"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 4096
weight_filler {
@@ -293,30 +325,34 @@ layers {
}
}
}
-layers {
+layer {
name: "relu7"
- type: RELU
+ type: "ReLU"
bottom: "fc7"
top: "fc7"
}
-layers {
+layer {
name: "drop7"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc7"
top: "fc7"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc8"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc7"
top: "fc8"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1000
weight_filler {
@@ -329,17 +365,19 @@ layers {
}
}
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "fc8"
bottom: "label"
top: "accuracy"
- include: { phase: TEST }
+ include {
+ phase: TEST
+ }
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "fc8"
bottom: "label"
top: "loss"
diff --git a/models/bvlc_googlenet/deploy.prototxt b/models/bvlc_googlenet/deploy.prototxt
index e31a4c9c..4648bf26 100644
--- a/models/bvlc_googlenet/deploy.prototxt
+++ b/models/bvlc_googlenet/deploy.prototxt
@@ -4,15 +4,19 @@ input_dim: 10
input_dim: 3
input_dim: 224
input_dim: 224
-layers {
+layer {
+ name: "conv1/7x7_s2"
+ type: "Convolution"
bottom: "data"
top: "conv1/7x7_s2"
- name: "conv1/7x7_s2"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
pad: 3
@@ -28,43 +32,47 @@ layers {
}
}
}
-layers {
+layer {
+ name: "conv1/relu_7x7"
+ type: "ReLU"
bottom: "conv1/7x7_s2"
top: "conv1/7x7_s2"
- name: "conv1/relu_7x7"
- type: RELU
}
-layers {
+layer {
+ name: "pool1/3x3_s2"
+ type: "Pooling"
bottom: "conv1/7x7_s2"
top: "pool1/3x3_s2"
- name: "pool1/3x3_s2"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
-layers {
+layer {
+ name: "pool1/norm1"
+ type: "LRN"
bottom: "pool1/3x3_s2"
top: "pool1/norm1"
- name: "pool1/norm1"
- type: LRN
lrn_param {
local_size: 5
alpha: 0.0001
beta: 0.75
}
}
-layers {
+layer {
+ name: "conv2/3x3_reduce"
+ type: "Convolution"
bottom: "pool1/norm1"
top: "conv2/3x3_reduce"
- name: "conv2/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -78,21 +86,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "conv2/relu_3x3_reduce"
+ type: "ReLU"
bottom: "conv2/3x3_reduce"
top: "conv2/3x3_reduce"
- name: "conv2/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "conv2/3x3"
+ type: "Convolution"
bottom: "conv2/3x3_reduce"
top: "conv2/3x3"
- name: "conv2/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 192
pad: 1
@@ -107,43 +119,47 @@ layers {
}
}
}
-layers {
+layer {
+ name: "conv2/relu_3x3"
+ type: "ReLU"
bottom: "conv2/3x3"
top: "conv2/3x3"
- name: "conv2/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "conv2/norm2"
+ type: "LRN"
bottom: "conv2/3x3"
top: "conv2/norm2"
- name: "conv2/norm2"
- type: LRN
lrn_param {
local_size: 5
alpha: 0.0001
beta: 0.75
}
}
-layers {
+layer {
+ name: "pool2/3x3_s2"
+ type: "Pooling"
bottom: "conv2/norm2"
top: "pool2/3x3_s2"
- name: "pool2/3x3_s2"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
-layers {
+layer {
+ name: "inception_3a/1x1"
+ type: "Convolution"
bottom: "pool2/3x3_s2"
top: "inception_3a/1x1"
- name: "inception_3a/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -157,21 +173,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_1x1"
+ type: "ReLU"
bottom: "inception_3a/1x1"
top: "inception_3a/1x1"
- name: "inception_3a/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/3x3_reduce"
+ type: "Convolution"
bottom: "pool2/3x3_s2"
top: "inception_3a/3x3_reduce"
- name: "inception_3a/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
kernel_size: 1
@@ -185,21 +205,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_3a/3x3_reduce"
top: "inception_3a/3x3_reduce"
- name: "inception_3a/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/3x3"
+ type: "Convolution"
bottom: "inception_3a/3x3_reduce"
top: "inception_3a/3x3"
- name: "inception_3a/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
pad: 1
@@ -214,21 +238,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_3x3"
+ type: "ReLU"
bottom: "inception_3a/3x3"
top: "inception_3a/3x3"
- name: "inception_3a/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/5x5_reduce"
+ type: "Convolution"
bottom: "pool2/3x3_s2"
top: "inception_3a/5x5_reduce"
- name: "inception_3a/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 16
kernel_size: 1
@@ -242,21 +270,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_3a/5x5_reduce"
top: "inception_3a/5x5_reduce"
- name: "inception_3a/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/5x5"
+ type: "Convolution"
bottom: "inception_3a/5x5_reduce"
top: "inception_3a/5x5"
- name: "inception_3a/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
pad: 2
@@ -271,17 +303,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_5x5"
+ type: "ReLU"
bottom: "inception_3a/5x5"
top: "inception_3a/5x5"
- name: "inception_3a/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/pool"
+ type: "Pooling"
bottom: "pool2/3x3_s2"
top: "inception_3a/pool"
- name: "inception_3a/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -289,15 +321,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_3a/pool_proj"
+ type: "Convolution"
bottom: "inception_3a/pool"
top: "inception_3a/pool_proj"
- name: "inception_3a/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -311,30 +347,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_3a/pool_proj"
top: "inception_3a/pool_proj"
- name: "inception_3a/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_3a/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_3b/1x1"
+ type: "Convolution"
bottom: "inception_3a/output"
top: "inception_3b/1x1"
- name: "inception_3b/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -348,21 +388,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_1x1"
+ type: "ReLU"
bottom: "inception_3b/1x1"
top: "inception_3b/1x1"
- name: "inception_3b/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/3x3_reduce"
+ type: "Convolution"
bottom: "inception_3a/output"
top: "inception_3b/3x3_reduce"
- name: "inception_3b/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -376,21 +420,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_3b/3x3_reduce"
top: "inception_3b/3x3_reduce"
- name: "inception_3b/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/3x3"
+ type: "Convolution"
bottom: "inception_3b/3x3_reduce"
top: "inception_3b/3x3"
- name: "inception_3b/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 192
pad: 1
@@ -405,21 +453,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_3x3"
+ type: "ReLU"
bottom: "inception_3b/3x3"
top: "inception_3b/3x3"
- name: "inception_3b/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/5x5_reduce"
+ type: "Convolution"
bottom: "inception_3a/output"
top: "inception_3b/5x5_reduce"
- name: "inception_3b/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -433,21 +485,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_3b/5x5_reduce"
top: "inception_3b/5x5_reduce"
- name: "inception_3b/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/5x5"
+ type: "Convolution"
bottom: "inception_3b/5x5_reduce"
top: "inception_3b/5x5"
- name: "inception_3b/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
pad: 2
@@ -462,17 +518,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_5x5"
+ type: "ReLU"
bottom: "inception_3b/5x5"
top: "inception_3b/5x5"
- name: "inception_3b/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/pool"
+ type: "Pooling"
bottom: "inception_3a/output"
top: "inception_3b/pool"
- name: "inception_3b/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -480,15 +536,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_3b/pool_proj"
+ type: "Convolution"
bottom: "inception_3b/pool"
top: "inception_3b/pool_proj"
- name: "inception_3b/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -502,41 +562,45 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_3b/pool_proj"
top: "inception_3b/pool_proj"
- name: "inception_3b/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_3b/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "pool3/3x3_s2"
+ type: "Pooling"
bottom: "inception_3b/output"
top: "pool3/3x3_s2"
- name: "pool3/3x3_s2"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
-layers {
+layer {
+ name: "inception_4a/1x1"
+ type: "Convolution"
bottom: "pool3/3x3_s2"
top: "inception_4a/1x1"
- name: "inception_4a/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 192
kernel_size: 1
@@ -550,21 +614,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_1x1"
+ type: "ReLU"
bottom: "inception_4a/1x1"
top: "inception_4a/1x1"
- name: "inception_4a/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/3x3_reduce"
+ type: "Convolution"
bottom: "pool3/3x3_s2"
top: "inception_4a/3x3_reduce"
- name: "inception_4a/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
kernel_size: 1
@@ -578,21 +646,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4a/3x3_reduce"
top: "inception_4a/3x3_reduce"
- name: "inception_4a/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/3x3"
+ type: "Convolution"
bottom: "inception_4a/3x3_reduce"
top: "inception_4a/3x3"
- name: "inception_4a/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 208
pad: 1
@@ -607,21 +679,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_3x3"
+ type: "ReLU"
bottom: "inception_4a/3x3"
top: "inception_4a/3x3"
- name: "inception_4a/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/5x5_reduce"
+ type: "Convolution"
bottom: "pool3/3x3_s2"
top: "inception_4a/5x5_reduce"
- name: "inception_4a/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 16
kernel_size: 1
@@ -635,21 +711,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4a/5x5_reduce"
top: "inception_4a/5x5_reduce"
- name: "inception_4a/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/5x5"
+ type: "Convolution"
bottom: "inception_4a/5x5_reduce"
top: "inception_4a/5x5"
- name: "inception_4a/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 48
pad: 2
@@ -664,17 +744,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_5x5"
+ type: "ReLU"
bottom: "inception_4a/5x5"
top: "inception_4a/5x5"
- name: "inception_4a/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/pool"
+ type: "Pooling"
bottom: "pool3/3x3_s2"
top: "inception_4a/pool"
- name: "inception_4a/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -682,15 +762,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4a/pool_proj"
+ type: "Convolution"
bottom: "inception_4a/pool"
top: "inception_4a/pool_proj"
- name: "inception_4a/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -704,30 +788,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4a/pool_proj"
top: "inception_4a/pool_proj"
- name: "inception_4a/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4a/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_4b/1x1"
+ type: "Convolution"
bottom: "inception_4a/output"
top: "inception_4b/1x1"
- name: "inception_4b/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 160
kernel_size: 1
@@ -741,21 +829,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_1x1"
+ type: "ReLU"
bottom: "inception_4b/1x1"
top: "inception_4b/1x1"
- name: "inception_4b/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/3x3_reduce"
+ type: "Convolution"
bottom: "inception_4a/output"
top: "inception_4b/3x3_reduce"
- name: "inception_4b/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 112
kernel_size: 1
@@ -769,21 +861,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4b/3x3_reduce"
top: "inception_4b/3x3_reduce"
- name: "inception_4b/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/3x3"
+ type: "Convolution"
bottom: "inception_4b/3x3_reduce"
top: "inception_4b/3x3"
- name: "inception_4b/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 224
pad: 1
@@ -798,21 +894,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_3x3"
+ type: "ReLU"
bottom: "inception_4b/3x3"
top: "inception_4b/3x3"
- name: "inception_4b/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/5x5_reduce"
+ type: "Convolution"
bottom: "inception_4a/output"
top: "inception_4b/5x5_reduce"
- name: "inception_4b/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 24
kernel_size: 1
@@ -826,21 +926,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4b/5x5_reduce"
top: "inception_4b/5x5_reduce"
- name: "inception_4b/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/5x5"
+ type: "Convolution"
bottom: "inception_4b/5x5_reduce"
top: "inception_4b/5x5"
- name: "inception_4b/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
pad: 2
@@ -855,17 +959,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_5x5"
+ type: "ReLU"
bottom: "inception_4b/5x5"
top: "inception_4b/5x5"
- name: "inception_4b/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/pool"
+ type: "Pooling"
bottom: "inception_4a/output"
top: "inception_4b/pool"
- name: "inception_4b/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -873,15 +977,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4b/pool_proj"
+ type: "Convolution"
bottom: "inception_4b/pool"
top: "inception_4b/pool_proj"
- name: "inception_4b/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -895,30 +1003,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4b/pool_proj"
top: "inception_4b/pool_proj"
- name: "inception_4b/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4b/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_4c/1x1"
+ type: "Convolution"
bottom: "inception_4b/output"
top: "inception_4c/1x1"
- name: "inception_4c/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -932,21 +1044,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_1x1"
+ type: "ReLU"
bottom: "inception_4c/1x1"
top: "inception_4c/1x1"
- name: "inception_4c/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/3x3_reduce"
+ type: "Convolution"
bottom: "inception_4b/output"
top: "inception_4c/3x3_reduce"
- name: "inception_4c/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -960,21 +1076,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4c/3x3_reduce"
top: "inception_4c/3x3_reduce"
- name: "inception_4c/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/3x3"
+ type: "Convolution"
bottom: "inception_4c/3x3_reduce"
top: "inception_4c/3x3"
- name: "inception_4c/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 1
@@ -989,21 +1109,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_3x3"
+ type: "ReLU"
bottom: "inception_4c/3x3"
top: "inception_4c/3x3"
- name: "inception_4c/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/5x5_reduce"
+ type: "Convolution"
bottom: "inception_4b/output"
top: "inception_4c/5x5_reduce"
- name: "inception_4c/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 24
kernel_size: 1
@@ -1017,21 +1141,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4c/5x5_reduce"
top: "inception_4c/5x5_reduce"
- name: "inception_4c/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/5x5"
+ type: "Convolution"
bottom: "inception_4c/5x5_reduce"
top: "inception_4c/5x5"
- name: "inception_4c/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
pad: 2
@@ -1046,17 +1174,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_5x5"
+ type: "ReLU"
bottom: "inception_4c/5x5"
top: "inception_4c/5x5"
- name: "inception_4c/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/pool"
+ type: "Pooling"
bottom: "inception_4b/output"
top: "inception_4c/pool"
- name: "inception_4c/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1064,15 +1192,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4c/pool_proj"
+ type: "Convolution"
bottom: "inception_4c/pool"
top: "inception_4c/pool_proj"
- name: "inception_4c/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -1086,30 +1218,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4c/pool_proj"
top: "inception_4c/pool_proj"
- name: "inception_4c/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4c/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_4d/1x1"
+ type: "Convolution"
bottom: "inception_4c/output"
top: "inception_4d/1x1"
- name: "inception_4d/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 112
kernel_size: 1
@@ -1123,21 +1259,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_1x1"
+ type: "ReLU"
bottom: "inception_4d/1x1"
top: "inception_4d/1x1"
- name: "inception_4d/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/3x3_reduce"
+ type: "Convolution"
bottom: "inception_4c/output"
top: "inception_4d/3x3_reduce"
- name: "inception_4d/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 144
kernel_size: 1
@@ -1151,21 +1291,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4d/3x3_reduce"
top: "inception_4d/3x3_reduce"
- name: "inception_4d/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/3x3"
+ type: "Convolution"
bottom: "inception_4d/3x3_reduce"
top: "inception_4d/3x3"
- name: "inception_4d/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 288
pad: 1
@@ -1180,21 +1324,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_3x3"
+ type: "ReLU"
bottom: "inception_4d/3x3"
top: "inception_4d/3x3"
- name: "inception_4d/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/5x5_reduce"
+ type: "Convolution"
bottom: "inception_4c/output"
top: "inception_4d/5x5_reduce"
- name: "inception_4d/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -1208,21 +1356,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4d/5x5_reduce"
top: "inception_4d/5x5_reduce"
- name: "inception_4d/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/5x5"
+ type: "Convolution"
bottom: "inception_4d/5x5_reduce"
top: "inception_4d/5x5"
- name: "inception_4d/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
pad: 2
@@ -1237,17 +1389,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_5x5"
+ type: "ReLU"
bottom: "inception_4d/5x5"
top: "inception_4d/5x5"
- name: "inception_4d/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/pool"
+ type: "Pooling"
bottom: "inception_4c/output"
top: "inception_4d/pool"
- name: "inception_4d/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1255,15 +1407,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4d/pool_proj"
+ type: "Convolution"
bottom: "inception_4d/pool"
top: "inception_4d/pool_proj"
- name: "inception_4d/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -1277,30 +1433,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4d/pool_proj"
top: "inception_4d/pool_proj"
- name: "inception_4d/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4d/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_4e/1x1"
+ type: "Convolution"
bottom: "inception_4d/output"
top: "inception_4e/1x1"
- name: "inception_4e/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
kernel_size: 1
@@ -1314,21 +1474,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_1x1"
+ type: "ReLU"
bottom: "inception_4e/1x1"
top: "inception_4e/1x1"
- name: "inception_4e/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/3x3_reduce"
+ type: "Convolution"
bottom: "inception_4d/output"
top: "inception_4e/3x3_reduce"
- name: "inception_4e/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 160
kernel_size: 1
@@ -1342,21 +1506,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4e/3x3_reduce"
top: "inception_4e/3x3_reduce"
- name: "inception_4e/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/3x3"
+ type: "Convolution"
bottom: "inception_4e/3x3_reduce"
top: "inception_4e/3x3"
- name: "inception_4e/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 320
pad: 1
@@ -1371,21 +1539,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_3x3"
+ type: "ReLU"
bottom: "inception_4e/3x3"
top: "inception_4e/3x3"
- name: "inception_4e/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/5x5_reduce"
+ type: "Convolution"
bottom: "inception_4d/output"
top: "inception_4e/5x5_reduce"
- name: "inception_4e/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -1399,21 +1571,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4e/5x5_reduce"
top: "inception_4e/5x5_reduce"
- name: "inception_4e/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/5x5"
+ type: "Convolution"
bottom: "inception_4e/5x5_reduce"
top: "inception_4e/5x5"
- name: "inception_4e/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
pad: 2
@@ -1428,17 +1604,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_5x5"
+ type: "ReLU"
bottom: "inception_4e/5x5"
top: "inception_4e/5x5"
- name: "inception_4e/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/pool"
+ type: "Pooling"
bottom: "inception_4d/output"
top: "inception_4e/pool"
- name: "inception_4e/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1446,15 +1622,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4e/pool_proj"
+ type: "Convolution"
bottom: "inception_4e/pool"
top: "inception_4e/pool_proj"
- name: "inception_4e/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -1468,41 +1648,45 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4e/pool_proj"
top: "inception_4e/pool_proj"
- name: "inception_4e/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4e/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "pool4/3x3_s2"
+ type: "Pooling"
bottom: "inception_4e/output"
top: "pool4/3x3_s2"
- name: "pool4/3x3_s2"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
-layers {
+layer {
+ name: "inception_5a/1x1"
+ type: "Convolution"
bottom: "pool4/3x3_s2"
top: "inception_5a/1x1"
- name: "inception_5a/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
kernel_size: 1
@@ -1516,21 +1700,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_1x1"
+ type: "ReLU"
bottom: "inception_5a/1x1"
top: "inception_5a/1x1"
- name: "inception_5a/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/3x3_reduce"
+ type: "Convolution"
bottom: "pool4/3x3_s2"
top: "inception_5a/3x3_reduce"
- name: "inception_5a/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 160
kernel_size: 1
@@ -1544,21 +1732,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_5a/3x3_reduce"
top: "inception_5a/3x3_reduce"
- name: "inception_5a/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/3x3"
+ type: "Convolution"
bottom: "inception_5a/3x3_reduce"
top: "inception_5a/3x3"
- name: "inception_5a/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 320
pad: 1
@@ -1573,21 +1765,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_3x3"
+ type: "ReLU"
bottom: "inception_5a/3x3"
top: "inception_5a/3x3"
- name: "inception_5a/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/5x5_reduce"
+ type: "Convolution"
bottom: "pool4/3x3_s2"
top: "inception_5a/5x5_reduce"
- name: "inception_5a/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -1601,21 +1797,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_5a/5x5_reduce"
top: "inception_5a/5x5_reduce"
- name: "inception_5a/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/5x5"
+ type: "Convolution"
bottom: "inception_5a/5x5_reduce"
top: "inception_5a/5x5"
- name: "inception_5a/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
pad: 2
@@ -1630,17 +1830,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_5x5"
+ type: "ReLU"
bottom: "inception_5a/5x5"
top: "inception_5a/5x5"
- name: "inception_5a/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/pool"
+ type: "Pooling"
bottom: "pool4/3x3_s2"
top: "inception_5a/pool"
- name: "inception_5a/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1648,15 +1848,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_5a/pool_proj"
+ type: "Convolution"
bottom: "inception_5a/pool"
top: "inception_5a/pool_proj"
- name: "inception_5a/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -1670,30 +1874,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_5a/pool_proj"
top: "inception_5a/pool_proj"
- name: "inception_5a/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_5a/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_5b/1x1"
+ type: "Convolution"
bottom: "inception_5a/output"
top: "inception_5b/1x1"
- name: "inception_5b/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
kernel_size: 1
@@ -1707,21 +1915,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_1x1"
+ type: "ReLU"
bottom: "inception_5b/1x1"
top: "inception_5b/1x1"
- name: "inception_5b/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/3x3_reduce"
+ type: "Convolution"
bottom: "inception_5a/output"
top: "inception_5b/3x3_reduce"
- name: "inception_5b/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 192
kernel_size: 1
@@ -1735,21 +1947,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_5b/3x3_reduce"
top: "inception_5b/3x3_reduce"
- name: "inception_5b/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/3x3"
+ type: "Convolution"
bottom: "inception_5b/3x3_reduce"
top: "inception_5b/3x3"
- name: "inception_5b/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -1764,21 +1980,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_3x3"
+ type: "ReLU"
bottom: "inception_5b/3x3"
top: "inception_5b/3x3"
- name: "inception_5b/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/5x5_reduce"
+ type: "Convolution"
bottom: "inception_5a/output"
top: "inception_5b/5x5_reduce"
- name: "inception_5b/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 48
kernel_size: 1
@@ -1792,21 +2012,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_5b/5x5_reduce"
top: "inception_5b/5x5_reduce"
- name: "inception_5b/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/5x5"
+ type: "Convolution"
bottom: "inception_5b/5x5_reduce"
top: "inception_5b/5x5"
- name: "inception_5b/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
pad: 2
@@ -1821,17 +2045,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_5x5"
+ type: "ReLU"
bottom: "inception_5b/5x5"
top: "inception_5b/5x5"
- name: "inception_5b/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/pool"
+ type: "Pooling"
bottom: "inception_5a/output"
top: "inception_5b/pool"
- name: "inception_5b/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1839,15 +2063,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_5b/pool_proj"
+ type: "Convolution"
bottom: "inception_5b/pool"
top: "inception_5b/pool_proj"
- name: "inception_5b/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -1861,50 +2089,54 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_5b/pool_proj"
top: "inception_5b/pool_proj"
- name: "inception_5b/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_5b/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "pool5/7x7_s1"
+ type: "Pooling"
bottom: "inception_5b/output"
top: "pool5/7x7_s1"
- name: "pool5/7x7_s1"
- type: POOLING
pooling_param {
pool: AVE
kernel_size: 7
stride: 1
}
}
-layers {
+layer {
+ name: "pool5/drop_7x7_s1"
+ type: "Dropout"
bottom: "pool5/7x7_s1"
top: "pool5/7x7_s1"
- name: "pool5/drop_7x7_s1"
- type: DROPOUT
dropout_param {
dropout_ratio: 0.4
}
}
-layers {
+layer {
+ name: "loss3/classifier"
+ type: "InnerProduct"
bottom: "pool5/7x7_s1"
top: "loss3/classifier"
- name: "loss3/classifier"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1000
weight_filler {
@@ -1916,9 +2148,9 @@ layers {
}
}
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "loss3/classifier"
top: "prob"
-} \ No newline at end of file
+}
diff --git a/models/bvlc_googlenet/train_val.prototxt b/models/bvlc_googlenet/train_val.prototxt
index cd8f38ab..79ede2b9 100644
--- a/models/bvlc_googlenet/train_val.prototxt
+++ b/models/bvlc_googlenet/train_val.prototxt
@@ -1,14 +1,9 @@
name: "GoogleNet"
-layers {
+layer {
+ name: "data"
+ type: "Data"
top: "data"
top: "label"
- name: "data"
- type: DATA
- data_param {
- source: "examples/imagenet/ilsvrc12_train_lmdb"
- batch_size: 32
- backend: LMDB
- }
include {
phase: TRAIN
}
@@ -19,17 +14,17 @@ layers {
mean_value: 117
mean_value: 123
}
-}
-layers {
- top: "data"
- top: "label"
- name: "data"
- type: DATA
data_param {
- source: "examples/imagenet/ilsvrc12_val_lmdb"
- batch_size: 50
+ source: "examples/imagenet/ilsvrc12_train_lmdb"
+ batch_size: 32
backend: LMDB
}
+}
+layer {
+ name: "data"
+ type: "Data"
+ top: "data"
+ top: "label"
include {
phase: TEST
}
@@ -40,16 +35,25 @@ layers {
mean_value: 117
mean_value: 123
}
+ data_param {
+ source: "examples/imagenet/ilsvrc12_val_lmdb"
+ batch_size: 50
+ backend: LMDB
+ }
}
-layers {
+layer {
+ name: "conv1/7x7_s2"
+ type: "Convolution"
bottom: "data"
top: "conv1/7x7_s2"
- name: "conv1/7x7_s2"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
pad: 3
@@ -65,43 +69,47 @@ layers {
}
}
}
-layers {
+layer {
+ name: "conv1/relu_7x7"
+ type: "ReLU"
bottom: "conv1/7x7_s2"
top: "conv1/7x7_s2"
- name: "conv1/relu_7x7"
- type: RELU
}
-layers {
+layer {
+ name: "pool1/3x3_s2"
+ type: "Pooling"
bottom: "conv1/7x7_s2"
top: "pool1/3x3_s2"
- name: "pool1/3x3_s2"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
-layers {
+layer {
+ name: "pool1/norm1"
+ type: "LRN"
bottom: "pool1/3x3_s2"
top: "pool1/norm1"
- name: "pool1/norm1"
- type: LRN
lrn_param {
local_size: 5
alpha: 0.0001
beta: 0.75
}
}
-layers {
+layer {
+ name: "conv2/3x3_reduce"
+ type: "Convolution"
bottom: "pool1/norm1"
top: "conv2/3x3_reduce"
- name: "conv2/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -115,21 +123,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "conv2/relu_3x3_reduce"
+ type: "ReLU"
bottom: "conv2/3x3_reduce"
top: "conv2/3x3_reduce"
- name: "conv2/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "conv2/3x3"
+ type: "Convolution"
bottom: "conv2/3x3_reduce"
top: "conv2/3x3"
- name: "conv2/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 192
pad: 1
@@ -144,43 +156,47 @@ layers {
}
}
}
-layers {
+layer {
+ name: "conv2/relu_3x3"
+ type: "ReLU"
bottom: "conv2/3x3"
top: "conv2/3x3"
- name: "conv2/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "conv2/norm2"
+ type: "LRN"
bottom: "conv2/3x3"
top: "conv2/norm2"
- name: "conv2/norm2"
- type: LRN
lrn_param {
local_size: 5
alpha: 0.0001
beta: 0.75
}
}
-layers {
+layer {
+ name: "pool2/3x3_s2"
+ type: "Pooling"
bottom: "conv2/norm2"
top: "pool2/3x3_s2"
- name: "pool2/3x3_s2"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
-layers {
+layer {
+ name: "inception_3a/1x1"
+ type: "Convolution"
bottom: "pool2/3x3_s2"
top: "inception_3a/1x1"
- name: "inception_3a/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -194,21 +210,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_1x1"
+ type: "ReLU"
bottom: "inception_3a/1x1"
top: "inception_3a/1x1"
- name: "inception_3a/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/3x3_reduce"
+ type: "Convolution"
bottom: "pool2/3x3_s2"
top: "inception_3a/3x3_reduce"
- name: "inception_3a/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
kernel_size: 1
@@ -222,21 +242,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_3a/3x3_reduce"
top: "inception_3a/3x3_reduce"
- name: "inception_3a/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/3x3"
+ type: "Convolution"
bottom: "inception_3a/3x3_reduce"
top: "inception_3a/3x3"
- name: "inception_3a/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
pad: 1
@@ -251,21 +275,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_3x3"
+ type: "ReLU"
bottom: "inception_3a/3x3"
top: "inception_3a/3x3"
- name: "inception_3a/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/5x5_reduce"
+ type: "Convolution"
bottom: "pool2/3x3_s2"
top: "inception_3a/5x5_reduce"
- name: "inception_3a/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 16
kernel_size: 1
@@ -279,21 +307,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_3a/5x5_reduce"
top: "inception_3a/5x5_reduce"
- name: "inception_3a/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/5x5"
+ type: "Convolution"
bottom: "inception_3a/5x5_reduce"
top: "inception_3a/5x5"
- name: "inception_3a/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
pad: 2
@@ -308,17 +340,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_5x5"
+ type: "ReLU"
bottom: "inception_3a/5x5"
top: "inception_3a/5x5"
- name: "inception_3a/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3a/pool"
+ type: "Pooling"
bottom: "pool2/3x3_s2"
top: "inception_3a/pool"
- name: "inception_3a/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -326,15 +358,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_3a/pool_proj"
+ type: "Convolution"
bottom: "inception_3a/pool"
top: "inception_3a/pool_proj"
- name: "inception_3a/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -348,30 +384,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3a/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_3a/pool_proj"
top: "inception_3a/pool_proj"
- name: "inception_3a/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_3a/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_3b/1x1"
+ type: "Convolution"
bottom: "inception_3a/output"
top: "inception_3b/1x1"
- name: "inception_3b/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -385,21 +425,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_1x1"
+ type: "ReLU"
bottom: "inception_3b/1x1"
top: "inception_3b/1x1"
- name: "inception_3b/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/3x3_reduce"
+ type: "Convolution"
bottom: "inception_3a/output"
top: "inception_3b/3x3_reduce"
- name: "inception_3b/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -413,21 +457,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_3b/3x3_reduce"
top: "inception_3b/3x3_reduce"
- name: "inception_3b/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/3x3"
+ type: "Convolution"
bottom: "inception_3b/3x3_reduce"
top: "inception_3b/3x3"
- name: "inception_3b/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 192
pad: 1
@@ -442,21 +490,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_3x3"
+ type: "ReLU"
bottom: "inception_3b/3x3"
top: "inception_3b/3x3"
- name: "inception_3b/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/5x5_reduce"
+ type: "Convolution"
bottom: "inception_3a/output"
top: "inception_3b/5x5_reduce"
- name: "inception_3b/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -470,21 +522,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_3b/5x5_reduce"
top: "inception_3b/5x5_reduce"
- name: "inception_3b/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/5x5"
+ type: "Convolution"
bottom: "inception_3b/5x5_reduce"
top: "inception_3b/5x5"
- name: "inception_3b/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
pad: 2
@@ -499,17 +555,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_5x5"
+ type: "ReLU"
bottom: "inception_3b/5x5"
top: "inception_3b/5x5"
- name: "inception_3b/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_3b/pool"
+ type: "Pooling"
bottom: "inception_3a/output"
top: "inception_3b/pool"
- name: "inception_3b/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -517,15 +573,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_3b/pool_proj"
+ type: "Convolution"
bottom: "inception_3b/pool"
top: "inception_3b/pool_proj"
- name: "inception_3b/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -539,41 +599,45 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_3b/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_3b/pool_proj"
top: "inception_3b/pool_proj"
- name: "inception_3b/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_3b/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "pool3/3x3_s2"
+ type: "Pooling"
bottom: "inception_3b/output"
top: "pool3/3x3_s2"
- name: "pool3/3x3_s2"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
-layers {
+layer {
+ name: "inception_4a/1x1"
+ type: "Convolution"
bottom: "pool3/3x3_s2"
top: "inception_4a/1x1"
- name: "inception_4a/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 192
kernel_size: 1
@@ -587,21 +651,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_1x1"
+ type: "ReLU"
bottom: "inception_4a/1x1"
top: "inception_4a/1x1"
- name: "inception_4a/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/3x3_reduce"
+ type: "Convolution"
bottom: "pool3/3x3_s2"
top: "inception_4a/3x3_reduce"
- name: "inception_4a/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
kernel_size: 1
@@ -615,21 +683,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4a/3x3_reduce"
top: "inception_4a/3x3_reduce"
- name: "inception_4a/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/3x3"
+ type: "Convolution"
bottom: "inception_4a/3x3_reduce"
top: "inception_4a/3x3"
- name: "inception_4a/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 208
pad: 1
@@ -644,21 +716,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_3x3"
+ type: "ReLU"
bottom: "inception_4a/3x3"
top: "inception_4a/3x3"
- name: "inception_4a/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/5x5_reduce"
+ type: "Convolution"
bottom: "pool3/3x3_s2"
top: "inception_4a/5x5_reduce"
- name: "inception_4a/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 16
kernel_size: 1
@@ -672,21 +748,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4a/5x5_reduce"
top: "inception_4a/5x5_reduce"
- name: "inception_4a/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/5x5"
+ type: "Convolution"
bottom: "inception_4a/5x5_reduce"
top: "inception_4a/5x5"
- name: "inception_4a/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 48
pad: 2
@@ -701,17 +781,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_5x5"
+ type: "ReLU"
bottom: "inception_4a/5x5"
top: "inception_4a/5x5"
- name: "inception_4a/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4a/pool"
+ type: "Pooling"
bottom: "pool3/3x3_s2"
top: "inception_4a/pool"
- name: "inception_4a/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -719,15 +799,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4a/pool_proj"
+ type: "Convolution"
bottom: "inception_4a/pool"
top: "inception_4a/pool_proj"
- name: "inception_4a/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -741,41 +825,45 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4a/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4a/pool_proj"
top: "inception_4a/pool_proj"
- name: "inception_4a/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4a/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "loss1/ave_pool"
+ type: "Pooling"
bottom: "inception_4a/output"
top: "loss1/ave_pool"
- name: "loss1/ave_pool"
- type: POOLING
pooling_param {
pool: AVE
kernel_size: 5
stride: 3
}
}
-layers {
+layer {
+ name: "loss1/conv"
+ type: "Convolution"
bottom: "loss1/ave_pool"
top: "loss1/conv"
- name: "loss1/conv"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -789,21 +877,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "loss1/relu_conv"
+ type: "ReLU"
bottom: "loss1/conv"
top: "loss1/conv"
- name: "loss1/relu_conv"
- type: RELU
}
-layers {
+layer {
+ name: "loss1/fc"
+ type: "InnerProduct"
bottom: "loss1/conv"
top: "loss1/fc"
- name: "loss1/fc"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1024
weight_filler {
@@ -816,30 +908,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "loss1/relu_fc"
+ type: "ReLU"
bottom: "loss1/fc"
top: "loss1/fc"
- name: "loss1/relu_fc"
- type: RELU
}
-layers {
+layer {
+ name: "loss1/drop_fc"
+ type: "Dropout"
bottom: "loss1/fc"
top: "loss1/fc"
- name: "loss1/drop_fc"
- type: DROPOUT
dropout_param {
dropout_ratio: 0.7
}
}
-layers {
+layer {
+ name: "loss1/classifier"
+ type: "InnerProduct"
bottom: "loss1/fc"
top: "loss1/classifier"
- name: "loss1/classifier"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1000
weight_filler {
@@ -852,46 +948,50 @@ layers {
}
}
}
-layers {
+layer {
+ name: "loss1/loss"
+ type: "SoftmaxWithLoss"
bottom: "loss1/classifier"
bottom: "label"
top: "loss1/loss1"
- name: "loss1/loss"
- type: SOFTMAX_LOSS
loss_weight: 0.3
}
-layers {
+layer {
+ name: "loss1/top-1"
+ type: "Accuracy"
bottom: "loss1/classifier"
bottom: "label"
top: "loss1/top-1"
- name: "loss1/top-1"
- type: ACCURACY
include {
phase: TEST
}
}
-layers {
+layer {
+ name: "loss1/top-5"
+ type: "Accuracy"
bottom: "loss1/classifier"
bottom: "label"
top: "loss1/top-5"
- name: "loss1/top-5"
- type: ACCURACY
- accuracy_param {
- top_k: 5
- }
include {
phase: TEST
}
+ accuracy_param {
+ top_k: 5
+ }
}
-layers {
+layer {
+ name: "inception_4b/1x1"
+ type: "Convolution"
bottom: "inception_4a/output"
top: "inception_4b/1x1"
- name: "inception_4b/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 160
kernel_size: 1
@@ -905,21 +1005,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_1x1"
+ type: "ReLU"
bottom: "inception_4b/1x1"
top: "inception_4b/1x1"
- name: "inception_4b/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/3x3_reduce"
+ type: "Convolution"
bottom: "inception_4a/output"
top: "inception_4b/3x3_reduce"
- name: "inception_4b/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 112
kernel_size: 1
@@ -933,21 +1037,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4b/3x3_reduce"
top: "inception_4b/3x3_reduce"
- name: "inception_4b/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/3x3"
+ type: "Convolution"
bottom: "inception_4b/3x3_reduce"
top: "inception_4b/3x3"
- name: "inception_4b/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 224
pad: 1
@@ -962,21 +1070,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_3x3"
+ type: "ReLU"
bottom: "inception_4b/3x3"
top: "inception_4b/3x3"
- name: "inception_4b/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/5x5_reduce"
+ type: "Convolution"
bottom: "inception_4a/output"
top: "inception_4b/5x5_reduce"
- name: "inception_4b/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 24
kernel_size: 1
@@ -990,21 +1102,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4b/5x5_reduce"
top: "inception_4b/5x5_reduce"
- name: "inception_4b/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/5x5"
+ type: "Convolution"
bottom: "inception_4b/5x5_reduce"
top: "inception_4b/5x5"
- name: "inception_4b/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
pad: 2
@@ -1019,17 +1135,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_5x5"
+ type: "ReLU"
bottom: "inception_4b/5x5"
top: "inception_4b/5x5"
- name: "inception_4b/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4b/pool"
+ type: "Pooling"
bottom: "inception_4a/output"
top: "inception_4b/pool"
- name: "inception_4b/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1037,15 +1153,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4b/pool_proj"
+ type: "Convolution"
bottom: "inception_4b/pool"
top: "inception_4b/pool_proj"
- name: "inception_4b/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -1059,30 +1179,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4b/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4b/pool_proj"
top: "inception_4b/pool_proj"
- name: "inception_4b/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4b/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_4c/1x1"
+ type: "Convolution"
bottom: "inception_4b/output"
top: "inception_4c/1x1"
- name: "inception_4c/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -1096,21 +1220,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_1x1"
+ type: "ReLU"
bottom: "inception_4c/1x1"
top: "inception_4c/1x1"
- name: "inception_4c/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/3x3_reduce"
+ type: "Convolution"
bottom: "inception_4b/output"
top: "inception_4c/3x3_reduce"
- name: "inception_4c/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -1124,21 +1252,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4c/3x3_reduce"
top: "inception_4c/3x3_reduce"
- name: "inception_4c/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/3x3"
+ type: "Convolution"
bottom: "inception_4c/3x3_reduce"
top: "inception_4c/3x3"
- name: "inception_4c/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 1
@@ -1153,21 +1285,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_3x3"
+ type: "ReLU"
bottom: "inception_4c/3x3"
top: "inception_4c/3x3"
- name: "inception_4c/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/5x5_reduce"
+ type: "Convolution"
bottom: "inception_4b/output"
top: "inception_4c/5x5_reduce"
- name: "inception_4c/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 24
kernel_size: 1
@@ -1181,21 +1317,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4c/5x5_reduce"
top: "inception_4c/5x5_reduce"
- name: "inception_4c/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/5x5"
+ type: "Convolution"
bottom: "inception_4c/5x5_reduce"
top: "inception_4c/5x5"
- name: "inception_4c/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
pad: 2
@@ -1210,17 +1350,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_5x5"
+ type: "ReLU"
bottom: "inception_4c/5x5"
top: "inception_4c/5x5"
- name: "inception_4c/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4c/pool"
+ type: "Pooling"
bottom: "inception_4b/output"
top: "inception_4c/pool"
- name: "inception_4c/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1228,15 +1368,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4c/pool_proj"
+ type: "Convolution"
bottom: "inception_4c/pool"
top: "inception_4c/pool_proj"
- name: "inception_4c/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -1250,30 +1394,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4c/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4c/pool_proj"
top: "inception_4c/pool_proj"
- name: "inception_4c/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4c/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_4d/1x1"
+ type: "Convolution"
bottom: "inception_4c/output"
top: "inception_4d/1x1"
- name: "inception_4d/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 112
kernel_size: 1
@@ -1287,21 +1435,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_1x1"
+ type: "ReLU"
bottom: "inception_4d/1x1"
top: "inception_4d/1x1"
- name: "inception_4d/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/3x3_reduce"
+ type: "Convolution"
bottom: "inception_4c/output"
top: "inception_4d/3x3_reduce"
- name: "inception_4d/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 144
kernel_size: 1
@@ -1315,21 +1467,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4d/3x3_reduce"
top: "inception_4d/3x3_reduce"
- name: "inception_4d/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/3x3"
+ type: "Convolution"
bottom: "inception_4d/3x3_reduce"
top: "inception_4d/3x3"
- name: "inception_4d/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 288
pad: 1
@@ -1344,21 +1500,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_3x3"
+ type: "ReLU"
bottom: "inception_4d/3x3"
top: "inception_4d/3x3"
- name: "inception_4d/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/5x5_reduce"
+ type: "Convolution"
bottom: "inception_4c/output"
top: "inception_4d/5x5_reduce"
- name: "inception_4d/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -1372,21 +1532,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4d/5x5_reduce"
top: "inception_4d/5x5_reduce"
- name: "inception_4d/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/5x5"
+ type: "Convolution"
bottom: "inception_4d/5x5_reduce"
top: "inception_4d/5x5"
- name: "inception_4d/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
pad: 2
@@ -1401,17 +1565,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_5x5"
+ type: "ReLU"
bottom: "inception_4d/5x5"
top: "inception_4d/5x5"
- name: "inception_4d/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4d/pool"
+ type: "Pooling"
bottom: "inception_4c/output"
top: "inception_4d/pool"
- name: "inception_4d/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1419,15 +1583,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4d/pool_proj"
+ type: "Convolution"
bottom: "inception_4d/pool"
top: "inception_4d/pool_proj"
- name: "inception_4d/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 64
kernel_size: 1
@@ -1441,41 +1609,45 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4d/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4d/pool_proj"
top: "inception_4d/pool_proj"
- name: "inception_4d/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4d/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "loss2/ave_pool"
+ type: "Pooling"
bottom: "inception_4d/output"
top: "loss2/ave_pool"
- name: "loss2/ave_pool"
- type: POOLING
pooling_param {
pool: AVE
kernel_size: 5
stride: 3
}
}
-layers {
+layer {
+ name: "loss2/conv"
+ type: "Convolution"
bottom: "loss2/ave_pool"
top: "loss2/conv"
- name: "loss2/conv"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -1489,21 +1661,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "loss2/relu_conv"
+ type: "ReLU"
bottom: "loss2/conv"
top: "loss2/conv"
- name: "loss2/relu_conv"
- type: RELU
}
-layers {
+layer {
+ name: "loss2/fc"
+ type: "InnerProduct"
bottom: "loss2/conv"
top: "loss2/fc"
- name: "loss2/fc"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1024
weight_filler {
@@ -1516,30 +1692,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "loss2/relu_fc"
+ type: "ReLU"
bottom: "loss2/fc"
top: "loss2/fc"
- name: "loss2/relu_fc"
- type: RELU
}
-layers {
+layer {
+ name: "loss2/drop_fc"
+ type: "Dropout"
bottom: "loss2/fc"
top: "loss2/fc"
- name: "loss2/drop_fc"
- type: DROPOUT
dropout_param {
dropout_ratio: 0.7
}
}
-layers {
+layer {
+ name: "loss2/classifier"
+ type: "InnerProduct"
bottom: "loss2/fc"
top: "loss2/classifier"
- name: "loss2/classifier"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1000
weight_filler {
@@ -1552,46 +1732,50 @@ layers {
}
}
}
-layers {
+layer {
+ name: "loss2/loss"
+ type: "SoftmaxWithLoss"
bottom: "loss2/classifier"
bottom: "label"
top: "loss2/loss1"
- name: "loss2/loss"
- type: SOFTMAX_LOSS
loss_weight: 0.3
}
-layers {
+layer {
+ name: "loss2/top-1"
+ type: "Accuracy"
bottom: "loss2/classifier"
bottom: "label"
top: "loss2/top-1"
- name: "loss2/top-1"
- type: ACCURACY
include {
phase: TEST
}
}
-layers {
+layer {
+ name: "loss2/top-5"
+ type: "Accuracy"
bottom: "loss2/classifier"
bottom: "label"
top: "loss2/top-5"
- name: "loss2/top-5"
- type: ACCURACY
- accuracy_param {
- top_k: 5
- }
include {
phase: TEST
}
+ accuracy_param {
+ top_k: 5
+ }
}
-layers {
+layer {
+ name: "inception_4e/1x1"
+ type: "Convolution"
bottom: "inception_4d/output"
top: "inception_4e/1x1"
- name: "inception_4e/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
kernel_size: 1
@@ -1605,21 +1789,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_1x1"
+ type: "ReLU"
bottom: "inception_4e/1x1"
top: "inception_4e/1x1"
- name: "inception_4e/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/3x3_reduce"
+ type: "Convolution"
bottom: "inception_4d/output"
top: "inception_4e/3x3_reduce"
- name: "inception_4e/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 160
kernel_size: 1
@@ -1633,21 +1821,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_4e/3x3_reduce"
top: "inception_4e/3x3_reduce"
- name: "inception_4e/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/3x3"
+ type: "Convolution"
bottom: "inception_4e/3x3_reduce"
top: "inception_4e/3x3"
- name: "inception_4e/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 320
pad: 1
@@ -1662,21 +1854,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_3x3"
+ type: "ReLU"
bottom: "inception_4e/3x3"
top: "inception_4e/3x3"
- name: "inception_4e/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/5x5_reduce"
+ type: "Convolution"
bottom: "inception_4d/output"
top: "inception_4e/5x5_reduce"
- name: "inception_4e/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -1690,21 +1886,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_4e/5x5_reduce"
top: "inception_4e/5x5_reduce"
- name: "inception_4e/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/5x5"
+ type: "Convolution"
bottom: "inception_4e/5x5_reduce"
top: "inception_4e/5x5"
- name: "inception_4e/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
pad: 2
@@ -1719,17 +1919,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_5x5"
+ type: "ReLU"
bottom: "inception_4e/5x5"
top: "inception_4e/5x5"
- name: "inception_4e/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_4e/pool"
+ type: "Pooling"
bottom: "inception_4d/output"
top: "inception_4e/pool"
- name: "inception_4e/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1737,15 +1937,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_4e/pool_proj"
+ type: "Convolution"
bottom: "inception_4e/pool"
top: "inception_4e/pool_proj"
- name: "inception_4e/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -1759,41 +1963,45 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_4e/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_4e/pool_proj"
top: "inception_4e/pool_proj"
- name: "inception_4e/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_4e/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "pool4/3x3_s2"
+ type: "Pooling"
bottom: "inception_4e/output"
top: "pool4/3x3_s2"
- name: "pool4/3x3_s2"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
-layers {
+layer {
+ name: "inception_5a/1x1"
+ type: "Convolution"
bottom: "pool4/3x3_s2"
top: "inception_5a/1x1"
- name: "inception_5a/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
kernel_size: 1
@@ -1807,21 +2015,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_1x1"
+ type: "ReLU"
bottom: "inception_5a/1x1"
top: "inception_5a/1x1"
- name: "inception_5a/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/3x3_reduce"
+ type: "Convolution"
bottom: "pool4/3x3_s2"
top: "inception_5a/3x3_reduce"
- name: "inception_5a/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 160
kernel_size: 1
@@ -1835,21 +2047,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_5a/3x3_reduce"
top: "inception_5a/3x3_reduce"
- name: "inception_5a/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/3x3"
+ type: "Convolution"
bottom: "inception_5a/3x3_reduce"
top: "inception_5a/3x3"
- name: "inception_5a/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 320
pad: 1
@@ -1864,21 +2080,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_3x3"
+ type: "ReLU"
bottom: "inception_5a/3x3"
top: "inception_5a/3x3"
- name: "inception_5a/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/5x5_reduce"
+ type: "Convolution"
bottom: "pool4/3x3_s2"
top: "inception_5a/5x5_reduce"
- name: "inception_5a/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 32
kernel_size: 1
@@ -1892,21 +2112,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_5a/5x5_reduce"
top: "inception_5a/5x5_reduce"
- name: "inception_5a/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/5x5"
+ type: "Convolution"
bottom: "inception_5a/5x5_reduce"
top: "inception_5a/5x5"
- name: "inception_5a/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
pad: 2
@@ -1921,17 +2145,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_5x5"
+ type: "ReLU"
bottom: "inception_5a/5x5"
top: "inception_5a/5x5"
- name: "inception_5a/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5a/pool"
+ type: "Pooling"
bottom: "pool4/3x3_s2"
top: "inception_5a/pool"
- name: "inception_5a/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -1939,15 +2163,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_5a/pool_proj"
+ type: "Convolution"
bottom: "inception_5a/pool"
top: "inception_5a/pool_proj"
- name: "inception_5a/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -1961,30 +2189,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5a/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_5a/pool_proj"
top: "inception_5a/pool_proj"
- name: "inception_5a/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_5a/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "inception_5b/1x1"
+ type: "Convolution"
bottom: "inception_5a/output"
top: "inception_5b/1x1"
- name: "inception_5b/1x1"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
kernel_size: 1
@@ -1998,21 +2230,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_1x1"
+ type: "ReLU"
bottom: "inception_5b/1x1"
top: "inception_5b/1x1"
- name: "inception_5b/relu_1x1"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/3x3_reduce"
+ type: "Convolution"
bottom: "inception_5a/output"
top: "inception_5b/3x3_reduce"
- name: "inception_5b/3x3_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 192
kernel_size: 1
@@ -2026,21 +2262,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_3x3_reduce"
+ type: "ReLU"
bottom: "inception_5b/3x3_reduce"
top: "inception_5b/3x3_reduce"
- name: "inception_5b/relu_3x3_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/3x3"
+ type: "Convolution"
bottom: "inception_5b/3x3_reduce"
top: "inception_5b/3x3"
- name: "inception_5b/3x3"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -2055,21 +2295,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_3x3"
+ type: "ReLU"
bottom: "inception_5b/3x3"
top: "inception_5b/3x3"
- name: "inception_5b/relu_3x3"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/5x5_reduce"
+ type: "Convolution"
bottom: "inception_5a/output"
top: "inception_5b/5x5_reduce"
- name: "inception_5b/5x5_reduce"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 48
kernel_size: 1
@@ -2083,21 +2327,25 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_5x5_reduce"
+ type: "ReLU"
bottom: "inception_5b/5x5_reduce"
top: "inception_5b/5x5_reduce"
- name: "inception_5b/relu_5x5_reduce"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/5x5"
+ type: "Convolution"
bottom: "inception_5b/5x5_reduce"
top: "inception_5b/5x5"
- name: "inception_5b/5x5"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
pad: 2
@@ -2112,17 +2360,17 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_5x5"
+ type: "ReLU"
bottom: "inception_5b/5x5"
top: "inception_5b/5x5"
- name: "inception_5b/relu_5x5"
- type: RELU
}
-layers {
+layer {
+ name: "inception_5b/pool"
+ type: "Pooling"
bottom: "inception_5a/output"
top: "inception_5b/pool"
- name: "inception_5b/pool"
- type: POOLING
pooling_param {
pool: MAX
kernel_size: 3
@@ -2130,15 +2378,19 @@ layers {
pad: 1
}
}
-layers {
+layer {
+ name: "inception_5b/pool_proj"
+ type: "Convolution"
bottom: "inception_5b/pool"
top: "inception_5b/pool_proj"
- name: "inception_5b/pool_proj"
- type: CONVOLUTION
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 128
kernel_size: 1
@@ -2152,50 +2404,54 @@ layers {
}
}
}
-layers {
+layer {
+ name: "inception_5b/relu_pool_proj"
+ type: "ReLU"
bottom: "inception_5b/pool_proj"
top: "inception_5b/pool_proj"
- name: "inception_5b/relu_pool_proj"
- type: RELU
}
-layers {
+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"
- name: "inception_5b/output"
- type: CONCAT
}
-layers {
+layer {
+ name: "pool5/7x7_s1"
+ type: "Pooling"
bottom: "inception_5b/output"
top: "pool5/7x7_s1"
- name: "pool5/7x7_s1"
- type: POOLING
pooling_param {
pool: AVE
kernel_size: 7
stride: 1
}
}
-layers {
+layer {
+ name: "pool5/drop_7x7_s1"
+ type: "Dropout"
bottom: "pool5/7x7_s1"
top: "pool5/7x7_s1"
- name: "pool5/drop_7x7_s1"
- type: DROPOUT
dropout_param {
dropout_ratio: 0.4
}
}
-layers {
+layer {
+ name: "loss3/classifier"
+ type: "InnerProduct"
bottom: "pool5/7x7_s1"
top: "loss3/classifier"
- name: "loss3/classifier"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1000
weight_filler {
@@ -2207,34 +2463,34 @@ layers {
}
}
}
-layers {
+layer {
+ name: "loss3/loss3"
+ type: "SoftmaxWithLoss"
bottom: "loss3/classifier"
bottom: "label"
top: "loss3/loss3"
- name: "loss3/loss3"
- type: SOFTMAX_LOSS
loss_weight: 1
}
-layers {
+layer {
+ name: "loss3/top-1"
+ type: "Accuracy"
bottom: "loss3/classifier"
bottom: "label"
top: "loss3/top-1"
- name: "loss3/top-1"
- type: ACCURACY
include {
phase: TEST
}
}
-layers {
+layer {
+ name: "loss3/top-5"
+ type: "Accuracy"
bottom: "loss3/classifier"
bottom: "label"
top: "loss3/top-5"
- name: "loss3/top-5"
- type: ACCURACY
- accuracy_param {
- top_k: 5
- }
include {
phase: TEST
}
+ accuracy_param {
+ top_k: 5
+ }
}
diff --git a/models/bvlc_reference_caffenet/deploy.prototxt b/models/bvlc_reference_caffenet/deploy.prototxt
index 4e494f42..29ccf146 100644
--- a/models/bvlc_reference_caffenet/deploy.prototxt
+++ b/models/bvlc_reference_caffenet/deploy.prototxt
@@ -4,9 +4,9 @@ input_dim: 10
input_dim: 3
input_dim: 227
input_dim: 227
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
convolution_param {
@@ -15,15 +15,15 @@ layers {
stride: 4
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "conv1"
top: "conv1"
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
@@ -32,9 +32,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
@@ -43,9 +43,9 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
convolution_param {
@@ -55,15 +55,15 @@ layers {
group: 2
}
}
-layers {
+layer {
name: "relu2"
- type: RELU
+ type: "ReLU"
bottom: "conv2"
top: "conv2"
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
@@ -72,9 +72,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
@@ -83,9 +83,9 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
convolution_param {
@@ -94,15 +94,15 @@ layers {
kernel_size: 3
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "conv4"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
@@ -112,15 +112,15 @@ layers {
group: 2
}
}
-layers {
+layer {
name: "relu4"
- type: RELU
+ type: "ReLU"
bottom: "conv4"
top: "conv4"
}
-layers {
+layer {
name: "conv5"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
@@ -130,15 +130,15 @@ layers {
group: 2
}
}
-layers {
+layer {
name: "relu5"
- type: RELU
+ type: "ReLU"
bottom: "conv5"
top: "conv5"
}
-layers {
+layer {
name: "pool5"
- type: POOLING
+ type: "Pooling"
bottom: "conv5"
top: "pool5"
pooling_param {
@@ -147,66 +147,66 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "fc6"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool5"
top: "fc6"
inner_product_param {
num_output: 4096
}
}
-layers {
+layer {
name: "relu6"
- type: RELU
+ type: "ReLU"
bottom: "fc6"
top: "fc6"
}
-layers {
+layer {
name: "drop6"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc6"
top: "fc6"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc7"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc6"
top: "fc7"
inner_product_param {
num_output: 4096
}
}
-layers {
+layer {
name: "relu7"
- type: RELU
+ type: "ReLU"
bottom: "fc7"
top: "fc7"
}
-layers {
+layer {
name: "drop7"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc7"
top: "fc7"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc8"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc7"
top: "fc8"
inner_product_param {
num_output: 1000
}
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "fc8"
top: "prob"
}
diff --git a/models/bvlc_reference_caffenet/train_val.prototxt b/models/bvlc_reference_caffenet/train_val.prototxt
index 00fcc080..c79472e0 100644
--- a/models/bvlc_reference_caffenet/train_val.prototxt
+++ b/models/bvlc_reference_caffenet/train_val.prototxt
@@ -1,18 +1,16 @@
name: "CaffeNet"
-layers {
+layer {
name: "data"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
- data_param {
- source: "examples/imagenet/ilsvrc12_train_lmdb"
- backend: LMDB
- batch_size: 256
+ include {
+ phase: TRAIN
}
transform_param {
+ mirror: true
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
- mirror: true
}
# mean pixel / channel-wise mean instead of mean image
# transform_param {
@@ -22,22 +20,24 @@ layers {
# mean_value: 123
# mirror: true
# }
- include: { phase: TRAIN }
+ data_param {
+ source: "examples/imagenet/ilsvrc12_train_lmdb"
+ batch_size: 256
+ backend: LMDB
+ }
}
-layers {
+layer {
name: "data"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
- data_param {
- source: "examples/imagenet/ilsvrc12_val_lmdb"
- backend: LMDB
- batch_size: 50
+ include {
+ phase: TEST
}
transform_param {
+ mirror: false
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
- mirror: false
}
# mean pixel / channel-wise mean instead of mean image
# transform_param {
@@ -47,17 +47,25 @@ layers {
# mean_value: 123
# mirror: true
# }
- include: { phase: TEST }
+ data_param {
+ source: "examples/imagenet/ilsvrc12_val_lmdb"
+ batch_size: 50
+ backend: LMDB
+ }
}
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
kernel_size: 11
@@ -72,15 +80,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "conv1"
top: "conv1"
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
@@ -89,9 +97,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
@@ -100,15 +108,19 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 2
@@ -124,15 +136,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu2"
- type: RELU
+ type: "ReLU"
bottom: "conv2"
top: "conv2"
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
@@ -141,9 +153,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
@@ -152,15 +164,19 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -175,21 +191,25 @@ layers {
}
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "conv4"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv3"
top: "conv4"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -205,21 +225,25 @@ layers {
}
}
}
-layers {
+layer {
name: "relu4"
- type: RELU
+ type: "ReLU"
bottom: "conv4"
top: "conv4"
}
-layers {
+layer {
name: "conv5"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv4"
top: "conv5"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 1
@@ -235,15 +259,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu5"
- type: RELU
+ type: "ReLU"
bottom: "conv5"
top: "conv5"
}
-layers {
+layer {
name: "pool5"
- type: POOLING
+ type: "Pooling"
bottom: "conv5"
top: "pool5"
pooling_param {
@@ -252,15 +276,19 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "fc6"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool5"
top: "fc6"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 4096
weight_filler {
@@ -273,30 +301,34 @@ layers {
}
}
}
-layers {
+layer {
name: "relu6"
- type: RELU
+ type: "ReLU"
bottom: "fc6"
top: "fc6"
}
-layers {
+layer {
name: "drop6"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc6"
top: "fc6"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc7"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc6"
top: "fc7"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 4096
weight_filler {
@@ -309,30 +341,34 @@ layers {
}
}
}
-layers {
+layer {
name: "relu7"
- type: RELU
+ type: "ReLU"
bottom: "fc7"
top: "fc7"
}
-layers {
+layer {
name: "drop7"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc7"
top: "fc7"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc8"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc7"
top: "fc8"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1000
weight_filler {
@@ -345,17 +381,19 @@ layers {
}
}
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "fc8"
bottom: "label"
top: "accuracy"
- include: { phase: TEST }
+ include {
+ phase: TEST
+ }
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "fc8"
bottom: "label"
top: "loss"
diff --git a/models/bvlc_reference_rcnn_ilsvrc13/deploy.prototxt b/models/bvlc_reference_rcnn_ilsvrc13/deploy.prototxt
index ef75a0a5..ea9cf98a 100644
--- a/models/bvlc_reference_rcnn_ilsvrc13/deploy.prototxt
+++ b/models/bvlc_reference_rcnn_ilsvrc13/deploy.prototxt
@@ -4,9 +4,9 @@ input_dim: 10
input_dim: 3
input_dim: 227
input_dim: 227
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
convolution_param {
@@ -15,15 +15,15 @@ layers {
stride: 4
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "conv1"
top: "conv1"
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
@@ -32,9 +32,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
@@ -43,9 +43,9 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
convolution_param {
@@ -55,15 +55,15 @@ layers {
group: 2
}
}
-layers {
+layer {
name: "relu2"
- type: RELU
+ type: "ReLU"
bottom: "conv2"
top: "conv2"
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
@@ -72,9 +72,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
@@ -83,9 +83,9 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
convolution_param {
@@ -94,15 +94,15 @@ layers {
kernel_size: 3
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "conv4"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
@@ -112,15 +112,15 @@ layers {
group: 2
}
}
-layers {
+layer {
name: "relu4"
- type: RELU
+ type: "ReLU"
bottom: "conv4"
top: "conv4"
}
-layers {
+layer {
name: "conv5"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
@@ -130,15 +130,15 @@ layers {
group: 2
}
}
-layers {
+layer {
name: "relu5"
- type: RELU
+ type: "ReLU"
bottom: "conv5"
top: "conv5"
}
-layers {
+layer {
name: "pool5"
- type: POOLING
+ type: "Pooling"
bottom: "conv5"
top: "pool5"
pooling_param {
@@ -147,48 +147,48 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "fc6"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool5"
top: "fc6"
inner_product_param {
num_output: 4096
}
}
-layers {
+layer {
name: "relu6"
- type: RELU
+ type: "ReLU"
bottom: "fc6"
top: "fc6"
}
-layers {
+layer {
name: "drop6"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc6"
top: "fc6"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc7"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc6"
top: "fc7"
inner_product_param {
num_output: 4096
}
}
-layers {
+layer {
name: "relu7"
- type: RELU
+ type: "ReLU"
bottom: "fc7"
top: "fc7"
}
-layers {
+layer {
name: "drop7"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc7"
top: "fc7"
dropout_param {
@@ -196,9 +196,9 @@ layers {
}
}
# R-CNN classification layer made from R-CNN ILSVRC13 SVMs.
-layers {
+layer {
name: "fc-rcnn"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc7"
top: "fc-rcnn"
inner_product_param {
diff --git a/models/finetune_flickr_style/deploy.prototxt b/models/finetune_flickr_style/deploy.prototxt
index aa2ad961..4a924f74 100644
--- a/models/finetune_flickr_style/deploy.prototxt
+++ b/models/finetune_flickr_style/deploy.prototxt
@@ -4,15 +4,19 @@ input_dim: 10
input_dim: 3
input_dim: 227
input_dim: 227
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
kernel_size: 11
@@ -27,15 +31,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "conv1"
top: "conv1"
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
@@ -44,9 +48,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
@@ -55,15 +59,19 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 2
@@ -79,15 +87,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu2"
- type: RELU
+ type: "ReLU"
bottom: "conv2"
top: "conv2"
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
@@ -96,9 +104,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
@@ -107,15 +115,19 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -130,21 +142,25 @@ layers {
}
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "conv4"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv3"
top: "conv4"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -160,21 +176,25 @@ layers {
}
}
}
-layers {
+layer {
name: "relu4"
- type: RELU
+ type: "ReLU"
bottom: "conv4"
top: "conv4"
}
-layers {
+layer {
name: "conv5"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv4"
top: "conv5"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 1
@@ -190,15 +210,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu5"
- type: RELU
+ type: "ReLU"
bottom: "conv5"
top: "conv5"
}
-layers {
+layer {
name: "pool5"
- type: POOLING
+ type: "Pooling"
bottom: "conv5"
top: "pool5"
pooling_param {
@@ -207,15 +227,19 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "fc6"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool5"
top: "fc6"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 4096
weight_filler {
@@ -228,31 +252,35 @@ layers {
}
}
}
-layers {
+layer {
name: "relu6"
- type: RELU
+ type: "ReLU"
bottom: "fc6"
top: "fc6"
}
-layers {
+layer {
name: "drop6"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc6"
top: "fc6"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc7"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc6"
top: "fc7"
- # Note that blobs_lr can be set to 0 to disable any fine-tuning of this, and any other, layer
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ # Note that lr_mult can be set to 0 to disable any fine-tuning of this, and any other, layer
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 4096
weight_filler {
@@ -265,31 +293,35 @@ layers {
}
}
}
-layers {
+layer {
name: "relu7"
- type: RELU
+ type: "ReLU"
bottom: "fc7"
top: "fc7"
}
-layers {
+layer {
name: "drop7"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc7"
top: "fc7"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc8_flickr"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc7"
top: "fc8_flickr"
- # blobs_lr is set to higher than for other layers, because this layer is starting from random while the others are already trained
- blobs_lr: 10
- blobs_lr: 20
- weight_decay: 1
- weight_decay: 0
+ # lr_mult is set to higher than for other layers, because this layer is starting from random while the others are already trained
+ param {
+ lr_mult: 10
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 20
+ decay_mult: 0
+ }
inner_product_param {
num_output: 20
weight_filler {
@@ -302,9 +334,9 @@ layers {
}
}
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "fc8_flickr"
top: "prob"
}
diff --git a/models/finetune_flickr_style/train_val.prototxt b/models/finetune_flickr_style/train_val.prototxt
index 7155c492..aa9c73e1 100644
--- a/models/finetune_flickr_style/train_val.prototxt
+++ b/models/finetune_flickr_style/train_val.prototxt
@@ -1,49 +1,57 @@
name: "FlickrStyleCaffeNet"
-layers {
+layer {
name: "data"
- type: IMAGE_DATA
+ type: "ImageData"
top: "data"
top: "label"
+ include {
+ phase: TRAIN
+ }
+ transform_param {
+ mirror: true
+ crop_size: 227
+ mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
+ }
image_data_param {
source: "data/flickr_style/train.txt"
batch_size: 50
new_height: 256
new_width: 256
}
- transform_param {
- crop_size: 227
- mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
- mirror: true
- }
- include: { phase: TRAIN }
}
-layers {
+layer {
name: "data"
- type: IMAGE_DATA
+ type: "ImageData"
top: "data"
top: "label"
+ include {
+ phase: TEST
+ }
+ transform_param {
+ mirror: false
+ crop_size: 227
+ mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
+ }
image_data_param {
source: "data/flickr_style/test.txt"
batch_size: 50
new_height: 256
new_width: 256
}
- transform_param {
- crop_size: 227
- mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
- mirror: false
- }
- include: { phase: TEST }
}
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 96
kernel_size: 11
@@ -58,15 +66,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "conv1"
top: "conv1"
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
@@ -75,9 +83,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
@@ -86,15 +94,19 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 2
@@ -110,15 +122,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu2"
- type: RELU
+ type: "ReLU"
bottom: "conv2"
top: "conv2"
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
@@ -127,9 +139,9 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
@@ -138,15 +150,19 @@ layers {
beta: 0.75
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -161,21 +177,25 @@ layers {
}
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "conv4"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv3"
top: "conv4"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 384
pad: 1
@@ -191,21 +211,25 @@ layers {
}
}
}
-layers {
+layer {
name: "relu4"
- type: RELU
+ type: "ReLU"
bottom: "conv4"
top: "conv4"
}
-layers {
+layer {
name: "conv5"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "conv4"
top: "conv5"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
convolution_param {
num_output: 256
pad: 1
@@ -221,15 +245,15 @@ layers {
}
}
}
-layers {
+layer {
name: "relu5"
- type: RELU
+ type: "ReLU"
bottom: "conv5"
top: "conv5"
}
-layers {
+layer {
name: "pool5"
- type: POOLING
+ type: "Pooling"
bottom: "conv5"
top: "pool5"
pooling_param {
@@ -238,15 +262,19 @@ layers {
stride: 2
}
}
-layers {
+layer {
name: "fc6"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool5"
top: "fc6"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 4096
weight_filler {
@@ -259,31 +287,35 @@ layers {
}
}
}
-layers {
+layer {
name: "relu6"
- type: RELU
+ type: "ReLU"
bottom: "fc6"
top: "fc6"
}
-layers {
+layer {
name: "drop6"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc6"
top: "fc6"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc7"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc6"
top: "fc7"
- # Note that blobs_lr can be set to 0 to disable any fine-tuning of this, and any other, layer
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 1
- weight_decay: 0
+ # Note that lr_mult can be set to 0 to disable any fine-tuning of this, and any other, layer
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 4096
weight_filler {
@@ -296,31 +328,35 @@ layers {
}
}
}
-layers {
+layer {
name: "relu7"
- type: RELU
+ type: "ReLU"
bottom: "fc7"
top: "fc7"
}
-layers {
+layer {
name: "drop7"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc7"
top: "fc7"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc8_flickr"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc7"
top: "fc8_flickr"
- # blobs_lr is set to higher than for other layers, because this layer is starting from random while the others are already trained
- blobs_lr: 10
- blobs_lr: 20
- weight_decay: 1
- weight_decay: 0
+ # lr_mult is set to higher than for other layers, because this layer is starting from random while the others are already trained
+ param {
+ lr_mult: 10
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 20
+ decay_mult: 0
+ }
inner_product_param {
num_output: 20
weight_filler {
@@ -333,17 +369,19 @@ layers {
}
}
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "fc8_flickr"
bottom: "label"
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "fc8_flickr"
bottom: "label"
top: "accuracy"
- include: { phase: TEST }
+ include {
+ phase: TEST
+ }
}