代码拉取完成,页面将自动刷新
name: "mobilenet v3"
input: "data"
input_dim: 1
input_dim: 3
input_dim: 224
input_dim: 224
#################### stage 1 ####################
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 16
pad: 1
bias_term: false
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv1-bn"
type: "BatchNorm"
bottom: "conv1"
top: "conv1"
}
layer {
name: "conv1-bn-scale"
type: "Scale"
bottom: "conv1"
top: "conv1"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv1/shift"
type: "Power"
bottom: "conv1"
top: "conv1/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv1/shift-relu"
type: "ReLU6"
bottom: "conv1/shift"
top: "conv1/shift"
}
layer {
name: "conv1/shift-div"
type: "Power"
bottom: "conv1/shift"
top: "conv1/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv1/hswish"
type: "Eltwise"
bottom: "conv1"
bottom: "conv1/shift-div"
top: "conv1/hswish"
eltwise_param {
operation: PROD
}
}
#################### stage 2-1 ####################
layer {
name: "conv2-1/expand"
type: "Convolution"
bottom: "conv1/hswish"
top: "conv2-1/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 16
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv2-1/expand-bn"
type: "BatchNorm"
bottom: "conv2-1/expand"
top: "conv2-1/expand"
}
layer {
name: "conv2-1/expand-bn-scale"
type: "Scale"
bottom: "conv2-1/expand"
top: "conv2-1/expand"
scale_param {
bias_term: true
}
}
layer {
name: "conv2-1/expand-relu"
type: "ReLU6"
bottom: "conv2-1/expand"
top: "conv2-1/expand"
}
layer {
name: "conv2-1/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv2-1/expand"
top: "conv2-1/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 16
group: 16
pad: 1
bias_term: false
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv2-1/dwise-bn"
type: "BatchNorm"
bottom: "conv2-1/dwise"
top: "conv2-1/dwise"
}
layer {
name: "conv2-1/dwise-bn-scale"
type: "Scale"
bottom: "conv2-1/dwise"
top: "conv2-1/dwise"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv2-1/dwise-se-pool"
type: "Pooling"
bottom: "conv2-1/dwise"
top: "conv2-1/dwise-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv2-1/dwise-se-fc1"
type: "InnerProduct"
bottom: "conv2-1/dwise-se-pool"
top:"conv2-1/dwise-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 4
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv2-1/dwise-se-fc1-relu"
type: "ReLU6"
bottom: "conv2-1/dwise-se-fc1"
top: "conv2-1/dwise-se-fc1"
}
layer {
name: "conv2-1/dwise-se-fc2"
type: "InnerProduct"
bottom: "conv2-1/dwise-se-fc1"
top:"conv2-1/dwise-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 16
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv2-1/dwise-se-fc2/shift"
type: "Power"
bottom: "conv2-1/dwise-se-fc2"
top: "conv2-1/dwise-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv2-1/dwise-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv2-1/dwise-se-fc2/shift"
top: "conv2-1/dwise-se-fc2/shift"
}
layer {
name: "conv2-1/dwise-se-fc2/shift-div"
type: "Power"
bottom: "conv2-1/dwise-se-fc2/shift"
top: "conv2-1/dwise-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv2-1/dwise/scale"
type: "Scale"
bottom: "conv2-1/dwise"
bottom: "conv2-1/dwise-se-fc2/shift-div"
top: "conv2-1/dwise/scale"
scale_param{
axis: 0
}
}
layer {
name: "conv2-1/dwise/scale-relu"
type: "ReLU6"
bottom: "conv2-1/dwise/scale"
top: "conv2-1/dwise/scale"
}
layer {
name: "conv2-1/linear"
type: "Convolution"
bottom: "conv2-1/dwise/scale"
top: "conv2-1/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 16
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv2-1/linear-bn"
type: "BatchNorm"
bottom: "conv2-1/linear"
top: "conv2-1/linear"
}
layer {
name: "conv2-1/linear-bn-scale"
type: "Scale"
bottom: "conv2-1/linear"
top: "conv2-1/linear"
scale_param {
bias_term: true
}
}
#################### stage 3-1 ####################
layer {
name: "conv3-1/expand"
type: "Convolution"
bottom: "conv2-1/linear"
top: "conv3-1/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 72
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv3-1/expand-bn"
type: "BatchNorm"
bottom: "conv3-1/expand"
top: "conv3-1/expand"
}
layer {
name: "conv3-1/expand-bn-scale"
type: "Scale"
bottom: "conv3-1/expand"
top: "conv3-1/expand"
scale_param {
bias_term: true
}
}
layer {
name: "conv3-1/expand-relu"
type: "ReLU6"
bottom: "conv3-1/expand"
top: "conv3-1/expand"
}
layer {
name: "conv3-1/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv3-1/expand"
top: "conv3-1/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 72
group: 72
pad: 1
bias_term: false
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv3-1/dwise-bn"
type: "BatchNorm"
bottom: "conv3-1/dwise"
top: "conv3-1/dwise"
}
layer {
name: "conv3-1/dwise-bn-scale"
type: "Scale"
bottom: "conv3-1/dwise"
top: "conv3-1/dwise"
scale_param {
bias_term: true
}
}
layer {
name: "conv3-1/dwise-relu"
type: "ReLU6"
bottom: "conv3-1/dwise"
top: "conv3-1/dwise"
}
layer {
name: "conv3-1/linear"
type: "Convolution"
bottom: "conv3-1/dwise"
top: "conv3-1/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 24
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv3-1/linear-bn"
type: "BatchNorm"
bottom: "conv3-1/linear"
top: "conv3-1/linear"
}
layer {
name: "conv3-1/linear-bn-scale"
type: "Scale"
bottom: "conv3-1/linear"
top: "conv3-1/linear"
scale_param {
bias_term: true
}
}
#################### stage 4-1 ####################
layer {
name: "conv4-1/expand"
type: "Convolution"
bottom: "conv3-1/linear"
top: "conv4-1/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 88
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4-1/expand-bn"
type: "BatchNorm"
bottom: "conv4-1/expand"
top: "conv4-1/expand"
}
layer {
name: "conv4-1/expand-bn-scale"
type: "Scale"
bottom: "conv4-1/expand"
top: "conv4-1/expand"
scale_param {
bias_term: true
}
}
layer {
name: "conv4-1/expand-relu"
type: "ReLU6"
bottom: "conv4-1/expand"
top: "conv4-1/expand"
}
layer {
name: "conv4-1/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv4-1/expand"
top: "conv4-1/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 88
group: 88
pad: 1
bias_term: false
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv4-1/dwise-bn"
type: "BatchNorm"
bottom: "conv4-1/dwise"
top: "conv4-1/dwise"
}
layer {
name: "conv4-1/dwise-bn-scale"
type: "Scale"
bottom: "conv4-1/dwise"
top: "conv4-1/dwise"
scale_param {
bias_term: true
}
}
layer {
name: "conv4-1/dwise-relu"
type: "ReLU6"
bottom: "conv4-1/dwise"
top: "conv4-1/dwise"
}
layer {
name: "conv4-1/linear"
type: "Convolution"
bottom: "conv4-1/dwise"
top: "conv4-1/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 24
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4-1/linear-bn"
type: "BatchNorm"
bottom: "conv4-1/linear"
top: "conv4-1/linear"
}
layer {
name: "conv4-1/linear-bn-scale"
type: "Scale"
bottom: "conv4-1/linear"
top: "conv4-1/linear"
scale_param {
bias_term: true
}
}
layer {
name: "block4-1"
type: "Eltwise"
bottom: "conv3-1/linear"
bottom: "conv4-1/linear"
top: "block4-1"
}
#################### stage 4-2 ####################
layer {
name: "conv4-2/expand"
type: "Convolution"
bottom: "block4-1"
top: "conv4-2/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 96
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4-2/expand-bn"
type: "BatchNorm"
bottom: "conv4-2/expand"
top: "conv4-2/expand"
}
layer {
name: "conv4-2/expand-bn-scale"
type: "Scale"
bottom: "conv4-2/expand"
top: "conv4-2/expand"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv4-2/expand/shift"
type: "Power"
bottom: "conv4-2/expand"
top: "conv4-2/expand/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv4-2/expand/shift-relu"
type: "ReLU6"
bottom: "conv4-2/expand/shift"
top: "conv4-2/expand/shift"
}
layer {
name: "conv4-2/expand/shift-div"
type: "Power"
bottom: "conv4-2/expand/shift"
top: "conv4-2/expand/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv4-2/expand/hswish"
type: "Eltwise"
bottom: "conv4-2/expand"
bottom: "conv4-2/expand/shift-div"
top: "conv4-2/expand/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv4-2/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv4-2/expand/hswish"
top: "conv4-2/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 96
group: 96
pad: 2
bias_term: false
kernel_size: 5
stride: 2
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv4-2/dwise-bn"
type: "BatchNorm"
bottom: "conv4-2/dwise"
top: "conv4-2/dwise"
}
layer {
name: "conv4-2/dwise-bn-scale"
type: "Scale"
bottom: "conv4-2/dwise"
top: "conv4-2/dwise"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv4-2/dwise-se-pool"
type: "Pooling"
bottom: "conv4-2/dwise"
top: "conv4-2/dwise-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv4-2/dwise-se-fc1"
type: "InnerProduct"
bottom: "conv4-2/dwise-se-pool"
top:"conv4-2/dwise-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 24
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv4-2/dwise-se-fc1-relu"
type: "ReLU6"
bottom: "conv4-2/dwise-se-fc1"
top: "conv4-2/dwise-se-fc1"
}
layer {
name: "conv4-2/dwise-se-fc2"
type: "InnerProduct"
bottom: "conv4-2/dwise-se-fc1"
top:"conv4-2/dwise-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 96
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv4-2/dwise-se-fc2/shift"
type: "Power"
bottom: "conv4-2/dwise-se-fc2"
top: "conv4-2/dwise-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv4-2/dwise-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv4-2/dwise-se-fc2/shift"
top: "conv4-2/dwise-se-fc2/shift"
}
layer {
name: "conv4-2/dwise-se-fc2/shift-div"
type: "Power"
bottom: "conv4-2/dwise-se-fc2/shift"
top: "conv4-2/dwise-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv4-2/dwise/scale"
type: "Scale"
bottom: "conv4-2/dwise"
bottom: "conv4-2/dwise-se-fc2/shift-div"
top: "conv4-2/dwise/scale"
scale_param{
axis: 0
}
}
# H-swish
layer {
name: "conv4-2/dwise/shift"
type: "Power"
bottom: "conv4-2/dwise/scale"
top: "conv4-2/dwise/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv4-2/dwise/shift-relu"
type: "ReLU6"
bottom: "conv4-2/dwise/shift"
top: "conv4-2/dwise/shift"
}
layer {
name: "conv4-2/dwise/shift-div"
type: "Power"
bottom: "conv4-2/dwise/shift"
top: "conv4-2/dwise/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv4-2/dwise/hswish"
type: "Eltwise"
bottom: "conv4-2/dwise/scale"
bottom: "conv4-2/dwise/shift-div"
top: "conv4-2/dwise/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv4-2/linear"
type: "Convolution"
bottom: "conv4-2/dwise/hswish"
top: "conv4-2/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 40
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4-2/linear-bn"
type: "BatchNorm"
bottom: "conv4-2/linear"
top: "conv4-2/linear"
}
layer {
name: "conv4-2/linear-bn-scale"
type: "Scale"
bottom: "conv4-2/linear"
top: "conv4-2/linear"
scale_param {
bias_term: true
}
}
#################### stage 5-1 ####################
layer {
name: "conv5-1/expand"
type: "Convolution"
bottom: "conv4-2/linear"
top: "conv5-1/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 240
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-1/expand-bn"
type: "BatchNorm"
bottom: "conv5-1/expand"
top: "conv5-1/expand"
}
layer {
name: "conv5-1/expand-bn-scale"
type: "Scale"
bottom: "conv5-1/expand"
top: "conv5-1/expand"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv5-1/expand/shift"
type: "Power"
bottom: "conv5-1/expand"
top: "conv5-1/expand/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-1/expand/shift-relu"
type: "ReLU6"
bottom: "conv5-1/expand/shift"
top: "conv5-1/expand/shift"
}
layer {
name: "conv5-1/expand/shift-div"
type: "Power"
bottom: "conv5-1/expand/shift"
top: "conv5-1/expand/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-1/expand/hswish"
type: "Eltwise"
bottom: "conv5-1/expand"
bottom: "conv5-1/expand/shift-div"
top: "conv5-1/expand/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-1/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv5-1/expand/hswish"
top: "conv5-1/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 240
group: 240
pad: 2
bias_term: false
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv5-1/dwise-bn"
type: "BatchNorm"
bottom: "conv5-1/dwise"
top: "conv5-1/dwise"
}
layer {
name: "conv5-1/dwise-bn-scale"
type: "Scale"
bottom: "conv5-1/dwise"
top: "conv5-1/dwise"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv5-1/dwise-se-pool"
type: "Pooling"
bottom: "conv5-1/dwise"
top: "conv5-1/dwise-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv5-1/dwise-se-fc1"
type: "InnerProduct"
bottom: "conv5-1/dwise-se-pool"
top:"conv5-1/dwise-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 60
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv5-1/dwise-se-fc1-relu"
type: "ReLU6"
bottom: "conv5-1/dwise-se-fc1"
top: "conv5-1/dwise-se-fc1"
}
layer {
name: "conv5-1/dwise-se-fc2"
type: "InnerProduct"
bottom: "conv5-1/dwise-se-fc1"
top:"conv5-1/dwise-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 240
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv5-1/dwise-se-fc2/shift"
type: "Power"
bottom: "conv5-1/dwise-se-fc2"
top: "conv5-1/dwise-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-1/dwise-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv5-1/dwise-se-fc2/shift"
top: "conv5-1/dwise-se-fc2/shift"
}
layer {
name: "conv5-1/dwise-se-fc2/shift-div"
type: "Power"
bottom: "conv5-1/dwise-se-fc2/shift"
top: "conv5-1/dwise-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-1/dwise/scale"
type: "Scale"
bottom: "conv5-1/dwise"
bottom: "conv5-1/dwise-se-fc2/shift-div"
top: "conv5-1/dwise/scale"
scale_param{
axis: 0
}
}
# H-swish
layer {
name: "conv5-1/dwise/shift"
type: "Power"
bottom: "conv5-1/dwise/scale"
top: "conv5-1/dwise/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-1/dwise/shift-relu"
type: "ReLU6"
bottom: "conv5-1/dwise/shift"
top: "conv5-1/dwise/shift"
}
layer {
name: "conv5-1/dwise/shift-div"
type: "Power"
bottom: "conv5-1/dwise/shift"
top: "conv5-1/dwise/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-1/dwise/hswish"
type: "Eltwise"
bottom: "conv5-1/dwise/scale"
bottom: "conv5-1/dwise/shift-div"
top: "conv5-1/dwise/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-1/linear"
type: "Convolution"
bottom: "conv5-1/dwise/hswish"
top: "conv5-1/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 40
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-1/linear-bn"
type: "BatchNorm"
bottom: "conv5-1/linear"
top: "conv5-1/linear"
}
layer {
name: "conv5-1/linear-bn-scale"
type: "Scale"
bottom: "conv5-1/linear"
top: "conv5-1/linear"
scale_param {
bias_term: true
}
}
layer {
name: "block5-1"
type: "Eltwise"
bottom: "conv4-2/linear"
bottom: "conv5-1/linear"
top: "block5-1"
}
#################### stage 5-2 ####################
layer {
name: "conv5-2/expand"
type: "Convolution"
bottom: "block5-1"
top: "conv5-2/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 240
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-2/expand-bn"
type: "BatchNorm"
bottom: "conv5-2/expand"
top: "conv5-2/expand"
}
layer {
name: "conv5-2/expand-bn-scale"
type: "Scale"
bottom: "conv5-2/expand"
top: "conv5-2/expand"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv5-2/expand/shift"
type: "Power"
bottom: "conv5-2/expand"
top: "conv5-2/expand/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-2/expand/shift-relu"
type: "ReLU6"
bottom: "conv5-2/expand/shift"
top: "conv5-2/expand/shift"
}
layer {
name: "conv5-2/expand/shift-div"
type: "Power"
bottom: "conv5-2/expand/shift"
top: "conv5-2/expand/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-2/expand/hswish"
type: "Eltwise"
bottom: "conv5-2/expand"
bottom: "conv5-2/expand/shift-div"
top: "conv5-2/expand/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-2/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv5-2/expand/hswish"
top: "conv5-2/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 240
group: 240
pad: 2
bias_term: false
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv5-2/dwise-bn"
type: "BatchNorm"
bottom: "conv5-2/dwise"
top: "conv5-2/dwise"
}
layer {
name: "conv5-2/dwise-bn-scale"
type: "Scale"
bottom: "conv5-2/dwise"
top: "conv5-2/dwise"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv5-2/dwise-se-pool"
type: "Pooling"
bottom: "conv5-2/dwise"
top: "conv5-2/dwise-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv5-2/dwise-se-fc1"
type: "InnerProduct"
bottom: "conv5-2/dwise-se-pool"
top:"conv5-2/dwise-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 60
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv5-2/dwise-se-fc1-relu"
type: "ReLU6"
bottom: "conv5-2/dwise-se-fc1"
top: "conv5-2/dwise-se-fc1"
}
layer {
name: "conv5-2/dwise-se-fc2"
type: "InnerProduct"
bottom: "conv5-2/dwise-se-fc1"
top:"conv5-2/dwise-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 240
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv5-2/dwise-se-fc2/shift"
type: "Power"
bottom: "conv5-2/dwise-se-fc2"
top: "conv5-2/dwise-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-2/dwise-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv5-2/dwise-se-fc2/shift"
top: "conv5-2/dwise-se-fc2/shift"
}
layer {
name: "conv5-2/dwise-se-fc2/shift-div"
type: "Power"
bottom: "conv5-2/dwise-se-fc2/shift"
top: "conv5-2/dwise-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-2/dwise/scale"
type: "Scale"
bottom: "conv5-2/dwise"
bottom: "conv5-2/dwise-se-fc2/shift-div"
top: "conv5-2/dwise/scale"
scale_param{
axis: 0
}
}
# H-swish
layer {
name: "conv5-2/dwise/shift"
type: "Power"
bottom: "conv5-2/dwise/scale"
top: "conv5-2/dwise/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-2/dwise/shift-relu"
type: "ReLU6"
bottom: "conv5-2/dwise/shift"
top: "conv5-2/dwise/shift"
}
layer {
name: "conv5-2/dwise/shift-div"
type: "Power"
bottom: "conv5-2/dwise/shift"
top: "conv5-2/dwise/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-2/dwise/hswish"
type: "Eltwise"
bottom: "conv5-2/dwise/scale"
bottom: "conv5-2/dwise/shift-div"
top: "conv5-2/dwise/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-2/linear"
type: "Convolution"
bottom: "conv5-2/dwise/hswish"
top: "conv5-2/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 40
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-2/linear-bn"
type: "BatchNorm"
bottom: "conv5-2/linear"
top: "conv5-2/linear"
}
layer {
name: "conv5-2/linear-bn-scale"
type: "Scale"
bottom: "conv5-2/linear"
top: "conv5-2/linear"
scale_param {
bias_term: true
}
}
layer {
name: "block5-2"
type: "Eltwise"
bottom: "block5-1"
bottom: "conv5-2/linear"
top: "block5-2"
}
#################### stage 5-3 ####################
layer {
name: "conv5-3/expand"
type: "Convolution"
bottom: "block5-2"
top: "conv5-3/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 120
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-3/expand-bn"
type: "BatchNorm"
bottom: "conv5-3/expand"
top: "conv5-3/expand"
}
layer {
name: "conv5-3/expand-bn-scale"
type: "Scale"
bottom: "conv5-3/expand"
top: "conv5-3/expand"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv5-3/expand/shift"
type: "Power"
bottom: "conv5-3/expand"
top: "conv5-3/expand/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-3/expand/shift-relu"
type: "ReLU6"
bottom: "conv5-3/expand/shift"
top: "conv5-3/expand/shift"
}
layer {
name: "conv5-3/expand/shift-div"
type: "Power"
bottom: "conv5-3/expand/shift"
top: "conv5-3/expand/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-3/expand/hswish"
type: "Eltwise"
bottom: "conv5-3/expand"
bottom: "conv5-3/expand/shift-div"
top: "conv5-3/expand/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-3/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv5-3/expand/hswish"
top: "conv5-3/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 120
group: 120
pad: 2
bias_term: false
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv5-3/dwise-bn"
type: "BatchNorm"
bottom: "conv5-3/dwise"
top: "conv5-3/dwise"
}
layer {
name: "conv5-3/dwise-bn-scale"
type: "Scale"
bottom: "conv5-3/dwise"
top: "conv5-3/dwise"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv5-3/dwise-se-pool"
type: "Pooling"
bottom: "conv5-3/dwise"
top: "conv5-3/dwise-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv5-3/dwise-se-fc1"
type: "InnerProduct"
bottom: "conv5-3/dwise-se-pool"
top:"conv5-3/dwise-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 30
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv5-3/dwise-se-fc1-relu"
type: "ReLU6"
bottom: "conv5-3/dwise-se-fc1"
top: "conv5-3/dwise-se-fc1"
}
layer {
name: "conv5-3/dwise-se-fc2"
type: "InnerProduct"
bottom: "conv5-3/dwise-se-fc1"
top:"conv5-3/dwise-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 120
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv5-3/dwise-se-fc2/shift"
type: "Power"
bottom: "conv5-3/dwise-se-fc2"
top: "conv5-3/dwise-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-3/dwise-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv5-3/dwise-se-fc2/shift"
top: "conv5-3/dwise-se-fc2/shift"
}
layer {
name: "conv5-3/dwise-se-fc2/shift-div"
type: "Power"
bottom: "conv5-3/dwise-se-fc2/shift"
top: "conv5-3/dwise-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-3/dwise/scale"
type: "Scale"
bottom: "conv5-3/dwise"
bottom: "conv5-3/dwise-se-fc2/shift-div"
top: "conv5-3/dwise/scale"
scale_param{
axis: 0
}
}
# H-swish
layer {
name: "conv5-3/dwise/shift"
type: "Power"
bottom: "conv5-3/dwise/scale"
top: "conv5-3/dwise/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-3/dwise/shift-relu"
type: "ReLU6"
bottom: "conv5-3/dwise/shift"
top: "conv5-3/dwise/shift"
}
layer {
name: "conv5-3/dwise/shift-div"
type: "Power"
bottom: "conv5-3/dwise/shift"
top: "conv5-3/dwise/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-3/dwise/hswish"
type: "Eltwise"
bottom: "conv5-3/dwise/scale"
bottom: "conv5-3/dwise/shift-div"
top: "conv5-3/dwise/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-3/linear"
type: "Convolution"
bottom: "conv5-3/dwise/hswish"
top: "conv5-3/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 48
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-3/linear-bn"
type: "BatchNorm"
bottom: "conv5-3/linear"
top: "conv5-3/linear"
}
layer {
name: "conv5-3/linear-bn-scale"
type: "Scale"
bottom: "conv5-3/linear"
top: "conv5-3/linear"
scale_param {
bias_term: true
}
}
#################### stage 5-4 ####################
layer {
name: "conv5-4/expand"
type: "Convolution"
bottom: "conv5-3/linear"
top: "conv5-4/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 144
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-4/expand-bn"
type: "BatchNorm"
bottom: "conv5-4/expand"
top: "conv5-4/expand"
}
layer {
name: "conv5-4/expand-bn-scale"
type: "Scale"
bottom: "conv5-4/expand"
top: "conv5-4/expand"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv5-4/expand/shift"
type: "Power"
bottom: "conv5-4/expand"
top: "conv5-4/expand/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-4/expand/shift-relu"
type: "ReLU6"
bottom: "conv5-4/expand/shift"
top: "conv5-4/expand/shift"
}
layer {
name: "conv5-4/expand/shift-div"
type: "Power"
bottom: "conv5-4/expand/shift"
top: "conv5-4/expand/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-4/expand/hswish"
type: "Eltwise"
bottom: "conv5-4/expand"
bottom: "conv5-4/expand/shift-div"
top: "conv5-4/expand/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-4/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv5-4/expand/hswish"
top: "conv5-4/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 144
group: 144
pad: 2
bias_term: false
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv5-4/dwise-bn"
type: "BatchNorm"
bottom: "conv5-4/dwise"
top: "conv5-4/dwise"
}
layer {
name: "conv5-4/dwise-bn-scale"
type: "Scale"
bottom: "conv5-4/dwise"
top: "conv5-4/dwise"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv5-4/dwise-se-pool"
type: "Pooling"
bottom: "conv5-4/dwise"
top: "conv5-4/dwise-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv5-4/dwise-se-fc1"
type: "InnerProduct"
bottom: "conv5-4/dwise-se-pool"
top:"conv5-4/dwise-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 36
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv5-4/dwise-se-fc1-relu"
type: "ReLU6"
bottom: "conv5-4/dwise-se-fc1"
top: "conv5-4/dwise-se-fc1"
}
layer {
name: "conv5-4/dwise-se-fc2"
type: "InnerProduct"
bottom: "conv5-4/dwise-se-fc1"
top:"conv5-4/dwise-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 144
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv5-4/dwise-se-fc2/shift"
type: "Power"
bottom: "conv5-4/dwise-se-fc2"
top: "conv5-4/dwise-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-4/dwise-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv5-4/dwise-se-fc2/shift"
top: "conv5-4/dwise-se-fc2/shift"
}
layer {
name: "conv5-4/dwise-se-fc2/shift-div"
type: "Power"
bottom: "conv5-4/dwise-se-fc2/shift"
top: "conv5-4/dwise-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-4/dwise/scale"
type: "Scale"
bottom: "conv5-4/dwise"
bottom: "conv5-4/dwise-se-fc2/shift-div"
top: "conv5-4/dwise/scale"
scale_param{
axis: 0
}
}
# H-swish
layer {
name: "conv5-4/dwise/shift"
type: "Power"
bottom: "conv5-4/dwise/scale"
top: "conv5-4/dwise/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-4/dwise/shift-relu"
type: "ReLU6"
bottom: "conv5-4/dwise/shift"
top: "conv5-4/dwise/shift"
}
layer {
name: "conv5-4/dwise/shift-div"
type: "Power"
bottom: "conv5-4/dwise/shift"
top: "conv5-4/dwise/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-4/dwise/hswish"
type: "Eltwise"
bottom: "conv5-4/dwise/scale"
bottom: "conv5-4/dwise/shift-div"
top: "conv5-4/dwise/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-4/linear"
type: "Convolution"
bottom: "conv5-4/dwise/hswish"
top: "conv5-4/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 48
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-4/linear-bn"
type: "BatchNorm"
bottom: "conv5-4/linear"
top: "conv5-4/linear"
}
layer {
name: "conv5-4/linear-bn-scale"
type: "Scale"
bottom: "conv5-4/linear"
top: "conv5-4/linear"
scale_param {
bias_term: true
}
}
layer {
name: "block5-4"
type: "Eltwise"
bottom: "conv5-3/linear"
bottom: "conv5-4/linear"
top: "block5-4"
}
#################### stage 5-5 ####################
layer {
name: "conv5-5/expand"
type: "Convolution"
bottom: "block5-4"
top: "conv5-5/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 288
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-5/expand-bn"
type: "BatchNorm"
bottom: "conv5-5/expand"
top: "conv5-5/expand"
}
layer {
name: "conv5-5/expand-bn-scale"
type: "Scale"
bottom: "conv5-5/expand"
top: "conv5-5/expand"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv5-5/expand/shift"
type: "Power"
bottom: "conv5-5/expand"
top: "conv5-5/expand/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-5/expand/shift-relu"
type: "ReLU6"
bottom: "conv5-5/expand/shift"
top: "conv5-5/expand/shift"
}
layer {
name: "conv5-5/expand/shift-div"
type: "Power"
bottom: "conv5-5/expand/shift"
top: "conv5-5/expand/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-5/expand/hswish"
type: "Eltwise"
bottom: "conv5-5/expand"
bottom: "conv5-5/expand/shift-div"
top: "conv5-5/expand/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-5/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv5-5/expand/hswish"
top: "conv5-5/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 288
group: 288
pad: 2
bias_term: false
kernel_size: 5
stride: 2
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv5-5/dwise-bn"
type: "BatchNorm"
bottom: "conv5-5/dwise"
top: "conv5-5/dwise"
}
layer {
name: "conv5-5/dwise-bn-scale"
type: "Scale"
bottom: "conv5-5/dwise"
top: "conv5-5/dwise"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv5-5/dwise-se-pool"
type: "Pooling"
bottom: "conv5-5/dwise"
top: "conv5-5/dwise-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv5-5/dwise-se-fc1"
type: "InnerProduct"
bottom: "conv5-5/dwise-se-pool"
top:"conv5-5/dwise-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 72
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv5-5/dwise-se-fc1-relu"
type: "ReLU6"
bottom: "conv5-5/dwise-se-fc1"
top: "conv5-5/dwise-se-fc1"
}
layer {
name: "conv5-5/dwise-se-fc2"
type: "InnerProduct"
bottom: "conv5-5/dwise-se-fc1"
top:"conv5-5/dwise-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 288
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv5-5/dwise-se-fc2/shift"
type: "Power"
bottom: "conv5-5/dwise-se-fc2"
top: "conv5-5/dwise-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-5/dwise-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv5-5/dwise-se-fc2/shift"
top: "conv5-5/dwise-se-fc2/shift"
}
layer {
name: "conv5-5/dwise-se-fc2/shift-div"
type: "Power"
bottom: "conv5-5/dwise-se-fc2/shift"
top: "conv5-5/dwise-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-5/dwise/scale"
type: "Scale"
bottom: "conv5-5/dwise"
bottom: "conv5-5/dwise-se-fc2/shift-div"
top: "conv5-5/dwise/scale"
scale_param{
axis: 0
}
}
# H-swish
layer {
name: "conv5-5/dwise/shift"
type: "Power"
bottom: "conv5-5/dwise/scale"
top: "conv5-5/dwise/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv5-5/dwise/shift-relu"
type: "ReLU6"
bottom: "conv5-5/dwise/shift"
top: "conv5-5/dwise/shift"
}
layer {
name: "conv5-5/dwise/shift-div"
type: "Power"
bottom: "conv5-5/dwise/shift"
top: "conv5-5/dwise/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv5-5/dwise/hswish"
type: "Eltwise"
bottom: "conv5-5/dwise/scale"
bottom: "conv5-5/dwise/shift-div"
top: "conv5-5/dwise/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv5-5/linear"
type: "Convolution"
bottom: "conv5-5/dwise/hswish"
top: "conv5-5/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 96
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5-5/linear-bn"
type: "BatchNorm"
bottom: "conv5-5/linear"
top: "conv5-5/linear"
}
layer {
name: "conv5-5/linear-bn-scale"
type: "Scale"
bottom: "conv5-5/linear"
top: "conv5-5/linear"
scale_param {
bias_term: true
}
}
#################### stage 6-1 ####################
layer {
name: "conv6-1/expand"
type: "Convolution"
bottom: "conv5-5/linear"
top: "conv6-1/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 576
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6-1/expand-bn"
type: "BatchNorm"
bottom: "conv6-1/expand"
top: "conv6-1/expand"
}
layer {
name: "conv6-1/expand-bn-scale"
type: "Scale"
bottom: "conv6-1/expand"
top: "conv6-1/expand"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv6-1/expand/shift"
type: "Power"
bottom: "conv6-1/expand"
top: "conv6-1/expand/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv6-1/expand/shift-relu"
type: "ReLU6"
bottom: "conv6-1/expand/shift"
top: "conv6-1/expand/shift"
}
layer {
name: "conv6-1/expand/shift-div"
type: "Power"
bottom: "conv6-1/expand/shift"
top: "conv6-1/expand/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv6-1/expand/hswish"
type: "Eltwise"
bottom: "conv6-1/expand"
bottom: "conv6-1/expand/shift-div"
top: "conv6-1/expand/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv6-1/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv6-1/expand/hswish"
top: "conv6-1/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 576
group: 576
pad: 2
bias_term: false
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv6-1/dwise-bn"
type: "BatchNorm"
bottom: "conv6-1/dwise"
top: "conv6-1/dwise"
}
layer {
name: "conv6-1/dwise-bn-scale"
type: "Scale"
bottom: "conv6-1/dwise"
top: "conv6-1/dwise"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv6-1/dwise-se-pool"
type: "Pooling"
bottom: "conv6-1/dwise"
top: "conv6-1/dwise-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv6-1/dwise-se-fc1"
type: "InnerProduct"
bottom: "conv6-1/dwise-se-pool"
top:"conv6-1/dwise-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 144
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv6-1/dwise-se-fc1-relu"
type: "ReLU6"
bottom: "conv6-1/dwise-se-fc1"
top: "conv6-1/dwise-se-fc1"
}
layer {
name: "conv6-1/dwise-se-fc2"
type: "InnerProduct"
bottom: "conv6-1/dwise-se-fc1"
top:"conv6-1/dwise-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 576
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv6-1/dwise-se-fc2/shift"
type: "Power"
bottom: "conv6-1/dwise-se-fc2"
top: "conv6-1/dwise-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv6-1/dwise-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv6-1/dwise-se-fc2/shift"
top: "conv6-1/dwise-se-fc2/shift"
}
layer {
name: "conv6-1/dwise-se-fc2/shift-div"
type: "Power"
bottom: "conv6-1/dwise-se-fc2/shift"
top: "conv6-1/dwise-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv6-1/dwise/scale"
type: "Scale"
bottom: "conv6-1/dwise"
bottom: "conv6-1/dwise-se-fc2/shift-div"
top: "conv6-1/dwise/scale"
scale_param{
axis: 0
}
}
# H-swish
layer {
name: "conv6-1/dwise/shift"
type: "Power"
bottom: "conv6-1/dwise/scale"
top: "conv6-1/dwise/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv6-1/dwise/shift-relu"
type: "ReLU6"
bottom: "conv6-1/dwise/shift"
top: "conv6-1/dwise/shift"
}
layer {
name: "conv6-1/dwise/shift-div"
type: "Power"
bottom: "conv6-1/dwise/shift"
top: "conv6-1/dwise/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv6-1/dwise/hswish"
type: "Eltwise"
bottom: "conv6-1/dwise/scale"
bottom: "conv6-1/dwise/shift-div"
top: "conv6-1/dwise/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv6-1/linear"
type: "Convolution"
bottom: "conv6-1/dwise/hswish"
top: "conv6-1/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 96
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6-1/linear-bn"
type: "BatchNorm"
bottom: "conv6-1/linear"
top: "conv6-1/linear"
}
layer {
name: "conv6-1/linear-bn-scale"
type: "Scale"
bottom: "conv6-1/linear"
top: "conv6-1/linear"
scale_param {
bias_term: true
}
}
layer {
name: "block6-1"
type: "Eltwise"
bottom: "conv5-5/linear"
bottom: "conv6-1/linear"
top: "block6-1"
}
#################### stage 6-2 ####################
layer {
name: "conv6-2/expand"
type: "Convolution"
bottom: "block6-1"
top: "conv6-2/expand"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 576
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6-2/expand-bn"
type: "BatchNorm"
bottom: "conv6-2/expand"
top: "conv6-2/expand"
}
layer {
name: "conv6-2/expand-bn-scale"
type: "Scale"
bottom: "conv6-2/expand"
top: "conv6-2/expand"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv6-2/expand/shift"
type: "Power"
bottom: "conv6-2/expand"
top: "conv6-2/expand/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv6-2/expand/shift-relu"
type: "ReLU6"
bottom: "conv6-2/expand/shift"
top: "conv6-2/expand/shift"
}
layer {
name: "conv6-2/expand/shift-div"
type: "Power"
bottom: "conv6-2/expand/shift"
top: "conv6-2/expand/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv6-2/expand/hswish"
type: "Eltwise"
bottom: "conv6-2/expand"
bottom: "conv6-2/expand/shift-div"
top: "conv6-2/expand/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv6-2/dwise"
#type: "Convolution"
type: "DepthwiseConvolution"
bottom: "conv6-2/expand/hswish"
top: "conv6-2/dwise"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 576
group: 576
pad: 2
bias_term: false
kernel_size: 5
stride: 1
weight_filler {
type: "msra"
}
engine: CAFFE
}
}
layer {
name: "conv6-2/dwise-bn"
type: "BatchNorm"
bottom: "conv6-2/dwise"
top: "conv6-2/dwise"
}
layer {
name: "conv6-2/dwise-bn-scale"
type: "Scale"
bottom: "conv6-2/dwise"
top: "conv6-2/dwise"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv6-2/dwise-se-pool"
type: "Pooling"
bottom: "conv6-2/dwise"
top: "conv6-2/dwise-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv6-2/dwise-se-fc1"
type: "InnerProduct"
bottom: "conv6-2/dwise-se-pool"
top:"conv6-2/dwise-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 144
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv6-2/dwise-se-fc1-relu"
type: "ReLU6"
bottom: "conv6-2/dwise-se-fc1"
top: "conv6-2/dwise-se-fc1"
}
layer {
name: "conv6-2/dwise-se-fc2"
type: "InnerProduct"
bottom: "conv6-2/dwise-se-fc1"
top:"conv6-2/dwise-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 576
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv6-2/dwise-se-fc2/shift"
type: "Power"
bottom: "conv6-2/dwise-se-fc2"
top: "conv6-2/dwise-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv6-2/dwise-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv6-2/dwise-se-fc2/shift"
top: "conv6-2/dwise-se-fc2/shift"
}
layer {
name: "conv6-2/dwise-se-fc2/shift-div"
type: "Power"
bottom: "conv6-2/dwise-se-fc2/shift"
top: "conv6-2/dwise-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv6-2/dwise/scale"
type: "Scale"
bottom: "conv6-2/dwise"
bottom: "conv6-2/dwise-se-fc2/shift-div"
top: "conv6-2/dwise/scale"
scale_param{
axis: 0
}
}
# H-swish
layer {
name: "conv6-2/dwise/shift"
type: "Power"
bottom: "conv6-2/dwise/scale"
top: "conv6-2/dwise/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv6-2/dwise/shift-relu"
type: "ReLU6"
bottom: "conv6-2/dwise/shift"
top: "conv6-2/dwise/shift"
}
layer {
name: "conv6-2/dwise/shift-div"
type: "Power"
bottom: "conv6-2/dwise/shift"
top: "conv6-2/dwise/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv6-2/dwise/hswish"
type: "Eltwise"
bottom: "conv6-2/dwise/scale"
bottom: "conv6-2/dwise/shift-div"
top: "conv6-2/dwise/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "conv6-2/linear"
type: "Convolution"
bottom: "conv6-2/dwise/hswish"
top: "conv6-2/linear"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 96
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6-2/linear-bn"
type: "BatchNorm"
bottom: "conv6-2/linear"
top: "conv6-2/linear"
}
layer {
name: "conv6-2/linear-bn-scale"
type: "Scale"
bottom: "conv6-2/linear"
top: "conv6-2/linear"
scale_param {
bias_term: true
}
}
layer {
name: "block6-2"
type: "Eltwise"
bottom: "block6-1"
bottom: "conv6-2/linear"
top: "block6-2"
}
#################### stage 6-3 ####################
layer {
name: "conv6-3"
type: "Convolution"
bottom: "block6-2"
top: "conv6-3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 576
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6-3-bn"
type: "BatchNorm"
bottom: "conv6-3"
top: "conv6-3"
}
layer {
name: "conv6-3-bn-scale"
type: "Scale"
bottom: "conv6-3"
top: "conv6-3"
scale_param {
bias_term: true
}
}
# se
layer {
name: "conv6-3-se-pool"
type: "Pooling"
bottom: "conv6-3"
top: "conv6-3-se-pool"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "conv6-3-se-fc1"
type: "InnerProduct"
bottom: "conv6-3-se-pool"
top:"conv6-3-se-fc1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 144
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv6-3-se-fc1-relu"
type: "ReLU6"
bottom: "conv6-3-se-fc1"
top: "conv6-3-se-fc1"
}
layer {
name: "conv6-3-se-fc2"
type: "InnerProduct"
bottom: "conv6-3-se-fc1"
top:"conv6-3-se-fc2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 576
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0
}
}
}
# H-sigmoid
layer {
name: "conv6-3-se-fc2/shift"
type: "Power"
bottom: "conv6-3-se-fc2"
top: "conv6-3-se-fc2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv6-3-se-fc2/shift-relu"
type: "ReLU6"
bottom: "conv6-3-se-fc2/shift"
top: "conv6-3-se-fc2/shift"
}
layer {
name: "conv6-3-se-fc2/shift-div"
type: "Power"
bottom: "conv6-3-se-fc2/shift"
top: "conv6-3-se-fc2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv6-3/scale"
type: "Scale"
bottom: "conv6-3"
bottom: "conv6-3-se-fc2/shift-div"
top: "conv6-3/scale"
scale_param{
axis: 0
}
}
# H-swish
layer {
name: "conv6-3/shift"
type: "Power"
bottom: "conv6-3/scale"
top: "conv6-3/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv6-3/shift-relu"
type: "ReLU6"
bottom: "conv6-3/shift"
top: "conv6-3/shift"
}
layer {
name: "conv6-3/shift-div"
type: "Power"
bottom: "conv6-3/shift"
top: "conv6-3/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv6-3/hswish"
type: "Eltwise"
bottom: "conv6-3/scale"
bottom: "conv6-3/shift-div"
top: "conv6-3/hswish"
eltwise_param {
operation: PROD
}
}
#################### stage 7-1 ####################
layer {
name: "pool7-1"
type: "Pooling"
bottom: "conv6-3/hswish"
top: "pool7-1"
pooling_param {
pool: AVE
global_pooling: true
}
}
# H-swish
layer {
name: "pool7-1/shift"
type: "Power"
bottom: "pool7-1"
top: "pool7-1/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "pool7-1/shift-relu"
type: "ReLU6"
bottom: "pool7-1/shift"
top: "pool7-1/shift"
}
layer {
name: "pool7-1/shift-div"
type: "Power"
bottom: "pool7-1/shift"
top: "pool7-1/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "pool7-1/hswish"
type: "Eltwise"
bottom: "pool7-1"
bottom: "pool7-1/shift-div"
top: "pool7-1/hswish"
eltwise_param {
operation: PROD
}
}
#################### stage 7-2 ####################
layer {
name: "conv7-2"
type: "Convolution"
bottom: "pool7-1/hswish"
top: "conv7-2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1280
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv7-2-bn"
type: "BatchNorm"
bottom: "conv7-2"
top: "conv7-2"
}
layer {
name: "conv7-2-bn-scale"
type: "Scale"
bottom: "conv7-2"
top: "conv7-2"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv7-2/shift"
type: "Power"
bottom: "conv7-2"
top: "conv7-2/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv7-2/shift-relu"
type: "ReLU6"
bottom: "conv7-2/shift"
top: "conv7-2/shift"
}
layer {
name: "conv7-2/shift-div"
type: "Power"
bottom: "conv7-2/shift"
top: "conv7-2/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv7-2/hswish"
type: "Eltwise"
bottom: "conv7-2"
bottom: "conv7-2/shift-div"
top: "conv7-2/hswish"
eltwise_param {
operation: PROD
}
}
#################### output ####################
layer {
name: "conv7-3"
type: "Convolution"
bottom: "conv7-2/hswish"
top: "conv7-3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1000
pad: 0
bias_term: false
kernel_size: 1
stride: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv7-3-bn"
type: "BatchNorm"
bottom: "conv7-3"
top: "conv7-3"
}
layer {
name: "conv7-3-bn-scale"
type: "Scale"
bottom: "conv7-3"
top: "conv7-3"
scale_param {
bias_term: true
}
}
# H-swish
layer {
name: "conv7-3/shift"
type: "Power"
bottom: "conv7-3"
top: "conv7-3/shift"
power_param {
power: 1
scale: 1
shift: 3
}
}
layer {
name: "conv7-3/shift-relu"
type: "ReLU6"
bottom: "conv7-3/shift"
top: "conv7-3/shift"
}
layer {
name: "conv7-3/shift-div"
type: "Power"
bottom: "conv7-3/shift"
top: "conv7-3/shift-div"
power_param {
power: 1
scale: 0.1666666667
shift: 0
}
}
layer {
name: "conv7-3/hswish"
type: "Eltwise"
bottom: "conv7-3"
bottom: "conv7-3/shift-div"
top: "conv7-3/hswish"
eltwise_param {
operation: PROD
}
}
layer {
name: "prob"
type: "Softmax"
bottom: "conv7-3/hswish"
top: "prob"
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。