Giter Site home page Giter Site logo

resnet-cifar10's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

resnet-cifar10's Issues

help

hi:
I want to study faster-rcnn using resnet in matlab. I can't run it. can you tell me how to run it ?

test result on model always same

Hello thanks for share, I was using your resnet32 to train a model on my own dataset. The size of images are also 32*32, I finetuned the net and the loss and accuracy looks perfect on the train data. However after I save the model and test it with some images, the top5 results are always same and the confidence are very low. I don not know what happened here. It doesn't looks like the model is overfitting... I was wondering if it is something wrong with my deloy.prototxt?
Any help would be appreciated. Thank you

`name: "resnet32_cifar10"
layer {
name: "data"
type: "Input"
top: "data"
input_param { shape: { dim: 1 dim: 3 dim: 32 dim: 32 } }
}
layer {
name: "conv_0"
type: "Convolution"
bottom: "data"
top: "conv_0"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_0"
type: "BatchNorm"
bottom: "conv_0"
top: "conv_0"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_0"
type: "Scale"
bottom: "conv_0"
top: "conv_0"
scale_param {
bias_term: true
}
}
layer {
name: "relu_0"
type: "ReLU"
bottom: "conv_0"
top: "conv_0"
}
layer {
name: "conv_1"
type: "Convolution"
bottom: "conv_0"
top: "conv_1"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_1"
type: "BatchNorm"
bottom: "conv_1"
top: "conv_1"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_1"
type: "Scale"
bottom: "conv_1"
top: "conv_1"
scale_param {
bias_term: true
}
}
layer {
name: "relu_1"
type: "ReLU"
bottom: "conv_1"
top: "conv_1"
}
layer {
name: "conv_2"
type: "Convolution"
bottom: "conv_1"
top: "conv_2"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_2"
type: "BatchNorm"
bottom: "conv_2"
top: "conv_2"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_2"
type: "Scale"
bottom: "conv_2"
top: "conv_2"
scale_param {
bias_term: true
}
}
layer {
name: "elem_2"
type: "Eltwise"
bottom: "conv_2"
bottom: "conv_0"
top: "elem_2"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_3"
type: "Convolution"
bottom: "elem_2"
top: "conv_3"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_3"
type: "BatchNorm"
bottom: "conv_3"
top: "conv_3"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_3"
type: "Scale"
bottom: "conv_3"
top: "conv_3"
scale_param {
bias_term: true
}
}
layer {
name: "relu_3"
type: "ReLU"
bottom: "conv_3"
top: "conv_3"
}
layer {
name: "conv_4"
type: "Convolution"
bottom: "conv_3"
top: "conv_4"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_4"
type: "BatchNorm"
bottom: "conv_4"
top: "conv_4"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_4"
type: "Scale"
bottom: "conv_4"
top: "conv_4"
scale_param {
bias_term: true
}
}
layer {
name: "elem_4"
type: "Eltwise"
bottom: "conv_4"
bottom: "elem_2"
top: "elem_4"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_5"
type: "Convolution"
bottom: "elem_4"
top: "conv_5"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_5"
type: "BatchNorm"
bottom: "conv_5"
top: "conv_5"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_5"
type: "Scale"
bottom: "conv_5"
top: "conv_5"
scale_param {
bias_term: true
}
}
layer {
name: "relu_5"
type: "ReLU"
bottom: "conv_5"
top: "conv_5"
}
layer {
name: "conv_6"
type: "Convolution"
bottom: "conv_5"
top: "conv_6"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_6"
type: "BatchNorm"
bottom: "conv_6"
top: "conv_6"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_6"
type: "Scale"
bottom: "conv_6"
top: "conv_6"
scale_param {
bias_term: true
}
}
layer {
name: "elem_6"
type: "Eltwise"
bottom: "conv_6"
bottom: "elem_4"
top: "elem_6"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_7"
type: "Convolution"
bottom: "elem_6"
top: "conv_7"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_7"
type: "BatchNorm"
bottom: "conv_7"
top: "conv_7"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_7"
type: "Scale"
bottom: "conv_7"
top: "conv_7"
scale_param {
bias_term: true
}
}
layer {
name: "relu_7"
type: "ReLU"
bottom: "conv_7"
top: "conv_7"
}
layer {
name: "conv_8"
type: "Convolution"
bottom: "conv_7"
top: "conv_8"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_8"
type: "BatchNorm"
bottom: "conv_8"
top: "conv_8"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_8"
type: "Scale"
bottom: "conv_8"
top: "conv_8"
scale_param {
bias_term: true
}
}
layer {
name: "elem_8"
type: "Eltwise"
bottom: "conv_8"
bottom: "elem_6"
top: "elem_8"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_9"
type: "Convolution"
bottom: "elem_8"
top: "conv_9"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_9"
type: "BatchNorm"
bottom: "conv_9"
top: "conv_9"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_9"
type: "Scale"
bottom: "conv_9"
top: "conv_9"
scale_param {
bias_term: true
}
}
layer {
name: "relu_9"
type: "ReLU"
bottom: "conv_9"
top: "conv_9"
}
layer {
name: "conv_10"
type: "Convolution"
bottom: "conv_9"
top: "conv_10"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_10"
type: "BatchNorm"
bottom: "conv_10"
top: "conv_10"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_10"
type: "Scale"
bottom: "conv_10"
top: "conv_10"
scale_param {
bias_term: true
}
}
layer {
name: "elem_10"
type: "Eltwise"
bottom: "conv_10"
bottom: "elem_8"
top: "elem_10"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_11"
type: "Convolution"
bottom: "elem_10"
top: "conv_11"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_11"
type: "BatchNorm"
bottom: "conv_11"
top: "conv_11"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_11"
type: "Scale"
bottom: "conv_11"
top: "conv_11"
scale_param {
bias_term: true
}
}
layer {
name: "relu_11"
type: "ReLU"
bottom: "conv_11"
top: "conv_11"
}
layer {
name: "conv_12"
type: "Convolution"
bottom: "conv_11"
top: "conv_12"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_12"
type: "BatchNorm"
bottom: "conv_12"
top: "conv_12"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_12"
type: "Scale"
bottom: "conv_12"
top: "conv_12"
scale_param {
bias_term: true
}
}

layer {
name: "proj_11"
type: "Convolution"
bottom: "elem_10"
top: "proj_11"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 0
kernel_size: 2
stride: 2
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "proj_norm_11"
type: "BatchNorm"
bottom: "proj_11"
top: "proj_11"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "proj_scale_11"
type: "Scale"
bottom: "proj_11"
top: "proj_11"
scale_param {
bias_term: true
}
}
layer {
name: "elem_12"
type: "Eltwise"
bottom: "conv_12"
bottom: "proj_11"
top: "elem_12"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_13"
type: "Convolution"
bottom: "elem_12"
top: "conv_13"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_13"
type: "BatchNorm"
bottom: "conv_13"
top: "conv_13"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_13"
type: "Scale"
bottom: "conv_13"
top: "conv_13"
scale_param {
bias_term: true
}
}
layer {
name: "relu_13"
type: "ReLU"
bottom: "conv_13"
top: "conv_13"
}
layer {
name: "conv_14"
type: "Convolution"
bottom: "conv_13"
top: "conv_14"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_14"
type: "BatchNorm"
bottom: "conv_14"
top: "conv_14"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_14"
type: "Scale"
bottom: "conv_14"
top: "conv_14"
scale_param {
bias_term: true
}
}
layer {
name: "elem_14"
type: "Eltwise"
bottom: "conv_14"
bottom: "elem_12"
top: "elem_14"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_15"
type: "Convolution"
bottom: "elem_14"
top: "conv_15"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_15"
type: "BatchNorm"
bottom: "conv_15"
top: "conv_15"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_15"
type: "Scale"
bottom: "conv_15"
top: "conv_15"
scale_param {
bias_term: true
}
}
layer {
name: "relu_15"
type: "ReLU"
bottom: "conv_15"
top: "conv_15"
}
layer {
name: "conv_16"
type: "Convolution"
bottom: "conv_15"
top: "conv_16"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_16"
type: "BatchNorm"
bottom: "conv_16"
top: "conv_16"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_16"
type: "Scale"
bottom: "conv_16"
top: "conv_16"
scale_param {
bias_term: true
}
}
layer {
name: "elem_16"
type: "Eltwise"
bottom: "conv_16"
bottom: "elem_14"
top: "elem_16"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_17"
type: "Convolution"
bottom: "elem_16"
top: "conv_17"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_17"
type: "BatchNorm"
bottom: "conv_17"
top: "conv_17"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_17"
type: "Scale"
bottom: "conv_17"
top: "conv_17"
scale_param {
bias_term: true
}
}
layer {
name: "relu_17"
type: "ReLU"
bottom: "conv_17"
top: "conv_17"
}
layer {
name: "conv_18"
type: "Convolution"
bottom: "conv_17"
top: "conv_18"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_18"
type: "BatchNorm"
bottom: "conv_18"
top: "conv_18"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_18"
type: "Scale"
bottom: "conv_18"
top: "conv_18"
scale_param {
bias_term: true
}
}
layer {
name: "elem_18"
type: "Eltwise"
bottom: "conv_18"
bottom: "elem_16"
top: "elem_18"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_19"
type: "Convolution"
bottom: "elem_18"
top: "conv_19"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_19"
type: "BatchNorm"
bottom: "conv_19"
top: "conv_19"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_19"
type: "Scale"
bottom: "conv_19"
top: "conv_19"
scale_param {
bias_term: true
}
}
layer {
name: "relu_19"
type: "ReLU"
bottom: "conv_19"
top: "conv_19"
}
layer {
name: "conv_20"
type: "Convolution"
bottom: "conv_19"
top: "conv_20"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_20"
type: "BatchNorm"
bottom: "conv_20"
top: "conv_20"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_20"
type: "Scale"
bottom: "conv_20"
top: "conv_20"
scale_param {
bias_term: true
}
}
layer {
name: "elem_20"
type: "Eltwise"
bottom: "conv_20"
bottom: "elem_18"
top: "elem_20"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_21"
type: "Convolution"
bottom: "elem_20"
top: "conv_21"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_21"
type: "BatchNorm"
bottom: "conv_21"
top: "conv_21"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_21"
type: "Scale"
bottom: "conv_21"
top: "conv_21"
scale_param {
bias_term: true
}
}
layer {
name: "relu_21"
type: "ReLU"
bottom: "conv_21"
top: "conv_21"
}
layer {
name: "conv_22"
type: "Convolution"
bottom: "conv_21"
top: "conv_22"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_22"
type: "BatchNorm"
bottom: "conv_22"
top: "conv_22"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_22"
type: "Scale"
bottom: "conv_22"
top: "conv_22"
scale_param {
bias_term: true
}
}
layer {
name: "proj_21"
type: "Convolution"
bottom: "elem_20"
top: "proj_21"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "proj_norm_21"
type: "BatchNorm"
bottom: "proj_21"
top: "proj_21"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "proj_scale_21"
type: "Scale"
bottom: "proj_21"
top: "proj_21"
scale_param {
bias_term: true
}
}
layer {
name: "elem_22"
type: "Eltwise"
bottom: "conv_22"
bottom: "proj_21"
top: "elem_22"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_23"
type: "Convolution"
bottom: "elem_22"
top: "conv_23"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_23"
type: "BatchNorm"
bottom: "conv_23"
top: "conv_23"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_23"
type: "Scale"
bottom: "conv_23"
top: "conv_23"
scale_param {
bias_term: true
}
}
layer {
name: "relu_23"
type: "ReLU"
bottom: "conv_23"
top: "conv_23"
}
layer {
name: "conv_24"
type: "Convolution"
bottom: "conv_23"
top: "conv_24"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_24"
type: "BatchNorm"
bottom: "conv_24"
top: "conv_24"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_24"
type: "Scale"
bottom: "conv_24"
top: "conv_24"
scale_param {
bias_term: true
}
}
layer {
name: "elem_24"
type: "Eltwise"
bottom: "conv_24"
bottom: "elem_22"
top: "elem_24"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_25"
type: "Convolution"
bottom: "elem_24"
top: "conv_25"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_25"
type: "BatchNorm"
bottom: "conv_25"
top: "conv_25"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_25"
type: "Scale"
bottom: "conv_25"
top: "conv_25"
scale_param {
bias_term: true
}
}
layer {
name: "relu_25"
type: "ReLU"
bottom: "conv_25"
top: "conv_25"
}
layer {
name: "conv_26"
type: "Convolution"
bottom: "conv_25"
top: "conv_26"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_26"
type: "BatchNorm"
bottom: "conv_26"
top: "conv_26"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_26"
type: "Scale"
bottom: "conv_26"
top: "conv_26"
scale_param {
bias_term: true
}
}
layer {
name: "elem_26"
type: "Eltwise"
bottom: "conv_26"
bottom: "elem_24"
top: "elem_26"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_27"
type: "Convolution"
bottom: "elem_26"
top: "conv_27"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_27"
type: "BatchNorm"
bottom: "conv_27"
top: "conv_27"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_27"
type: "Scale"
bottom: "conv_27"
top: "conv_27"
scale_param {
bias_term: true
}
}
layer {
name: "relu_27"
type: "ReLU"
bottom: "conv_27"
top: "conv_27"
}
layer {
name: "conv_28"
type: "Convolution"
bottom: "conv_27"
top: "conv_28"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_28"
type: "BatchNorm"
bottom: "conv_28"
top: "conv_28"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_28"
type: "Scale"
bottom: "conv_28"
top: "conv_28"
scale_param {
bias_term: true
}
}
layer {
name: "elem_28"
type: "Eltwise"
bottom: "conv_28"
bottom: "elem_26"
top: "elem_28"
eltwise_param {
operation: SUM
}
}

layer {
name: "conv_29"
type: "Convolution"
bottom: "elem_28"
top: "conv_29"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_29"
type: "BatchNorm"
bottom: "conv_29"
top: "conv_29"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_29"
type: "Scale"
bottom: "conv_29"
top: "conv_29"
scale_param {
bias_term: true
}
}
layer {
name: "relu_29"
type: "ReLU"
bottom: "conv_29"
top: "conv_29"
}
layer {
name: "conv_30"
type: "Convolution"
bottom: "conv_29"
top: "conv_30"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "norm_30"
type: "BatchNorm"
bottom: "conv_30"
top: "conv_30"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
batch_norm_param {
use_global_stats: false
moving_average_fraction: 0.95
}
}
layer {
name: "scale_30"
type: "Scale"
bottom: "conv_30"
top: "conv_30"
scale_param {
bias_term: true
}
}
layer {
name: "elem_30"
type: "Eltwise"
bottom: "conv_30"
bottom: "elem_28"
top: "elem_30"
eltwise_param {
operation: SUM
}
}

layer {
name: "pool_31"
type: "Pooling"
bottom: "elem_30"
top: "pool_31"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "fc_31"
type: "InnerProduct"
bottom: "pool_31"
top: "fc_31"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
inner_product_param {
num_output: 3755
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "prob"
type: "Softmax"
bottom: "fc_31"
top: "prob"
}`

test initialization

Hello,
Thank you very much for your code.
I've noticed that you set "test initialization: true" in your solver.proto. But I also found somebody set it to false. Can you explain the effect of this parameter settting. Thank you again :)

should we set use_global_stats to true during test?

Thanks for your codes!
I have a problem about the configuration in batchnorm layer.
Under my understanding,batchnorm layer should use moving average of mean and variance computed during training phase.So use_global_stats should be set to true in deployment prototxt.So could you please tell me why you set it to false in your code?
Thanks!

code for data augmentation

Hi. I can't reproduce the reported result using the provided prototxt. So would you please make the code for data augmentation available too? Thanks a lot.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.