Open vgg4resnet opened 3 years ago
by changing matmul with caffe scale may solve problem? pay an attention to two blobs shape when caffe is doing the scale operation?
name: "Semobile"
layer {
name: "blob1"
type: "Input"
top: "blob1"
input_param {
shape {
dim: 1
dim: 3
dim: 96
dim: 96
}
}
}
layer {
name: "conv1"
type: "Convolution"
bottom: "blob1"
top: "conv_blob1"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
group: 1
stride: 2
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm1"
type: "BatchNorm"
bottom: "conv_blob1"
top: "batch_norm_blob1"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale1"
type: "Scale"
bottom: "batch_norm_blob1"
top: "batch_norm_blob1"
scale_param {
bias_term: true
}
}
layer {
name: "relu1"
type: "ReLU"
bottom: "batch_norm_blob1"
top: "relu_blob1"
}
layer {
name: "ave_pool1"
type: "Pooling"
bottom: "relu_blob1"
top: "ave_pool_blob1"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "batch_norm2"
type: "BatchNorm"
bottom: "ave_pool_blob1"
top: "batch_norm_blob2"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale2"
type: "Scale"
bottom: "batch_norm_blob2"
top: "batch_norm_blob2"
scale_param {
bias_term: true
}
}
layer {
name: "conv2"
type: "Convolution"
bottom: "batch_norm_blob2"
top: "conv_blob2"
convolution_param {
num_output: 32
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "conv3"
type: "Convolution"
bottom: "relu_blob1"
top: "conv_blob3"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
group: 32
stride: 2
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm3"
type: "BatchNorm"
bottom: "conv_blob3"
top: "batch_norm_blob3"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale3"
type: "Scale"
bottom: "batch_norm_blob3"
top: "batch_norm_blob3"
scale_param {
bias_term: true
}
}
layer {
name: "relu2"
type: "ReLU"
bottom: "batch_norm_blob3"
top: "relu_blob2"
}
layer {
name: "conv4"
type: "Convolution"
bottom: "relu_blob2"
top: "conv_blob4"
convolution_param {
num_output: 32
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm4"
type: "BatchNorm"
bottom: "conv_blob4"
top: "batch_norm_blob4"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale4"
type: "Scale"
bottom: "batch_norm_blob4"
top: "batch_norm_blob4"
scale_param {
bias_term: true
}
}
layer {
name: "add1"
type: "Eltwise"
bottom: "conv_blob2"
bottom: "batch_norm_blob4"
top: "add_blob1"
eltwise_param {
operation: SUM
}
}
layer {
name: "ave_pool2"
type: "Pooling"
bottom: "add_blob1"
top: "ave_pool_blob2"
pooling_param {
pool: AVE
kernel_size: 24
stride: 24
}
}
layer {
name: "conv5"
type: "Convolution"
bottom: "ave_pool_blob2"
top: "conv_blob5"
convolution_param {
num_output: 2
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "relu3"
type: "ReLU"
bottom: "conv_blob5"
top: "relu_blob3"
}
layer {
name: "conv6"
type: "Convolution"
bottom: "relu_blob3"
top: "conv_blob6"
convolution_param {
num_output: 32
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "sigmoid1"
type: "Sigmoid"
bottom: "conv_blob6"
top: "sigmoid_blob1"
}
layer {
name: "view1"
type: "Reshape"
bottom: "sigmoid_blob1"
top: "view_blob1"
reshape_param {
shape {
dim: 0
dim: 32
}
}
}
layer {
name: "view2"
type: "Reshape"
bottom: "sigmoid_blob1"
top: "view_blob2"
reshape_param {
shape {
dim: 0
dim: 32
dim: 1
dim: 1
}
}
}
layer {
name: "mul1"
type: "Scale"
bottom: "add_blob1"
bottom: "view_blob1"
top: "mul_blob1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "ave_pool3"
type: "Pooling"
bottom: "mul_blob1"
top: "ave_pool_blob3"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "batch_norm5"
type: "BatchNorm"
bottom: "ave_pool_blob3"
top: "batch_norm_blob5"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale5"
type: "Scale"
bottom: "batch_norm_blob5"
top: "batch_norm_blob5"
scale_param {
bias_term: true
}
}
layer {
name: "conv7"
type: "Convolution"
bottom: "batch_norm_blob5"
top: "conv_blob7"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "conv8"
type: "Convolution"
bottom: "mul_blob1"
top: "conv_blob8"
convolution_param {
num_output: 192
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm6"
type: "BatchNorm"
bottom: "conv_blob8"
top: "batch_norm_blob6"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale6"
type: "Scale"
bottom: "batch_norm_blob6"
top: "batch_norm_blob6"
scale_param {
bias_term: true
}
}
layer {
name: "relu4"
type: "ReLU"
bottom: "batch_norm_blob6"
top: "relu_blob4"
}
layer {
name: "conv9"
type: "Convolution"
bottom: "relu_blob4"
top: "conv_blob9"
convolution_param {
num_output: 192
bias_term: false
pad: 1
kernel_size: 3
group: 192
stride: 2
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm7"
type: "BatchNorm"
bottom: "conv_blob9"
top: "batch_norm_blob7"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale7"
type: "Scale"
bottom: "batch_norm_blob7"
top: "batch_norm_blob7"
scale_param {
bias_term: true
}
}
layer {
name: "relu5"
type: "ReLU"
bottom: "batch_norm_blob7"
top: "relu_blob5"
}
layer {
name: "conv10"
type: "Convolution"
bottom: "relu_blob5"
top: "conv_blob10"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm8"
type: "BatchNorm"
bottom: "conv_blob10"
top: "batch_norm_blob8"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale8"
type: "Scale"
bottom: "batch_norm_blob8"
top: "batch_norm_blob8"
scale_param {
bias_term: true
}
}
layer {
name: "add2"
type: "Eltwise"
bottom: "conv_blob7"
bottom: "batch_norm_blob8"
top: "add_blob2"
eltwise_param {
operation: SUM
}
}
layer {
name: "conv11"
type: "Convolution"
bottom: "add_blob2"
top: "conv_blob11"
convolution_param {
num_output: 384
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm9"
type: "BatchNorm"
bottom: "conv_blob11"
top: "batch_norm_blob9"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale9"
type: "Scale"
bottom: "batch_norm_blob9"
top: "batch_norm_blob9"
scale_param {
bias_term: true
}
}
layer {
name: "relu6"
type: "ReLU"
bottom: "batch_norm_blob9"
top: "relu_blob6"
}
layer {
name: "conv12"
type: "Convolution"
bottom: "relu_blob6"
top: "conv_blob12"
convolution_param {
num_output: 384
bias_term: false
pad: 1
kernel_size: 3
group: 384
stride: 1
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm10"
type: "BatchNorm"
bottom: "conv_blob12"
top: "batch_norm_blob10"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale10"
type: "Scale"
bottom: "batch_norm_blob10"
top: "batch_norm_blob10"
scale_param {
bias_term: true
}
}
layer {
name: "relu7"
type: "ReLU"
bottom: "batch_norm_blob10"
top: "relu_blob7"
}
layer {
name: "conv13"
type: "Convolution"
bottom: "relu_blob7"
top: "conv_blob13"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm11"
type: "BatchNorm"
bottom: "conv_blob13"
top: "batch_norm_blob11"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale11"
type: "Scale"
bottom: "batch_norm_blob11"
top: "batch_norm_blob11"
scale_param {
bias_term: true
}
}
layer {
name: "add3"
type: "Eltwise"
bottom: "add_blob2"
bottom: "batch_norm_blob11"
top: "add_blob3"
eltwise_param {
operation: SUM
}
}
layer {
name: "ave_pool4"
type: "Pooling"
bottom: "add_blob3"
top: "ave_pool_blob4"
pooling_param {
pool: AVE
kernel_size: 12
stride: 12
}
}
layer {
name: "conv14"
type: "Convolution"
bottom: "ave_pool_blob4"
top: "conv_blob14"
convolution_param {
num_output: 4
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "relu8"
type: "ReLU"
bottom: "conv_blob14"
top: "relu_blob8"
}
layer {
name: "conv15"
type: "Convolution"
bottom: "relu_blob8"
top: "conv_blob15"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "sigmoid2"
type: "Sigmoid"
bottom: "conv_blob15"
top: "sigmoid_blob2"
}
layer {
name: "view3"
type: "Reshape"
bottom: "sigmoid_blob2"
top: "view_blob3"
reshape_param {
shape {
dim: 0
dim: 64
}
}
}
layer {
name: "view4"
type: "Reshape"
bottom: "sigmoid_blob2"
top: "view_blob4"
reshape_param {
shape {
dim: 0
dim: 64
dim: 1
dim: 1
}
}
}
layer {
name: "mul2"
type: "Scale"
bottom: "add_blob3"
bottom: "view_blob3"
top: "mul_blob2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "ave_pool5"
type: "Pooling"
bottom: "mul_blob2"
top: "ave_pool_blob5"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "batch_norm12"
type: "BatchNorm"
bottom: "ave_pool_blob5"
top: "batch_norm_blob12"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale12"
type: "Scale"
bottom: "batch_norm_blob12"
top: "batch_norm_blob12"
scale_param {
bias_term: true
}
}
layer {
name: "conv16"
type: "Convolution"
bottom: "batch_norm_blob12"
top: "conv_blob16"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "conv17"
type: "Convolution"
bottom: "mul_blob2"
top: "conv_blob17"
convolution_param {
num_output: 384
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm13"
type: "BatchNorm"
bottom: "conv_blob17"
top: "batch_norm_blob13"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale13"
type: "Scale"
bottom: "batch_norm_blob13"
top: "batch_norm_blob13"
scale_param {
bias_term: true
}
}
layer {
name: "relu9"
type: "ReLU"
bottom: "batch_norm_blob13"
top: "relu_blob9"
}
layer {
name: "conv18"
type: "Convolution"
bottom: "relu_blob9"
top: "conv_blob18"
convolution_param {
num_output: 384
bias_term: false
pad: 1
kernel_size: 3
group: 384
stride: 2
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm14"
type: "BatchNorm"
bottom: "conv_blob18"
top: "batch_norm_blob14"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale14"
type: "Scale"
bottom: "batch_norm_blob14"
top: "batch_norm_blob14"
scale_param {
bias_term: true
}
}
layer {
name: "relu10"
type: "ReLU"
bottom: "batch_norm_blob14"
top: "relu_blob10"
}
layer {
name: "conv19"
type: "Convolution"
bottom: "relu_blob10"
top: "conv_blob19"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm15"
type: "BatchNorm"
bottom: "conv_blob19"
top: "batch_norm_blob15"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale15"
type: "Scale"
bottom: "batch_norm_blob15"
top: "batch_norm_blob15"
scale_param {
bias_term: true
}
}
layer {
name: "add4"
type: "Eltwise"
bottom: "conv_blob16"
bottom: "batch_norm_blob15"
top: "add_blob4"
eltwise_param {
operation: SUM
}
}
layer {
name: "conv20"
type: "Convolution"
bottom: "add_blob4"
top: "conv_blob20"
convolution_param {
num_output: 384
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm16"
type: "BatchNorm"
bottom: "conv_blob20"
top: "batch_norm_blob16"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale16"
type: "Scale"
bottom: "batch_norm_blob16"
top: "batch_norm_blob16"
scale_param {
bias_term: true
}
}
layer {
name: "relu11"
type: "ReLU"
bottom: "batch_norm_blob16"
top: "relu_blob11"
}
layer {
name: "conv21"
type: "Convolution"
bottom: "relu_blob11"
top: "conv_blob21"
convolution_param {
num_output: 384
bias_term: false
pad: 1
kernel_size: 3
group: 384
stride: 1
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm17"
type: "BatchNorm"
bottom: "conv_blob21"
top: "batch_norm_blob17"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale17"
type: "Scale"
bottom: "batch_norm_blob17"
top: "batch_norm_blob17"
scale_param {
bias_term: true
}
}
layer {
name: "relu12"
type: "ReLU"
bottom: "batch_norm_blob17"
top: "relu_blob12"
}
layer {
name: "conv22"
type: "Convolution"
bottom: "relu_blob12"
top: "conv_blob22"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm18"
type: "BatchNorm"
bottom: "conv_blob22"
top: "batch_norm_blob18"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale18"
type: "Scale"
bottom: "batch_norm_blob18"
top: "batch_norm_blob18"
scale_param {
bias_term: true
}
}
layer {
name: "add5"
type: "Eltwise"
bottom: "add_blob4"
bottom: "batch_norm_blob18"
top: "add_blob5"
eltwise_param {
operation: SUM
}
}
layer {
name: "conv23"
type: "Convolution"
bottom: "add_blob5"
top: "conv_blob23"
convolution_param {
num_output: 384
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm19"
type: "BatchNorm"
bottom: "conv_blob23"
top: "batch_norm_blob19"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale19"
type: "Scale"
bottom: "batch_norm_blob19"
top: "batch_norm_blob19"
scale_param {
bias_term: true
}
}
layer {
name: "relu13"
type: "ReLU"
bottom: "batch_norm_blob19"
top: "relu_blob13"
}
layer {
name: "conv24"
type: "Convolution"
bottom: "relu_blob13"
top: "conv_blob24"
convolution_param {
num_output: 384
bias_term: false
pad: 1
kernel_size: 3
group: 384
stride: 1
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm20"
type: "BatchNorm"
bottom: "conv_blob24"
top: "batch_norm_blob20"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale20"
type: "Scale"
bottom: "batch_norm_blob20"
top: "batch_norm_blob20"
scale_param {
bias_term: true
}
}
layer {
name: "relu14"
type: "ReLU"
bottom: "batch_norm_blob20"
top: "relu_blob14"
}
layer {
name: "conv25"
type: "Convolution"
bottom: "relu_blob14"
top: "conv_blob25"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm21"
type: "BatchNorm"
bottom: "conv_blob25"
top: "batch_norm_blob21"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale21"
type: "Scale"
bottom: "batch_norm_blob21"
top: "batch_norm_blob21"
scale_param {
bias_term: true
}
}
layer {
name: "add6"
type: "Eltwise"
bottom: "add_blob5"
bottom: "batch_norm_blob21"
top: "add_blob6"
eltwise_param {
operation: SUM
}
}
layer {
name: "conv26"
type: "Convolution"
bottom: "add_blob6"
top: "conv_blob26"
convolution_param {
num_output: 384
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm22"
type: "BatchNorm"
bottom: "conv_blob26"
top: "batch_norm_blob22"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale22"
type: "Scale"
bottom: "batch_norm_blob22"
top: "batch_norm_blob22"
scale_param {
bias_term: true
}
}
layer {
name: "relu15"
type: "ReLU"
bottom: "batch_norm_blob22"
top: "relu_blob15"
}
layer {
name: "conv27"
type: "Convolution"
bottom: "relu_blob15"
top: "conv_blob27"
convolution_param {
num_output: 384
bias_term: false
pad: 1
kernel_size: 3
group: 384
stride: 1
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm23"
type: "BatchNorm"
bottom: "conv_blob27"
top: "batch_norm_blob23"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale23"
type: "Scale"
bottom: "batch_norm_blob23"
top: "batch_norm_blob23"
scale_param {
bias_term: true
}
}
layer {
name: "relu16"
type: "ReLU"
bottom: "batch_norm_blob23"
top: "relu_blob16"
}
layer {
name: "conv28"
type: "Convolution"
bottom: "relu_blob16"
top: "conv_blob28"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm24"
type: "BatchNorm"
bottom: "conv_blob28"
top: "batch_norm_blob24"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale24"
type: "Scale"
bottom: "batch_norm_blob24"
top: "batch_norm_blob24"
scale_param {
bias_term: true
}
}
layer {
name: "add7"
type: "Eltwise"
bottom: "add_blob6"
bottom: "batch_norm_blob24"
top: "add_blob7"
eltwise_param {
operation: SUM
}
}
layer {
name: "conv29"
type: "Convolution"
bottom: "add_blob7"
top: "conv_blob29"
convolution_param {
num_output: 384
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm25"
type: "BatchNorm"
bottom: "conv_blob29"
top: "batch_norm_blob25"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale25"
type: "Scale"
bottom: "batch_norm_blob25"
top: "batch_norm_blob25"
scale_param {
bias_term: true
}
}
layer {
name: "relu17"
type: "ReLU"
bottom: "batch_norm_blob25"
top: "relu_blob17"
}
layer {
name: "conv30"
type: "Convolution"
bottom: "relu_blob17"
top: "conv_blob30"
convolution_param {
num_output: 384
bias_term: false
pad: 1
kernel_size: 3
group: 384
stride: 1
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm26"
type: "BatchNorm"
bottom: "conv_blob30"
top: "batch_norm_blob26"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale26"
type: "Scale"
bottom: "batch_norm_blob26"
top: "batch_norm_blob26"
scale_param {
bias_term: true
}
}
layer {
name: "relu18"
type: "ReLU"
bottom: "batch_norm_blob26"
top: "relu_blob18"
}
layer {
name: "conv31"
type: "Convolution"
bottom: "relu_blob18"
top: "conv_blob31"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm27"
type: "BatchNorm"
bottom: "conv_blob31"
top: "batch_norm_blob27"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale27"
type: "Scale"
bottom: "batch_norm_blob27"
top: "batch_norm_blob27"
scale_param {
bias_term: true
}
}
layer {
name: "add8"
type: "Eltwise"
bottom: "add_blob7"
bottom: "batch_norm_blob27"
top: "add_blob8"
eltwise_param {
operation: SUM
}
}
layer {
name: "conv32"
type: "Convolution"
bottom: "add_blob8"
top: "conv_blob32"
convolution_param {
num_output: 384
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm28"
type: "BatchNorm"
bottom: "conv_blob32"
top: "batch_norm_blob28"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale28"
type: "Scale"
bottom: "batch_norm_blob28"
top: "batch_norm_blob28"
scale_param {
bias_term: true
}
}
layer {
name: "relu19"
type: "ReLU"
bottom: "batch_norm_blob28"
top: "relu_blob19"
}
layer {
name: "conv33"
type: "Convolution"
bottom: "relu_blob19"
top: "conv_blob33"
convolution_param {
num_output: 384
bias_term: false
pad: 1
kernel_size: 3
group: 384
stride: 1
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm29"
type: "BatchNorm"
bottom: "conv_blob33"
top: "batch_norm_blob29"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale29"
type: "Scale"
bottom: "batch_norm_blob29"
top: "batch_norm_blob29"
scale_param {
bias_term: true
}
}
layer {
name: "relu20"
type: "ReLU"
bottom: "batch_norm_blob29"
top: "relu_blob20"
}
layer {
name: "conv34"
type: "Convolution"
bottom: "relu_blob20"
top: "conv_blob34"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm30"
type: "BatchNorm"
bottom: "conv_blob34"
top: "batch_norm_blob30"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale30"
type: "Scale"
bottom: "batch_norm_blob30"
top: "batch_norm_blob30"
scale_param {
bias_term: true
}
}
layer {
name: "add9"
type: "Eltwise"
bottom: "add_blob8"
bottom: "batch_norm_blob30"
top: "add_blob9"
eltwise_param {
operation: SUM
}
}
layer {
name: "ave_pool6"
type: "Pooling"
bottom: "add_blob9"
top: "ave_pool_blob6"
pooling_param {
pool: AVE
kernel_size: 6
stride: 6
}
}
layer {
name: "conv35"
type: "Convolution"
bottom: "ave_pool_blob6"
top: "conv_blob35"
convolution_param {
num_output: 4
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "relu21"
type: "ReLU"
bottom: "conv_blob35"
top: "relu_blob21"
}
layer {
name: "conv36"
type: "Convolution"
bottom: "relu_blob21"
top: "conv_blob36"
convolution_param {
num_output: 64
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "sigmoid3"
type: "Sigmoid"
bottom: "conv_blob36"
top: "sigmoid_blob3"
}
layer {
name: "view5"
type: "Reshape"
bottom: "sigmoid_blob3"
top: "view_blob5"
reshape_param {
shape {
dim: 0
dim: 64
}
}
}
layer {
name: "view6"
type: "Reshape"
bottom: "sigmoid_blob3"
top: "view_blob6"
reshape_param {
shape {
dim: 0
dim: 64
dim: 1
dim: 1
}
}
}
layer {
name: "mul3"
type: "Scale"
bottom: "add_blob9"
bottom: "view_blob5"
top: "mul_blob3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "ave_pool7"
type: "Pooling"
bottom: "mul_blob3"
top: "ave_pool_blob7"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "batch_norm31"
type: "BatchNorm"
bottom: "ave_pool_blob7"
top: "batch_norm_blob31"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale31"
type: "Scale"
bottom: "batch_norm_blob31"
top: "batch_norm_blob31"
scale_param {
bias_term: true
}
}
layer {
name: "conv37"
type: "Convolution"
bottom: "batch_norm_blob31"
top: "conv_blob37"
convolution_param {
num_output: 96
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "conv38"
type: "Convolution"
bottom: "mul_blob3"
top: "conv_blob38"
convolution_param {
num_output: 384
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm32"
type: "BatchNorm"
bottom: "conv_blob38"
top: "batch_norm_blob32"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale32"
type: "Scale"
bottom: "batch_norm_blob32"
top: "batch_norm_blob32"
scale_param {
bias_term: true
}
}
layer {
name: "relu22"
type: "ReLU"
bottom: "batch_norm_blob32"
top: "relu_blob22"
}
layer {
name: "conv39"
type: "Convolution"
bottom: "relu_blob22"
top: "conv_blob39"
convolution_param {
num_output: 384
bias_term: false
pad: 1
kernel_size: 3
group: 384
stride: 2
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm33"
type: "BatchNorm"
bottom: "conv_blob39"
top: "batch_norm_blob33"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale33"
type: "Scale"
bottom: "batch_norm_blob33"
top: "batch_norm_blob33"
scale_param {
bias_term: true
}
}
layer {
name: "relu23"
type: "ReLU"
bottom: "batch_norm_blob33"
top: "relu_blob23"
}
layer {
name: "conv40"
type: "Convolution"
bottom: "relu_blob23"
top: "conv_blob40"
convolution_param {
num_output: 96
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm34"
type: "BatchNorm"
bottom: "conv_blob40"
top: "batch_norm_blob34"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale34"
type: "Scale"
bottom: "batch_norm_blob34"
top: "batch_norm_blob34"
scale_param {
bias_term: true
}
}
layer {
name: "add10"
type: "Eltwise"
bottom: "conv_blob37"
bottom: "batch_norm_blob34"
top: "add_blob10"
eltwise_param {
operation: SUM
}
}
layer {
name: "conv41"
type: "Convolution"
bottom: "add_blob10"
top: "conv_blob41"
convolution_param {
num_output: 576
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm35"
type: "BatchNorm"
bottom: "conv_blob41"
top: "batch_norm_blob35"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale35"
type: "Scale"
bottom: "batch_norm_blob35"
top: "batch_norm_blob35"
scale_param {
bias_term: true
}
}
layer {
name: "relu24"
type: "ReLU"
bottom: "batch_norm_blob35"
top: "relu_blob24"
}
layer {
name: "conv42"
type: "Convolution"
bottom: "relu_blob24"
top: "conv_blob42"
convolution_param {
num_output: 576
bias_term: false
pad: 1
kernel_size: 3
group: 576
stride: 1
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm36"
type: "BatchNorm"
bottom: "conv_blob42"
top: "batch_norm_blob36"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale36"
type: "Scale"
bottom: "batch_norm_blob36"
top: "batch_norm_blob36"
scale_param {
bias_term: true
}
}
layer {
name: "relu25"
type: "ReLU"
bottom: "batch_norm_blob36"
top: "relu_blob25"
}
layer {
name: "conv43"
type: "Convolution"
bottom: "relu_blob25"
top: "conv_blob43"
convolution_param {
num_output: 96
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm37"
type: "BatchNorm"
bottom: "conv_blob43"
top: "batch_norm_blob37"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale37"
type: "Scale"
bottom: "batch_norm_blob37"
top: "batch_norm_blob37"
scale_param {
bias_term: true
}
}
layer {
name: "add11"
type: "Eltwise"
bottom: "add_blob10"
bottom: "batch_norm_blob37"
top: "add_blob11"
eltwise_param {
operation: SUM
}
}
layer {
name: "conv44"
type: "Convolution"
bottom: "add_blob11"
top: "conv_blob44"
convolution_param {
num_output: 576
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm38"
type: "BatchNorm"
bottom: "conv_blob44"
top: "batch_norm_blob38"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale38"
type: "Scale"
bottom: "batch_norm_blob38"
top: "batch_norm_blob38"
scale_param {
bias_term: true
}
}
layer {
name: "relu26"
type: "ReLU"
bottom: "batch_norm_blob38"
top: "relu_blob26"
}
layer {
name: "conv45"
type: "Convolution"
bottom: "relu_blob26"
top: "conv_blob45"
convolution_param {
num_output: 576
bias_term: false
pad: 1
kernel_size: 3
group: 576
stride: 1
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
layer {
name: "batch_norm39"
type: "BatchNorm"
bottom: "conv_blob45"
top: "batch_norm_blob39"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale39"
type: "Scale"
bottom: "batch_norm_blob39"
top: "batch_norm_blob39"
scale_param {
bias_term: true
}
}
layer {
name: "relu27"
type: "ReLU"
bottom: "batch_norm_blob39"
top: "relu_blob27"
}
layer {
name: "conv46"
type: "Convolution"
bottom: "relu_blob27"
top: "conv_blob46"
convolution_param {
num_output: 96
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "batch_norm40"
type: "BatchNorm"
bottom: "conv_blob46"
top: "batch_norm_blob40"
batch_norm_param {
use_global_stats: true
eps: 1e-05
}
}
layer {
name: "bn_scale40"
type: "Scale"
bottom: "batch_norm_blob40"
top: "batch_norm_blob40"
scale_param {
bias_term: true
}
}
layer {
name: "add12"
type: "Eltwise"
bottom: "add_blob11"
bottom: "batch_norm_blob40"
top: "add_blob12"
eltwise_param {
operation: SUM
}
}
layer {
name: "ave_pool8"
type: "Pooling"
bottom: "add_blob12"
top: "ave_pool_blob8"
pooling_param {
pool: AVE
kernel_size: 3
stride: 3
}
}
layer {
name: "conv47"
type: "Convolution"
bottom: "ave_pool_blob8"
top: "conv_blob47"
convolution_param {
num_output: 6
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "relu28"
type: "ReLU"
bottom: "conv_blob47"
top: "relu_blob28"
}
layer {
name: "conv48"
type: "Convolution"
bottom: "relu_blob28"
top: "conv_blob48"
convolution_param {
num_output: 96
bias_term: false
pad: 0
kernel_size: 1
group: 1
stride: 1
weight_filler {
type: "xavier"
}
dilation: 1
}
}
layer {
name: "sigmoid4"
type: "Sigmoid"
bottom: "conv_blob48"
top: "sigmoid_blob4"
}
layer {
name: "view7"
type: "Reshape"
bottom: "sigmoid_blob4"
top: "view_blob7"
reshape_param {
shape {
dim: 0
dim: 96
}
}
}
layer {
name: "view8"
type: "Reshape"
bottom: "sigmoid_blob4"
top: "view_blob8"
reshape_param {
shape {
dim: 0
dim: 96
dim: 1
dim: 1
}
}
}
layer {
name: "mul4"
type: "Scale"
bottom: "add_blob12"
bottom: "view_blob7"
top: "mul_blob4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "conv49"
type: "Convolution"
bottom: "mul_blob4"
top: "conv_blob49"
convolution_param {
num_output: 96
bias_term: false
pad: 1
kernel_size: 3
group: 96
stride: 2
weight_filler {
type: "xavier"
}
engine: CAFFE
dilation: 1
}
}
HI, I successed in dumping out the prototxt and caffemodel ,I am having problems when loading prototxt and caffemodel in pycaffe interface , or have you met the same problems ,thanks in advanced