input_dim: 3
input_dim: 32
input_dim: 32
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 32
pad: 2
stride: 1
}
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "pool1"
top: "pool1"
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
- norm_region: WITHIN_CHANNEL
local_size: 3
alpha: 5e-05
beta: 0.75
+ norm_region: WITHIN_CHANNEL
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 32
pad: 2
stride: 1
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
- norm_region: WITHIN_CHANNEL
local_size: 3
alpha: 5e-05
beta: 0.75
+ norm_region: WITHIN_CHANNEL
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
convolution_param {
stride: 1
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "pool3"
- type: POOLING
+ type: "Pooling"
bottom: "conv3"
top: "pool3"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "ip1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool3"
top: "ip1"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 250
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 250
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 10
}
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "ip1"
top: "prob"
}
name: "CIFAR10_full"
-layers {
+layer {
name: "cifar"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
+ include {
+ phase: TRAIN
+ }
+ transform_param {
+ mean_file: "examples/cifar10/mean.binaryproto"
+ }
data_param {
source: "examples/cifar10/cifar10_train_lmdb"
batch_size: 100
backend: LMDB
}
- transform_param {
- mean_file: "examples/cifar10/mean.binaryproto"
- }
- include: { phase: TRAIN }
}
-layers {
+layer {
name: "cifar"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
+ include {
+ phase: TEST
+ }
+ transform_param {
+ mean_file: "examples/cifar10/mean.binaryproto"
+ }
data_param {
source: "examples/cifar10/cifar10_test_lmdb"
batch_size: 100
backend: LMDB
}
- transform_param {
- mean_file: "examples/cifar10/mean.binaryproto"
- }
- include: { phase: TEST }
}
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 32
pad: 2
}
}
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "pool1"
top: "pool1"
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
- norm_region: WITHIN_CHANNEL
local_size: 3
alpha: 5e-05
beta: 0.75
+ norm_region: WITHIN_CHANNEL
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 32
pad: 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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
- norm_region: WITHIN_CHANNEL
local_size: 3
alpha: 5e-05
beta: 0.75
+ norm_region: WITHIN_CHANNEL
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
convolution_param {
}
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "pool3"
- type: POOLING
+ type: "Pooling"
bottom: "conv3"
top: "pool3"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "ip1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool3"
top: "ip1"
- blobs_lr: 1
- blobs_lr: 2
- weight_decay: 250
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 250
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
inner_product_param {
num_output: 10
weight_filler {
}
}
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "ip1"
bottom: "label"
top: "accuracy"
- include: { phase: TEST }
+ include {
+ phase: TEST
+ }
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "ip1"
bottom: "label"
top: "loss"
input_dim: 3
input_dim: 32
input_dim: 32
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 32
pad: 2
stride: 1
}
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "pool1"
top: "pool1"
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 32
pad: 2
stride: 1
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool2"
top: "conv3"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 64
pad: 2
stride: 1
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "pool3"
- type: POOLING
+ type: "Pooling"
bottom: "conv3"
top: "pool3"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "ip1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool3"
top: "ip1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 64
}
}
-layers {
+layer {
name: "ip2"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip1"
top: "ip2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 10
}
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "ip2"
top: "prob"
}
name: "CIFAR10_quick"
-layers {
+layer {
name: "cifar"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
+ include {
+ phase: TRAIN
+ }
+ transform_param {
+ mean_file: "examples/cifar10/mean.binaryproto"
+ }
data_param {
source: "examples/cifar10/cifar10_train_lmdb"
batch_size: 100
backend: LMDB
}
- transform_param {
- mean_file: "examples/cifar10/mean.binaryproto"
- }
- include: { phase: TRAIN }
}
-layers {
+layer {
name: "cifar"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
+ include {
+ phase: TEST
+ }
+ transform_param {
+ mean_file: "examples/cifar10/mean.binaryproto"
+ }
data_param {
source: "examples/cifar10/cifar10_test_lmdb"
batch_size: 100
backend: LMDB
}
- transform_param {
- mean_file: "examples/cifar10/mean.binaryproto"
- }
- include: { phase: TEST }
}
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 32
pad: 2
}
}
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "pool1"
top: "pool1"
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 32
pad: 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 {
stride: 2
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool2"
top: "conv3"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 64
pad: 2
}
}
}
-layers {
+layer {
name: "relu3"
- type: RELU
+ type: "ReLU"
bottom: "conv3"
top: "conv3"
}
-layers {
+layer {
name: "pool3"
- type: POOLING
+ type: "Pooling"
bottom: "conv3"
top: "pool3"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "ip1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool3"
top: "ip1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 64
weight_filler {
}
}
}
-layers {
+layer {
name: "ip2"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip1"
top: "ip2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 10
weight_filler {
}
}
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "ip2"
bottom: "label"
top: "accuracy"
- include: { phase: TEST }
+ include {
+ phase: TEST
+ }
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "ip2"
bottom: "label"
top: "loss"
name: "CaffeNet"
-layers {
+layer {
name: "data"
- type: IMAGE_DATA
+ type: "ImageData"
top: "data"
top: "label"
+ transform_param {
+ mirror: false
+ crop_size: 227
+ mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
+ }
image_data_param {
source: "examples/_temp/file_list.txt"
batch_size: 50
new_height: 256
new_width: 256
}
- transform_param {
- crop_size: 227
- mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
- mirror: false
- }
}
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
convolution_param {
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 {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
beta: 0.75
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
convolution_param {
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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
beta: 0.75
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
convolution_param {
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 {
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 {
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 {
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"
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "prob"
bottom: "label"
top: "accuracy"
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "fc8"
bottom: "label"
top: "loss"
name: "CaffeNet"
-layers {
+layer {
name: "data"
- type: WINDOW_DATA
+ type: "WindowData"
top: "data"
top: "label"
+ include {
+ phase: TRAIN
+ }
+ transform_param {
+ mirror: true
+ crop_size: 227
+ mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
+ }
window_data_param {
source: "examples/finetune_pascal_detection/window_file_2007_trainval.txt"
batch_size: 128
context_pad: 16
crop_mode: "warp"
}
+}
+layer {
+ name: "data"
+ type: "WindowData"
+ top: "data"
+ top: "label"
+ include {
+ phase: TEST
+ }
transform_param {
mirror: true
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
}
- include: { phase: TRAIN }
-}
-layers {
- name: "data"
- type: WINDOW_DATA
- top: "data"
- top: "label"
window_data_param {
source: "examples/finetune_pascal_detection/window_file_2007_test.txt"
batch_size: 128
context_pad: 16
crop_mode: "warp"
}
- transform_param {
- mirror: true
- crop_size: 227
- mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
- }
- 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
}
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
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
}
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
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
}
}
}
-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
}
}
}
-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
}
}
}
-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 {
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 {
}
}
}
-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 {
}
}
}
-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_pascal"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc7"
top: "fc8_pascal"
- blobs_lr: 10
- blobs_lr: 20
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 10
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 20
+ decay_mult: 0
+ }
inner_product_param {
num_output: 21
weight_filler {
}
}
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "fc8_pascal"
bottom: "label"
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "fc8_pascal"
bottom: "label"
top: "accuracy"
- include { phase: TEST }
+ include {
+ phase: TEST
+ }
}
name: "LogisticRegressionNet"
-layers {
+layer {
name: "data"
- type: HDF5_DATA
+ type: "HDF5Data"
top: "data"
top: "label"
+ include {
+ phase: TRAIN
+ }
hdf5_data_param {
source: "examples/hdf5_classification/data/train.txt"
batch_size: 10
}
- include: { phase: TRAIN }
}
-layers {
+layer {
name: "data"
- type: HDF5_DATA
+ type: "HDF5Data"
top: "data"
top: "label"
+ include {
+ phase: TEST
+ }
hdf5_data_param {
source: "examples/hdf5_classification/data/test.txt"
batch_size: 10
}
- include: { phase: TEST }
}
-layers {
+layer {
name: "fc1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "data"
top: "fc1"
- 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: 2
weight_filler {
}
}
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "fc1"
bottom: "label"
top: "loss"
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "fc1"
bottom: "label"
top: "accuracy"
- include: { phase: TEST }
+ include {
+ phase: TEST
+ }
}
name: "LogisticRegressionNet"
-layers {
+layer {
name: "data"
- type: HDF5_DATA
+ type: "HDF5Data"
top: "data"
top: "label"
+ include {
+ phase: TRAIN
+ }
hdf5_data_param {
source: "examples/hdf5_classification/data/train.txt"
batch_size: 10
}
- include: { phase: TRAIN }
}
-layers {
+layer {
name: "data"
- type: HDF5_DATA
+ type: "HDF5Data"
top: "data"
top: "label"
+ include {
+ phase: TEST
+ }
hdf5_data_param {
source: "examples/hdf5_classification/data/test.txt"
batch_size: 10
}
- include: { phase: TEST }
}
-layers {
+layer {
name: "fc1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "data"
top: "fc1"
- 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: 40
weight_filler {
}
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "fc1"
top: "fc1"
}
-layers {
+layer {
name: "fc2"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "fc1"
top: "fc2"
- 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: 2
weight_filler {
}
}
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "fc2"
bottom: "label"
top: "loss"
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "fc2"
bottom: "label"
top: "accuracy"
- include: { phase: TEST }
+ include {
+ phase: TEST
+ }
}
input_dim: 3
input_dim: 451
input_dim: 451
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
convolution_param {
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 {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
beta: 0.75
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
convolution_param {
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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
beta: 0.75
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
convolution_param {
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 {
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 {
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 {
stride: 2
}
}
-layers {
+layer {
name: "fc6-conv"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool5"
top: "fc6-conv"
convolution_param {
kernel_size: 6
}
}
-layers {
+layer {
name: "relu6"
- type: RELU
+ type: "ReLU"
bottom: "fc6-conv"
top: "fc6-conv"
}
-layers {
+layer {
name: "drop6"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc6-conv"
top: "fc6-conv"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc7-conv"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "fc6-conv"
top: "fc7-conv"
convolution_param {
kernel_size: 1
}
}
-layers {
+layer {
name: "relu7"
- type: RELU
+ type: "ReLU"
bottom: "fc7-conv"
top: "fc7-conv"
}
-layers {
+layer {
name: "drop7"
- type: DROPOUT
+ type: "Dropout"
bottom: "fc7-conv"
top: "fc7-conv"
dropout_param {
dropout_ratio: 0.5
}
}
-layers {
+layer {
name: "fc8-conv"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "fc7-conv"
top: "fc8-conv"
convolution_param {
kernel_size: 1
}
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "fc8-conv"
top: "prob"
}
input_dim: 1
input_dim: 28
input_dim: 28
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 20
kernel_size: 5
}
}
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 50
kernel_size: 5
}
}
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "ip1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool2"
top: "ip1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 500
weight_filler {
}
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "ip1"
top: "ip1"
}
-layers {
+layer {
name: "ip2"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip1"
top: "ip2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 10
weight_filler {
}
}
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "ip2"
top: "prob"
}
name: "LeNet"
-layers {
+layer {
name: "mnist"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
- data_param {
- source: "examples/mnist/mnist_train_lmdb"
- backend: LMDB
- batch_size: 64
+ include {
+ phase: TRAIN
}
transform_param {
scale: 0.00390625
}
- include: { phase: TRAIN }
+ data_param {
+ source: "examples/mnist/mnist_train_lmdb"
+ batch_size: 64
+ backend: LMDB
+ }
}
-layers {
+layer {
name: "mnist"
- type: DATA
+ type: "Data"
top: "data"
top: "label"
- data_param {
- source: "examples/mnist/mnist_test_lmdb"
- backend: LMDB
- batch_size: 100
+ include {
+ phase: TEST
}
transform_param {
scale: 0.00390625
}
- include: { phase: TEST }
+ data_param {
+ source: "examples/mnist/mnist_test_lmdb"
+ batch_size: 100
+ backend: LMDB
+ }
}
-
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 20
kernel_size: 5
}
}
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 50
kernel_size: 5
}
}
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "ip1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool2"
top: "ip1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 500
weight_filler {
}
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "ip1"
top: "ip1"
}
-layers {
+layer {
name: "ip2"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip1"
top: "ip2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 10
weight_filler {
}
}
}
-layers {
+layer {
name: "accuracy"
- type: ACCURACY
+ type: "Accuracy"
bottom: "ip2"
bottom: "label"
top: "accuracy"
- include: { phase: TEST }
+ include {
+ phase: TEST
+ }
}
-layers {
+layer {
name: "loss"
- type: SOFTMAX_LOSS
+ type: "SoftmaxWithLoss"
bottom: "ip2"
bottom: "label"
top: "loss"
name: "MNISTAutoencoder"
-layers {
- top: "data"
+layer {
name: "data"
- type: DATA
- data_param {
- source: "examples/mnist/mnist_train_lmdb"
- backend: LMDB
- batch_size: 100
+ type: "Data"
+ top: "data"
+ include {
+ phase: TRAIN
}
transform_param {
scale: 0.0039215684
}
- include: { phase: TRAIN }
-}
-layers {
- top: "data"
- name: "data"
- type: DATA
data_param {
source: "examples/mnist/mnist_train_lmdb"
- backend: LMDB
batch_size: 100
+ backend: LMDB
+ }
+}
+layer {
+ name: "data"
+ type: "Data"
+ top: "data"
+ include {
+ phase: TEST
+ stage: "test-on-train"
}
transform_param {
scale: 0.0039215684
}
- include: {
- phase: TEST
- stage: 'test-on-train'
+ data_param {
+ source: "examples/mnist/mnist_train_lmdb"
+ batch_size: 100
+ backend: LMDB
}
}
-layers {
- top: "data"
+layer {
name: "data"
- type: DATA
- data_param {
- source: "examples/mnist/mnist_test_lmdb"
- backend: LMDB
- batch_size: 100
+ type: "Data"
+ top: "data"
+ include {
+ phase: TEST
+ stage: "test-on-test"
}
transform_param {
scale: 0.0039215684
}
- include: {
- phase: TEST
- stage: 'test-on-test'
+ data_param {
+ source: "examples/mnist/mnist_test_lmdb"
+ batch_size: 100
+ backend: LMDB
}
}
-layers {
+layer {
+ name: "flatdata"
+ type: "Flatten"
bottom: "data"
top: "flatdata"
- name: "flatdata"
- type: FLATTEN
}
-layers {
+layer {
+ name: "encode1"
+ type: "InnerProduct"
bottom: "data"
top: "encode1"
- name: "encode1"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 1
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 1
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1000
weight_filler {
}
}
}
-layers {
+layer {
+ name: "encode1neuron"
+ type: "Sigmoid"
bottom: "encode1"
top: "encode1neuron"
- name: "encode1neuron"
- type: SIGMOID
}
-layers {
+layer {
+ name: "encode2"
+ type: "InnerProduct"
bottom: "encode1neuron"
top: "encode2"
- name: "encode2"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 1
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 1
+ decay_mult: 0
+ }
inner_product_param {
num_output: 500
weight_filler {
}
}
}
-layers {
+layer {
+ name: "encode2neuron"
+ type: "Sigmoid"
bottom: "encode2"
top: "encode2neuron"
- name: "encode2neuron"
- type: SIGMOID
}
-layers {
+layer {
+ name: "encode3"
+ type: "InnerProduct"
bottom: "encode2neuron"
top: "encode3"
- name: "encode3"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 1
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 1
+ decay_mult: 0
+ }
inner_product_param {
num_output: 250
weight_filler {
}
}
}
-layers {
+layer {
+ name: "encode3neuron"
+ type: "Sigmoid"
bottom: "encode3"
top: "encode3neuron"
- name: "encode3neuron"
- type: SIGMOID
}
-layers {
+layer {
+ name: "encode4"
+ type: "InnerProduct"
bottom: "encode3neuron"
top: "encode4"
- name: "encode4"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 1
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 1
+ decay_mult: 0
+ }
inner_product_param {
num_output: 30
weight_filler {
}
}
}
-layers {
+layer {
+ name: "decode4"
+ type: "InnerProduct"
bottom: "encode4"
top: "decode4"
- name: "decode4"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 1
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 1
+ decay_mult: 0
+ }
inner_product_param {
num_output: 250
weight_filler {
}
}
}
-layers {
+layer {
+ name: "decode4neuron"
+ type: "Sigmoid"
bottom: "decode4"
top: "decode4neuron"
- name: "decode4neuron"
- type: SIGMOID
}
-layers {
+layer {
+ name: "decode3"
+ type: "InnerProduct"
bottom: "decode4neuron"
top: "decode3"
- name: "decode3"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 1
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 1
+ decay_mult: 0
+ }
inner_product_param {
num_output: 500
weight_filler {
}
}
}
-layers {
+layer {
+ name: "decode3neuron"
+ type: "Sigmoid"
bottom: "decode3"
top: "decode3neuron"
- name: "decode3neuron"
- type: SIGMOID
}
-layers {
+layer {
+ name: "decode2"
+ type: "InnerProduct"
bottom: "decode3neuron"
top: "decode2"
- name: "decode2"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 1
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 1
+ decay_mult: 0
+ }
inner_product_param {
num_output: 1000
weight_filler {
}
}
}
-layers {
+layer {
+ name: "decode2neuron"
+ type: "Sigmoid"
bottom: "decode2"
top: "decode2neuron"
- name: "decode2neuron"
- type: SIGMOID
}
-layers {
+layer {
+ name: "decode1"
+ type: "InnerProduct"
bottom: "decode2neuron"
top: "decode1"
- name: "decode1"
- type: INNER_PRODUCT
- blobs_lr: 1
- blobs_lr: 1
- weight_decay: 1
- weight_decay: 0
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 1
+ decay_mult: 0
+ }
inner_product_param {
num_output: 784
weight_filler {
}
}
}
-layers {
+layer {
+ name: "loss"
+ type: "SigmoidCrossEntropyLoss"
bottom: "decode1"
bottom: "flatdata"
top: "cross_entropy_loss"
- name: "loss"
- type: SIGMOID_CROSS_ENTROPY_LOSS
loss_weight: 1
}
-layers {
+layer {
+ name: "decode1neuron"
+ type: "Sigmoid"
bottom: "decode1"
top: "decode1neuron"
- name: "decode1neuron"
- type: SIGMOID
}
-layers {
+layer {
+ name: "loss"
+ type: "EuclideanLoss"
bottom: "decode1neuron"
bottom: "flatdata"
top: "l2_error"
- name: "loss"
- type: EUCLIDEAN_LOSS
loss_weight: 0
}
input_dim: 1
input_dim: 28
input_dim: 28
-
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 20
kernel_size: 5
stride: 1
}
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
convolution_param {
num_output: 50
kernel_size: 5
stride: 1
}
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "ip1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool2"
top: "ip1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 500
}
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "ip1"
top: "ip1"
}
-layers {
+layer {
name: "ip2"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip1"
top: "ip2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 10
}
}
-
-layers {
+layer {
name: "feat"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip2"
top: "feat"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ lr_mult: 1
+ }
+ param {
+ lr_mult: 2
+ }
inner_product_param {
num_output: 2
}
name: "mnist_siamese_train_test"
-layers {
+layer {
name: "pair_data"
- type: DATA
+ type: "Data"
top: "pair_data"
top: "sim"
+ include {
+ phase: TRAIN
+ }
+ transform_param {
+ scale: 0.00390625
+ }
data_param {
source: "examples/siamese/mnist_siamese_train_leveldb"
- scale: 0.00390625
batch_size: 64
}
- include: { phase: TRAIN }
}
-layers {
+layer {
name: "pair_data"
- type: DATA
+ type: "Data"
top: "pair_data"
top: "sim"
+ include {
+ phase: TEST
+ }
+ transform_param {
+ scale: 0.00390625
+ }
data_param {
source: "examples/siamese/mnist_siamese_test_leveldb"
- scale: 0.00390625
batch_size: 100
}
- include: { phase: TEST }
}
-layers {
- name: "slice_pair"
- type: SLICE
- bottom: "pair_data"
- top: "data"
- top: "data_p"
- slice_param {
- slice_dim: 1
- slice_point: 1
- }
+layer {
+ name: "slice_pair"
+ type: "Slice"
+ bottom: "pair_data"
+ top: "data"
+ top: "data_p"
+ slice_param {
+ slice_dim: 1
+ slice_point: 1
+ }
}
-
-
-
-
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "conv1_w"
+ lr_mult: 1
+ }
+ param {
+ name: "conv1_b"
+ lr_mult: 2
+ }
convolution_param {
num_output: 20
kernel_size: 5
type: "constant"
}
}
- param: "conv1_w"
- param: "conv1_b"
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool1"
top: "conv2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "conv2_w"
+ lr_mult: 1
+ }
+ param {
+ name: "conv2_b"
+ lr_mult: 2
+ }
convolution_param {
num_output: 50
kernel_size: 5
type: "constant"
}
}
- param: "conv2_w"
- param: "conv2_b"
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "ip1"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool2"
top: "ip1"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "ip1_w"
+ lr_mult: 1
+ }
+ param {
+ name: "ip1_b"
+ lr_mult: 2
+ }
inner_product_param {
num_output: 500
weight_filler {
type: "constant"
}
}
- param: "ip1_w"
- param: "ip1_b"
}
-layers {
+layer {
name: "relu1"
- type: RELU
+ type: "ReLU"
bottom: "ip1"
top: "ip1"
}
-layers {
+layer {
name: "ip2"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip1"
top: "ip2"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "ip2_w"
+ lr_mult: 1
+ }
+ param {
+ name: "ip2_b"
+ lr_mult: 2
+ }
inner_product_param {
num_output: 10
weight_filler {
type: "constant"
}
}
- param: "ip2_w"
- param: "ip2_b"
}
-
-layers {
+layer {
name: "feat"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip2"
top: "feat"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "feat_w"
+ lr_mult: 1
+ }
+ param {
+ name: "feat_b"
+ lr_mult: 2
+ }
inner_product_param {
num_output: 2
weight_filler {
type: "constant"
}
}
- param: "feat_w"
- param: "feat_b"
}
-
-
-
-layers {
+layer {
name: "conv1_p"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data_p"
top: "conv1_p"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "conv1_w"
+ lr_mult: 1
+ }
+ param {
+ name: "conv1_b"
+ lr_mult: 2
+ }
convolution_param {
num_output: 20
kernel_size: 5
type: "constant"
}
}
- param: "conv1_w"
- param: "conv1_b"
}
-layers {
+layer {
name: "pool1_p"
- type: POOLING
+ type: "Pooling"
bottom: "conv1_p"
top: "pool1_p"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "conv2_p"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "pool1_p"
top: "conv2_p"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "conv2_w"
+ lr_mult: 1
+ }
+ param {
+ name: "conv2_b"
+ lr_mult: 2
+ }
convolution_param {
num_output: 50
kernel_size: 5
type: "constant"
}
}
- param: "conv2_w"
- param: "conv2_b"
}
-layers {
+layer {
name: "pool2_p"
- type: POOLING
+ type: "Pooling"
bottom: "conv2_p"
top: "pool2_p"
pooling_param {
stride: 2
}
}
-layers {
+layer {
name: "ip1_p"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "pool2_p"
top: "ip1_p"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "ip1_w"
+ lr_mult: 1
+ }
+ param {
+ name: "ip1_b"
+ lr_mult: 2
+ }
inner_product_param {
num_output: 500
weight_filler {
type: "constant"
}
}
- param: "ip1_w"
- param: "ip1_b"
}
-layers {
+layer {
name: "relu1_p"
- type: RELU
+ type: "ReLU"
bottom: "ip1_p"
top: "ip1_p"
}
-layers {
+layer {
name: "ip2_p"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip1_p"
top: "ip2_p"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "ip2_w"
+ lr_mult: 1
+ }
+ param {
+ name: "ip2_b"
+ lr_mult: 2
+ }
inner_product_param {
num_output: 10
weight_filler {
type: "constant"
}
}
- param: "ip2_w"
- param: "ip2_b"
}
-
-layers {
+layer {
name: "feat_p"
- type: INNER_PRODUCT
+ type: "InnerProduct"
bottom: "ip2_p"
top: "feat_p"
- blobs_lr: 1
- blobs_lr: 2
+ param {
+ name: "feat_w"
+ lr_mult: 1
+ }
+ param {
+ name: "feat_b"
+ lr_mult: 2
+ }
inner_product_param {
num_output: 2
weight_filler {
type: "constant"
}
}
- param: "feat_w"
- param: "feat_b"
}
-
-
-
-layers {
- name: "loss"
- type: CONTRASTIVE_LOSS
- contrastive_loss_param {
- margin: 1.0
- }
- bottom: "feat"
- bottom: "feat_p"
- bottom: "sim"
- top: "loss"
+layer {
+ name: "loss"
+ type: "ContrastiveLoss"
+ bottom: "feat"
+ bottom: "feat_p"
+ bottom: "sim"
+ top: "loss"
+ contrastive_loss_param {
+ margin: 1
+ }
}
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"
}
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
}
}
}
-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 {
beta: 0.75
}
}
-layers {
+layer {
name: "pool1"
- type: POOLING
+ type: "Pooling"
bottom: "norm1"
top: "pool1"
pooling_param {
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
}
}
}
-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 {
beta: 0.75
}
}
-layers {
+layer {
name: "pool2"
- type: POOLING
+ type: "Pooling"
bottom: "norm2"
top: "pool2"
pooling_param {
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
}
}
}
-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
}
}
}
-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
}
}
}
-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 {
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 {
}
}
}
-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 {
}
}
}
-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 {
}
}
}
-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"
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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 {
}
}
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "loss3/classifier"
top: "prob"
-}
\ No newline at end of file
+}
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
}
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
}
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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 {
}
}
}
-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 {
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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 {
}
}
}
-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 {
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
}
}
}
-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
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
}
}
}
-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 {
}
}
}
-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
+ }
}
input_dim: 3
input_dim: 227
input_dim: 227
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
convolution_param {
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 {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
beta: 0.75
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
convolution_param {
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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
beta: 0.75
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
convolution_param {
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 {
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 {
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 {
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"
}
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 {
# 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 {
# 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
}
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
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
}
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
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
}
}
}
-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
}
}
}
-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
}
}
}
-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 {
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 {
}
}
}
-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 {
}
}
}
-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 {
}
}
}
-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"
input_dim: 3
input_dim: 227
input_dim: 227
-layers {
+layer {
name: "conv1"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "data"
top: "conv1"
convolution_param {
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 {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
beta: 0.75
}
}
-layers {
+layer {
name: "conv2"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm1"
top: "conv2"
convolution_param {
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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
beta: 0.75
}
}
-layers {
+layer {
name: "conv3"
- type: CONVOLUTION
+ type: "Convolution"
bottom: "norm2"
top: "conv3"
convolution_param {
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 {
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 {
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 {
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 {
}
}
# 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 {
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
}
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
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
}
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
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
}
}
}
-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
}
}
}
-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
}
}
}
-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 {
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 {
}
}
}
-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 {
}
}
}
-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 {
}
}
}
-layers {
+layer {
name: "prob"
- type: SOFTMAX
+ type: "Softmax"
bottom: "fc8_flickr"
top: "prob"
}
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
}
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "norm1"
- type: LRN
+ type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
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
}
}
}
-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 {
stride: 2
}
}
-layers {
+layer {
name: "norm2"
- type: LRN
+ type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
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
}
}
}
-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
}
}
}
-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
}
}
}
-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 {
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 {
}
}
}
-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 {
}
}
}
-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 {
}
}
}
-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
+ }
}