-
Notifications
You must be signed in to change notification settings - Fork 128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
training is ok ,deploy test is ok ,but not get good result . #19
Comments
I0605 19:18:20.943547 3300 solver.cpp:273] Train net output #1: det_loss2 = 0.000832803 (* 1 = 0.000832803 loss) |
I met the same problem, did you sovle it ? could you tell me how to do it ? |
it is beacuse Whether in loading pre-trained model . if you is chinease,you can add my wechat , number is 13083501623 . |
hello ! i am use mobilenet_yolov3_lite_solver.prototxt ,mobilenet_yolov3_lite_train.prototxt and mobilenet_yolov3_lite_test.prototxt to get the caffe_model_file.
train_net: "models/yolov3/mobilenet_yolov3_lite_train.prototxt"
test_net: "models/yolov3/mobilenet_yolov3_lite_test.prototxt"
test_iter: 4952
test_interval: 1000
base_lr: 0.0005
display: 10
max_iter: 120000
lr_policy: "multistep"
gamma: 0.5
weight_decay: 0.00005
snapshot: 1000
snapshot_prefix: "models/yolov3/mobilenet_yolov3_lite_deploy"
solver_mode: GPU
debug_info: false
snapshot_after_train: true
test_initialization: false
average_loss: 10
stepvalue: 20000
stepvalue: 40000
stepvalue: 60000
iter_size: 4
type: "RMSProp"
eval_type: "detection"
ap_version: "11point"
show_per_class_result: true
name: "MobileNet-YOLO"
layer {
name: "data"
type: "AnnotatedData"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
scale: 0.007843
mirror: true
mean_value: 127.5
mean_value: 127.5
mean_value: 127.5
}
data_param {
source: "examples/VOC0712/VOC0712_trainval_lmdb"
batch_size: 6
backend: LMDB
}
annotated_data_param {
yolo_data_type : 1
yolo_data_jitter : 0.3
label_map_file: "data/VOC0712/labelmap_voc.prototxt"
}
}
layer {
name: "conv0"
type: "Convolution"
bottom: "data"
top: "conv0"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv0/bn"
type: "BatchNorm"
bottom: "conv0"
top: "conv0"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv0/scale"
type: "Scale"
bottom: "conv0"
top: "conv0"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv0/relu"
type: "ReLU"
bottom: "conv0"
top: "conv0"
}
layer {
name: "conv1/dw"
type: "DepthwiseConvolution"
bottom: "conv0"
top: "conv1/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
group: 32
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv1/dw/bn"
type: "BatchNorm"
bottom: "conv1/dw"
top: "conv1/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv1/dw/scale"
type: "Scale"
bottom: "conv1/dw"
top: "conv1/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv1/dw/relu"
type: "ReLU"
bottom: "conv1/dw"
top: "conv1/dw"
}
layer {
name: "conv1"
type: "Convolution"
bottom: "conv1/dw"
top: "conv1"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 64
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv1/bn"
type: "BatchNorm"
bottom: "conv1"
top: "conv1"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv1/scale"
type: "Scale"
bottom: "conv1"
top: "conv1"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv1/relu"
type: "ReLU"
bottom: "conv1"
top: "conv1"
}
layer {
name: "conv2/dw"
type: "DepthwiseConvolution"
bottom: "conv1"
top: "conv2/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 64
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 64
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv2/dw/bn"
type: "BatchNorm"
bottom: "conv2/dw"
top: "conv2/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv2/dw/scale"
type: "Scale"
bottom: "conv2/dw"
top: "conv2/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv2/dw/relu"
type: "ReLU"
bottom: "conv2/dw"
top: "conv2/dw"
}
layer {
name: "conv2"
type: "Convolution"
bottom: "conv2/dw"
top: "conv2"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv2/bn"
type: "BatchNorm"
bottom: "conv2"
top: "conv2"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv2/scale"
type: "Scale"
bottom: "conv2"
top: "conv2"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv2/relu"
type: "ReLU"
bottom: "conv2"
top: "conv2"
}
layer {
name: "conv3/dw"
type: "DepthwiseConvolution"
bottom: "conv2"
top: "conv3/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
pad: 1
kernel_size: 3
group: 128
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv3/dw/bn"
type: "BatchNorm"
bottom: "conv3/dw"
top: "conv3/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv3/dw/scale"
type: "Scale"
bottom: "conv3/dw"
top: "conv3/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv3/dw/relu"
type: "ReLU"
bottom: "conv3/dw"
top: "conv3/dw"
}
layer {
name: "conv3"
type: "Convolution"
bottom: "conv3/dw"
top: "conv3"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv3/bn"
type: "BatchNorm"
bottom: "conv3"
top: "conv3"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv3/scale"
type: "Scale"
bottom: "conv3"
top: "conv3"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv3/relu"
type: "ReLU"
bottom: "conv3"
top: "conv3"
}
layer {
name: "conv4/dw"
type: "DepthwiseConvolution"
bottom: "conv3"
top: "conv4/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 128
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4/dw/bn"
type: "BatchNorm"
bottom: "conv4/dw"
top: "conv4/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv4/dw/scale"
type: "Scale"
bottom: "conv4/dw"
top: "conv4/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv4/dw/relu"
type: "ReLU"
bottom: "conv4/dw"
top: "conv4/dw"
}
layer {
name: "conv4"
type: "Convolution"
bottom: "conv4/dw"
top: "conv4"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4/bn"
type: "BatchNorm"
bottom: "conv4"
top: "conv4"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv4/scale"
type: "Scale"
bottom: "conv4"
top: "conv4"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv4/relu"
type: "ReLU"
bottom: "conv4"
top: "conv4"
}
layer {
name: "conv5/dw"
type: "DepthwiseConvolution"
bottom: "conv4"
top: "conv5/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
pad: 1
kernel_size: 3
group: 256
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5/dw/bn"
type: "BatchNorm"
bottom: "conv5/dw"
top: "conv5/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv5/dw/scale"
type: "Scale"
bottom: "conv5/dw"
top: "conv5/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv5/dw/relu"
type: "ReLU"
bottom: "conv5/dw"
top: "conv5/dw"
}
layer {
name: "conv5"
type: "Convolution"
bottom: "conv5/dw"
top: "conv5"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5/bn"
type: "BatchNorm"
bottom: "conv5"
top: "conv5"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv5/scale"
type: "Scale"
bottom: "conv5"
top: "conv5"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv5/relu"
type: "ReLU"
bottom: "conv5"
top: "conv5"
}
layer {
name: "conv6/dw"
type: "DepthwiseConvolution"
bottom: "conv5"
top: "conv6/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 256
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6/dw/bn"
type: "BatchNorm"
bottom: "conv6/dw"
top: "conv6/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv6/dw/scale"
type: "Scale"
bottom: "conv6/dw"
top: "conv6/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv6/dw/relu"
type: "ReLU"
bottom: "conv6/dw"
top: "conv6/dw"
}
layer {
name: "conv6"
type: "Convolution"
bottom: "conv6/dw"
top: "conv6"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6/bn"
type: "BatchNorm"
bottom: "conv6"
top: "conv6"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv6/scale"
type: "Scale"
bottom: "conv6"
top: "conv6"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv6/relu"
type: "ReLU"
bottom: "conv6"
top: "conv6"
}
layer {
name: "conv7/dw"
type: "DepthwiseConvolution"
bottom: "conv6"
top: "conv7/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv7/dw/bn"
type: "BatchNorm"
bottom: "conv7/dw"
top: "conv7/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv7/dw/scale"
type: "Scale"
bottom: "conv7/dw"
top: "conv7/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv7/dw/relu"
type: "ReLU"
bottom: "conv7/dw"
top: "conv7/dw"
}
layer {
name: "conv7"
type: "Convolution"
bottom: "conv7/dw"
top: "conv7"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv7/bn"
type: "BatchNorm"
bottom: "conv7"
top: "conv7"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv7/scale"
type: "Scale"
bottom: "conv7"
top: "conv7"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv7/relu"
type: "ReLU"
bottom: "conv7"
top: "conv7"
}
layer {
name: "conv8/dw"
type: "DepthwiseConvolution"
bottom: "conv7"
top: "conv8/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv8/dw/bn"
type: "BatchNorm"
bottom: "conv8/dw"
top: "conv8/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv8/dw/scale"
type: "Scale"
bottom: "conv8/dw"
top: "conv8/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv8/dw/relu"
type: "ReLU"
bottom: "conv8/dw"
top: "conv8/dw"
}
layer {
name: "conv8"
type: "Convolution"
bottom: "conv8/dw"
top: "conv8"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv8/bn"
type: "BatchNorm"
bottom: "conv8"
top: "conv8"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv8/scale"
type: "Scale"
bottom: "conv8"
top: "conv8"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv8/relu"
type: "ReLU"
bottom: "conv8"
top: "conv8"
}
layer {
name: "conv9/dw"
type: "DepthwiseConvolution"
bottom: "conv8"
top: "conv9/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv9/dw/bn"
type: "BatchNorm"
bottom: "conv9/dw"
top: "conv9/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv9/dw/scale"
type: "Scale"
bottom: "conv9/dw"
top: "conv9/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv9/dw/relu"
type: "ReLU"
bottom: "conv9/dw"
top: "conv9/dw"
}
layer {
name: "conv9"
type: "Convolution"
bottom: "conv9/dw"
top: "conv9"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv9/bn"
type: "BatchNorm"
bottom: "conv9"
top: "conv9"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv9/scale"
type: "Scale"
bottom: "conv9"
top: "conv9"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv9/relu"
type: "ReLU"
bottom: "conv9"
top: "conv9"
}
layer {
name: "conv10/dw"
type: "DepthwiseConvolution"
bottom: "conv9"
top: "conv10/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv10/dw/bn"
type: "BatchNorm"
bottom: "conv10/dw"
top: "conv10/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv10/dw/scale"
type: "Scale"
bottom: "conv10/dw"
top: "conv10/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv10/dw/relu"
type: "ReLU"
bottom: "conv10/dw"
top: "conv10/dw"
}
layer {
name: "conv10"
type: "Convolution"
bottom: "conv10/dw"
top: "conv10"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv10/bn"
type: "BatchNorm"
bottom: "conv10"
top: "conv10"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv10/scale"
type: "Scale"
bottom: "conv10"
top: "conv10"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv10/relu"
type: "ReLU"
bottom: "conv10"
top: "conv10"
}
layer {
name: "conv11/dw"
type: "DepthwiseConvolution"
bottom: "conv10"
top: "conv11/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv11/dw/bn"
type: "BatchNorm"
bottom: "conv11/dw"
top: "conv11/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv11/dw/scale"
type: "Scale"
bottom: "conv11/dw"
top: "conv11/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv11/dw/relu"
type: "ReLU"
bottom: "conv11/dw"
top: "conv11/dw"
}
layer {
name: "conv11"
type: "Convolution"
bottom: "conv11/dw"
top: "conv11"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv11/bn"
type: "BatchNorm"
bottom: "conv11"
top: "conv11"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv11/scale"
type: "Scale"
bottom: "conv11"
top: "conv11"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv11/relu"
type: "ReLU"
bottom: "conv11"
top: "conv11"
}
layer {
name: "conv12/dw"
type: "DepthwiseConvolution"
bottom: "conv11"
top: "conv12/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv12/dw/bn"
type: "BatchNorm"
bottom: "conv12/dw"
top: "conv12/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv12/dw/scale"
type: "Scale"
bottom: "conv12/dw"
top: "conv12/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv12/dw/relu"
type: "ReLU"
bottom: "conv12/dw"
top: "conv12/dw"
}
layer {
name: "conv12"
type: "Convolution"
bottom: "conv12/dw"
top: "conv12"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv12/bn"
type: "BatchNorm"
bottom: "conv12"
top: "conv12"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv12/scale"
type: "Scale"
bottom: "conv12"
top: "conv12"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv12/relu"
type: "ReLU"
bottom: "conv12"
top: "conv12"
}
layer {
name: "conv13/dw"
type: "DepthwiseConvolution"
bottom: "conv12"
top: "conv13/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 1024
bias_term: false
pad: 1
kernel_size: 3
group: 1024
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv13/dw/bn"
type: "BatchNorm"
bottom: "conv13/dw"
top: "conv13/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv13/dw/scale"
type: "Scale"
bottom: "conv13/dw"
top: "conv13/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv13/dw/relu"
type: "ReLU"
bottom: "conv13/dw"
top: "conv13/dw"
}
layer {
name: "conv13"
type: "Convolution"
bottom: "conv13/dw"
top: "conv13"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv13/bn"
type: "BatchNorm"
bottom: "conv13"
top: "conv13"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv13/scale"
type: "Scale"
bottom: "conv13"
top: "conv13"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv13/relu"
type: "ReLU"
bottom: "conv13"
top: "conv13"
}
layer {
name: "conv16/dw"
type: "DepthwiseConvolution"
bottom: "conv13"
top: "conv16/dw"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1024
bias_term: false
pad: 1
kernel_size: 3
group: 1024
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv16/dw/bn"
type: "BatchNorm"
bottom: "conv16/dw"
top: "conv16/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv16/dw/scale"
type: "Scale"
bottom: "conv16/dw"
top: "conv16/dw"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv16/dw/relu"
type: "ReLU"
bottom: "conv16/dw"
top: "conv16/dw"
}
layer {
name: "conv16"
type: "Convolution"
bottom: "conv16/dw"
top: "conv16"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv16/bn"
type: "BatchNorm"
bottom: "conv16"
top: "conv16"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv16/scale"
type: "Scale"
bottom: "conv16"
top: "conv16"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv16/relu"
type: "ReLU"
bottom: "conv16"
top: "conv16"
}
layer {
name: "upsample"
type: "Deconvolution"
bottom: "conv16"
top: "upsample"
param { lr_mult: 0 decay_mult: 0 }
convolution_param {
num_output: 512
kernel_size: 4 stride: 2 pad: 1
group: 512
weight_filler: { type: "bilinear" }
bias_term: false
}
}
layer {
name: "conv17/dw"
type: "DepthwiseConvolution"
bottom: "conv11"
top: "conv17/dw"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv17/dw/bn"
type: "BatchNorm"
bottom: "conv17/dw"
top: "conv17/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv17/dw/scale"
type: "Scale"
bottom: "conv17/dw"
top: "conv17/dw"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv17/dw/relu"
type: "ReLU"
bottom: "conv17/dw"
top: "conv17/dw"
}
layer {
name: "conv17"
type: "Convolution"
bottom: "conv17/dw"
top: "conv17"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv17/bn"
type: "BatchNorm"
bottom: "conv17"
top: "conv17"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv17/scale"
type: "Scale"
bottom: "conv17"
top: "conv17"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv17/relu"
type: "ReLU"
bottom: "conv17"
top: "conv17"
}
layer {
name: "conv17/sum"
type: "Eltwise"
bottom: "conv17"
bottom: "upsample"
top: "conv17/sum"
}
layer {
name: "conv18/dw"
type: "DepthwiseConvolution"
bottom: "conv17/sum"
top: "conv18/dw"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv18/dw/bn"
type: "BatchNorm"
bottom: "conv18/dw"
top: "conv18/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv18/dw/scale"
type: "Scale"
bottom: "conv18/dw"
top: "conv18/dw"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv18/dw/relu"
type: "ReLU"
bottom: "conv18/dw"
top: "conv18/dw"
}
layer {
name: "conv18"
type: "Convolution"
bottom: "conv18/dw"
top: "conv18"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv18/bn"
type: "BatchNorm"
bottom: "conv18"
top: "conv18"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv18/scale"
type: "Scale"
bottom: "conv18"
top: "conv18"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv18/relu"
type: "ReLU"
bottom: "conv18"
top: "conv18"
}
layer {
name: "conv20"
type: "Convolution"
bottom: "conv16"
top: "conv20"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 75
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "conv21"
type: "Convolution"
bottom: "conv18"
top: "conv21"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 75
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "Yolov3Loss1"
type: "Yolov3"
bottom: "conv20"
bottom: "label"
top: "det_loss1"
loss_weight: 1
yolov3_param {
side: 13
num_class: 20
num: 3
object_scale: 5.0
noobject_scale: 1.0
class_scale: 1.0
coord_scale: 1.0
thresh: 0.6
anchors_scale : 32
use_logic_gradient : false
#10,14, 23,27, 37,58, 81,82, 135,169, 344,319
biases: 10
biases: 14
biases: 23
biases: 27
biases: 37
biases: 58
biases: 81
biases: 82
biases: 135
biases: 169
biases: 344
biases: 319
}
}
layer {
name: "Yolov3Loss2"
type: "Yolov3"
bottom: "conv21"
bottom: "label"
top: "det_loss2"
loss_weight: 1
yolov3_param {
side: 26
num_class: 20
num: 3
object_scale: 5.0
noobject_scale: 1.0
class_scale: 1.0
coord_scale: 1.0
thresh: 0.6
anchors_scale : 16
use_logic_gradient : false
#10,14, 23,27, 37,58, 81,82, 135,169, 344,319
biases: 10
biases: 14
biases: 23
biases: 27
biases: 37
biases: 58
biases: 81
biases: 82
biases: 135
biases: 169
biases: 344
biases: 319
}
}
name: "MobileNet-YOLO"
layer {
name: "data"
type: "AnnotatedData"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
scale: 0.007843
mean_value: 127.5
mean_value: 127.5
mean_value: 127.5
resize_param {
prob: 1.0
resize_mode: WARP
height: 416
width: 416
interp_mode: LINEAR
}
}
data_param {
source: "examples/VOC0712/VOC0712_test_lmdb"
batch_size: 1
backend: LMDB
}
annotated_data_param {
batch_sampler {
}
label_map_file: "data/VOC0712/labelmap_voc.prototxt"
}
}
layer {
name: "conv0"
type: "Convolution"
bottom: "data"
top: "conv0"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv0/bn"
type: "BatchNorm"
bottom: "conv0"
top: "conv0"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv0/scale"
type: "Scale"
bottom: "conv0"
top: "conv0"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv0/relu"
type: "ReLU"
bottom: "conv0"
top: "conv0"
}
layer {
name: "conv1/dw"
type: "DepthwiseConvolution"
bottom: "conv0"
top: "conv1/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
group: 32
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv1/dw/bn"
type: "BatchNorm"
bottom: "conv1/dw"
top: "conv1/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv1/dw/scale"
type: "Scale"
bottom: "conv1/dw"
top: "conv1/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv1/dw/relu"
type: "ReLU"
bottom: "conv1/dw"
top: "conv1/dw"
}
layer {
name: "conv1"
type: "Convolution"
bottom: "conv1/dw"
top: "conv1"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 64
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv1/bn"
type: "BatchNorm"
bottom: "conv1"
top: "conv1"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv1/scale"
type: "Scale"
bottom: "conv1"
top: "conv1"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv1/relu"
type: "ReLU"
bottom: "conv1"
top: "conv1"
}
layer {
name: "conv2/dw"
type: "DepthwiseConvolution"
bottom: "conv1"
top: "conv2/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 64
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 64
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv2/dw/bn"
type: "BatchNorm"
bottom: "conv2/dw"
top: "conv2/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv2/dw/scale"
type: "Scale"
bottom: "conv2/dw"
top: "conv2/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv2/dw/relu"
type: "ReLU"
bottom: "conv2/dw"
top: "conv2/dw"
}
layer {
name: "conv2"
type: "Convolution"
bottom: "conv2/dw"
top: "conv2"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv2/bn"
type: "BatchNorm"
bottom: "conv2"
top: "conv2"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv2/scale"
type: "Scale"
bottom: "conv2"
top: "conv2"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv2/relu"
type: "ReLU"
bottom: "conv2"
top: "conv2"
}
layer {
name: "conv3/dw"
type: "DepthwiseConvolution"
bottom: "conv2"
top: "conv3/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
pad: 1
kernel_size: 3
group: 128
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv3/dw/bn"
type: "BatchNorm"
bottom: "conv3/dw"
top: "conv3/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv3/dw/scale"
type: "Scale"
bottom: "conv3/dw"
top: "conv3/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv3/dw/relu"
type: "ReLU"
bottom: "conv3/dw"
top: "conv3/dw"
}
layer {
name: "conv3"
type: "Convolution"
bottom: "conv3/dw"
top: "conv3"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv3/bn"
type: "BatchNorm"
bottom: "conv3"
top: "conv3"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv3/scale"
type: "Scale"
bottom: "conv3"
top: "conv3"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv3/relu"
type: "ReLU"
bottom: "conv3"
top: "conv3"
}
layer {
name: "conv4/dw"
type: "DepthwiseConvolution"
bottom: "conv3"
top: "conv4/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 128
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4/dw/bn"
type: "BatchNorm"
bottom: "conv4/dw"
top: "conv4/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv4/dw/scale"
type: "Scale"
bottom: "conv4/dw"
top: "conv4/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv4/dw/relu"
type: "ReLU"
bottom: "conv4/dw"
top: "conv4/dw"
}
layer {
name: "conv4"
type: "Convolution"
bottom: "conv4/dw"
top: "conv4"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4/bn"
type: "BatchNorm"
bottom: "conv4"
top: "conv4"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv4/scale"
type: "Scale"
bottom: "conv4"
top: "conv4"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv4/relu"
type: "ReLU"
bottom: "conv4"
top: "conv4"
}
layer {
name: "conv5/dw"
type: "DepthwiseConvolution"
bottom: "conv4"
top: "conv5/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
pad: 1
kernel_size: 3
group: 256
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5/dw/bn"
type: "BatchNorm"
bottom: "conv5/dw"
top: "conv5/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv5/dw/scale"
type: "Scale"
bottom: "conv5/dw"
top: "conv5/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv5/dw/relu"
type: "ReLU"
bottom: "conv5/dw"
top: "conv5/dw"
}
layer {
name: "conv5"
type: "Convolution"
bottom: "conv5/dw"
top: "conv5"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5/bn"
type: "BatchNorm"
bottom: "conv5"
top: "conv5"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv5/scale"
type: "Scale"
bottom: "conv5"
top: "conv5"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv5/relu"
type: "ReLU"
bottom: "conv5"
top: "conv5"
}
layer {
name: "conv6/dw"
type: "DepthwiseConvolution"
bottom: "conv5"
top: "conv6/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 256
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6/dw/bn"
type: "BatchNorm"
bottom: "conv6/dw"
top: "conv6/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv6/dw/scale"
type: "Scale"
bottom: "conv6/dw"
top: "conv6/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv6/dw/relu"
type: "ReLU"
bottom: "conv6/dw"
top: "conv6/dw"
}
layer {
name: "conv6"
type: "Convolution"
bottom: "conv6/dw"
top: "conv6"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6/bn"
type: "BatchNorm"
bottom: "conv6"
top: "conv6"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv6/scale"
type: "Scale"
bottom: "conv6"
top: "conv6"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv6/relu"
type: "ReLU"
bottom: "conv6"
top: "conv6"
}
layer {
name: "conv7/dw"
type: "DepthwiseConvolution"
bottom: "conv6"
top: "conv7/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv7/dw/bn"
type: "BatchNorm"
bottom: "conv7/dw"
top: "conv7/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv7/dw/scale"
type: "Scale"
bottom: "conv7/dw"
top: "conv7/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv7/dw/relu"
type: "ReLU"
bottom: "conv7/dw"
top: "conv7/dw"
}
layer {
name: "conv7"
type: "Convolution"
bottom: "conv7/dw"
top: "conv7"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv7/bn"
type: "BatchNorm"
bottom: "conv7"
top: "conv7"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv7/scale"
type: "Scale"
bottom: "conv7"
top: "conv7"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv7/relu"
type: "ReLU"
bottom: "conv7"
top: "conv7"
}
layer {
name: "conv8/dw"
type: "DepthwiseConvolution"
bottom: "conv7"
top: "conv8/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv8/dw/bn"
type: "BatchNorm"
bottom: "conv8/dw"
top: "conv8/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv8/dw/scale"
type: "Scale"
bottom: "conv8/dw"
top: "conv8/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv8/dw/relu"
type: "ReLU"
bottom: "conv8/dw"
top: "conv8/dw"
}
layer {
name: "conv8"
type: "Convolution"
bottom: "conv8/dw"
top: "conv8"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv8/bn"
type: "BatchNorm"
bottom: "conv8"
top: "conv8"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv8/scale"
type: "Scale"
bottom: "conv8"
top: "conv8"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv8/relu"
type: "ReLU"
bottom: "conv8"
top: "conv8"
}
layer {
name: "conv9/dw"
type: "DepthwiseConvolution"
bottom: "conv8"
top: "conv9/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv9/dw/bn"
type: "BatchNorm"
bottom: "conv9/dw"
top: "conv9/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv9/dw/scale"
type: "Scale"
bottom: "conv9/dw"
top: "conv9/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv9/dw/relu"
type: "ReLU"
bottom: "conv9/dw"
top: "conv9/dw"
}
layer {
name: "conv9"
type: "Convolution"
bottom: "conv9/dw"
top: "conv9"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv9/bn"
type: "BatchNorm"
bottom: "conv9"
top: "conv9"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv9/scale"
type: "Scale"
bottom: "conv9"
top: "conv9"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv9/relu"
type: "ReLU"
bottom: "conv9"
top: "conv9"
}
layer {
name: "conv10/dw"
type: "DepthwiseConvolution"
bottom: "conv9"
top: "conv10/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv10/dw/bn"
type: "BatchNorm"
bottom: "conv10/dw"
top: "conv10/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv10/dw/scale"
type: "Scale"
bottom: "conv10/dw"
top: "conv10/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv10/dw/relu"
type: "ReLU"
bottom: "conv10/dw"
top: "conv10/dw"
}
layer {
name: "conv10"
type: "Convolution"
bottom: "conv10/dw"
top: "conv10"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv10/bn"
type: "BatchNorm"
bottom: "conv10"
top: "conv10"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv10/scale"
type: "Scale"
bottom: "conv10"
top: "conv10"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv10/relu"
type: "ReLU"
bottom: "conv10"
top: "conv10"
}
layer {
name: "conv11/dw"
type: "DepthwiseConvolution"
bottom: "conv10"
top: "conv11/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv11/dw/bn"
type: "BatchNorm"
bottom: "conv11/dw"
top: "conv11/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv11/dw/scale"
type: "Scale"
bottom: "conv11/dw"
top: "conv11/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv11/dw/relu"
type: "ReLU"
bottom: "conv11/dw"
top: "conv11/dw"
}
layer {
name: "conv11"
type: "Convolution"
bottom: "conv11/dw"
top: "conv11"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv11/bn"
type: "BatchNorm"
bottom: "conv11"
top: "conv11"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv11/scale"
type: "Scale"
bottom: "conv11"
top: "conv11"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv11/relu"
type: "ReLU"
bottom: "conv11"
top: "conv11"
}
layer {
name: "conv12/dw"
type: "DepthwiseConvolution"
bottom: "conv11"
top: "conv12/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv12/dw/bn"
type: "BatchNorm"
bottom: "conv12/dw"
top: "conv12/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv12/dw/scale"
type: "Scale"
bottom: "conv12/dw"
top: "conv12/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv12/dw/relu"
type: "ReLU"
bottom: "conv12/dw"
top: "conv12/dw"
}
layer {
name: "conv12"
type: "Convolution"
bottom: "conv12/dw"
top: "conv12"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv12/bn"
type: "BatchNorm"
bottom: "conv12"
top: "conv12"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv12/scale"
type: "Scale"
bottom: "conv12"
top: "conv12"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv12/relu"
type: "ReLU"
bottom: "conv12"
top: "conv12"
}
layer {
name: "conv13/dw"
type: "DepthwiseConvolution"
bottom: "conv12"
top: "conv13/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 1024
bias_term: false
pad: 1
kernel_size: 3
group: 1024
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv13/dw/bn"
type: "BatchNorm"
bottom: "conv13/dw"
top: "conv13/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv13/dw/scale"
type: "Scale"
bottom: "conv13/dw"
top: "conv13/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv13/dw/relu"
type: "ReLU"
bottom: "conv13/dw"
top: "conv13/dw"
}
layer {
name: "conv13"
type: "Convolution"
bottom: "conv13/dw"
top: "conv13"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv13/bn"
type: "BatchNorm"
bottom: "conv13"
top: "conv13"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv13/scale"
type: "Scale"
bottom: "conv13"
top: "conv13"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv13/relu"
type: "ReLU"
bottom: "conv13"
top: "conv13"
}
layer {
name: "conv16/dw"
type: "DepthwiseConvolution"
bottom: "conv13"
top: "conv16/dw"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1024
bias_term: false
pad: 1
kernel_size: 3
group: 1024
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv16/dw/bn"
type: "BatchNorm"
bottom: "conv16/dw"
top: "conv16/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv16/dw/scale"
type: "Scale"
bottom: "conv16/dw"
top: "conv16/dw"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv16/dw/relu"
type: "ReLU"
bottom: "conv16/dw"
top: "conv16/dw"
}
layer {
name: "conv16"
type: "Convolution"
bottom: "conv16/dw"
top: "conv16"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv16/bn"
type: "BatchNorm"
bottom: "conv16"
top: "conv16"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv16/scale"
type: "Scale"
bottom: "conv16"
top: "conv16"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv16/relu"
type: "ReLU"
bottom: "conv16"
top: "conv16"
}
layer {
name: "upsample"
type: "Deconvolution"
bottom: "conv16"
top: "upsample"
param { lr_mult: 0 decay_mult: 0 }
convolution_param {
num_output: 512
kernel_size: 4 stride: 2 pad: 1
group: 512
weight_filler: { type: "bilinear" }
bias_term: false
}
}
layer {
name: "conv17/dw"
type: "DepthwiseConvolution"
bottom: "conv11"
top: "conv17/dw"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv17/dw/bn"
type: "BatchNorm"
bottom: "conv17/dw"
top: "conv17/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv17/dw/scale"
type: "Scale"
bottom: "conv17/dw"
top: "conv17/dw"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv17/dw/relu"
type: "ReLU"
bottom: "conv17/dw"
top: "conv17/dw"
}
layer {
name: "conv17"
type: "Convolution"
bottom: "conv17/dw"
top: "conv17"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv17/bn"
type: "BatchNorm"
bottom: "conv17"
top: "conv17"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv17/scale"
type: "Scale"
bottom: "conv17"
top: "conv17"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv17/relu"
type: "ReLU"
bottom: "conv17"
top: "conv17"
}
layer {
name: "conv17/sum"
type: "Eltwise"
bottom: "conv17"
bottom: "upsample"
top: "conv17/sum"
}
layer {
name: "conv18/dw"
type: "DepthwiseConvolution"
bottom: "conv17/sum"
top: "conv18/dw"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv18/dw/bn"
type: "BatchNorm"
bottom: "conv18/dw"
top: "conv18/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv18/dw/scale"
type: "Scale"
bottom: "conv18/dw"
top: "conv18/dw"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv18/dw/relu"
type: "ReLU"
bottom: "conv18/dw"
top: "conv18/dw"
}
layer {
name: "conv18"
type: "Convolution"
bottom: "conv18/dw"
top: "conv18"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv18/bn"
type: "BatchNorm"
bottom: "conv18"
top: "conv18"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv18/scale"
type: "Scale"
bottom: "conv18"
top: "conv18"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv18/relu"
type: "ReLU"
bottom: "conv18"
top: "conv18"
}
layer {
name: "conv20"
type: "Convolution"
bottom: "conv16"
top: "conv20"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 75
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "conv21"
type: "Convolution"
bottom: "conv18"
top: "conv21"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 75
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "detection_out"
type: "Yolov3DetectionOutput"
bottom: "conv20"
bottom: "conv21"
top: "detection_out"
include {
phase: TEST
}
yolov3_detection_output_param {
confidence_threshold: 0.01
nms_threshold: 0.55
num_classes: 20
}
}
layer {
name: "detection_eval"
type: "DetectionEvaluate"
bottom: "detection_out"
bottom: "label"
top: "detection_eval"
include {
phase: TEST
}
detection_evaluate_param {
num_classes: 21
background_label_id: 0
overlap_threshold: 0.5
evaluate_difficult_gt: false
}
}
here ,i am not using pre-caffemodel to train ,just
argc=3
argv[1]="train"
,argv[2]="--solver=***.prototxt "
when i test the train_model it is runing ok ,but not get good result ,here not merge bn in deploy ,and not change the model weights . it is some error in this way .
following is deploy file ;
name: "MobileNet-YOLO"
layer {
name: "data"
type: "Input"
top: "data"
input_param {
shape {
dim: 1
dim: 3
dim: 320
dim: 320
}
}
}
layer {
name: "conv0"
type: "Convolution"
bottom: "data"
top: "conv0"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv0/bn"
type: "BatchNorm"
bottom: "conv0"
top: "conv0"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv0/scale"
type: "Scale"
bottom: "conv0"
top: "conv0"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv0/relu"
type: "ReLU"
bottom: "conv0"
top: "conv0"
}
layer {
name: "conv1/dw"
type: "DepthwiseConvolution"
bottom: "conv0"
top: "conv1/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
group: 32
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv1/dw/bn"
type: "BatchNorm"
bottom: "conv1/dw"
top: "conv1/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv1/dw/scale"
type: "Scale"
bottom: "conv1/dw"
top: "conv1/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv1/dw/relu"
type: "ReLU"
bottom: "conv1/dw"
top: "conv1/dw"
}
layer {
name: "conv1"
type: "Convolution"
bottom: "conv1/dw"
top: "conv1"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 64
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv1/bn"
type: "BatchNorm"
bottom: "conv1"
top: "conv1"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv1/scale"
type: "Scale"
bottom: "conv1"
top: "conv1"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv1/relu"
type: "ReLU"
bottom: "conv1"
top: "conv1"
}
layer {
name: "conv2/dw"
type: "DepthwiseConvolution"
bottom: "conv1"
top: "conv2/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 64
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 64
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv2/dw/bn"
type: "BatchNorm"
bottom: "conv2/dw"
top: "conv2/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv2/dw/scale"
type: "Scale"
bottom: "conv2/dw"
top: "conv2/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv2/dw/relu"
type: "ReLU"
bottom: "conv2/dw"
top: "conv2/dw"
}
layer {
name: "conv2"
type: "Convolution"
bottom: "conv2/dw"
top: "conv2"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv2/bn"
type: "BatchNorm"
bottom: "conv2"
top: "conv2"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv2/scale"
type: "Scale"
bottom: "conv2"
top: "conv2"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv2/relu"
type: "ReLU"
bottom: "conv2"
top: "conv2"
}
layer {
name: "conv3/dw"
type: "DepthwiseConvolution"
bottom: "conv2"
top: "conv3/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
pad: 1
kernel_size: 3
group: 128
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv3/dw/bn"
type: "BatchNorm"
bottom: "conv3/dw"
top: "conv3/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv3/dw/scale"
type: "Scale"
bottom: "conv3/dw"
top: "conv3/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv3/dw/relu"
type: "ReLU"
bottom: "conv3/dw"
top: "conv3/dw"
}
layer {
name: "conv3"
type: "Convolution"
bottom: "conv3/dw"
top: "conv3"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv3/bn"
type: "BatchNorm"
bottom: "conv3"
top: "conv3"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv3/scale"
type: "Scale"
bottom: "conv3"
top: "conv3"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv3/relu"
type: "ReLU"
bottom: "conv3"
top: "conv3"
}
layer {
name: "conv4/dw"
type: "DepthwiseConvolution"
bottom: "conv3"
top: "conv4/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 128
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 128
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4/dw/bn"
type: "BatchNorm"
bottom: "conv4/dw"
top: "conv4/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv4/dw/scale"
type: "Scale"
bottom: "conv4/dw"
top: "conv4/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv4/dw/relu"
type: "ReLU"
bottom: "conv4/dw"
top: "conv4/dw"
}
layer {
name: "conv4"
type: "Convolution"
bottom: "conv4/dw"
top: "conv4"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv4/bn"
type: "BatchNorm"
bottom: "conv4"
top: "conv4"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv4/scale"
type: "Scale"
bottom: "conv4"
top: "conv4"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv4/relu"
type: "ReLU"
bottom: "conv4"
top: "conv4"
}
layer {
name: "conv5/dw"
type: "DepthwiseConvolution"
bottom: "conv4"
top: "conv5/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
pad: 1
kernel_size: 3
group: 256
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5/dw/bn"
type: "BatchNorm"
bottom: "conv5/dw"
top: "conv5/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv5/dw/scale"
type: "Scale"
bottom: "conv5/dw"
top: "conv5/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv5/dw/relu"
type: "ReLU"
bottom: "conv5/dw"
top: "conv5/dw"
}
layer {
name: "conv5"
type: "Convolution"
bottom: "conv5/dw"
top: "conv5"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv5/bn"
type: "BatchNorm"
bottom: "conv5"
top: "conv5"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv5/scale"
type: "Scale"
bottom: "conv5"
top: "conv5"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv5/relu"
type: "ReLU"
bottom: "conv5"
top: "conv5"
}
layer {
name: "conv6/dw"
type: "DepthwiseConvolution"
bottom: "conv5"
top: "conv6/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 256
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 256
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6/dw/bn"
type: "BatchNorm"
bottom: "conv6/dw"
top: "conv6/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv6/dw/scale"
type: "Scale"
bottom: "conv6/dw"
top: "conv6/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv6/dw/relu"
type: "ReLU"
bottom: "conv6/dw"
top: "conv6/dw"
}
layer {
name: "conv6"
type: "Convolution"
bottom: "conv6/dw"
top: "conv6"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv6/bn"
type: "BatchNorm"
bottom: "conv6"
top: "conv6"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv6/scale"
type: "Scale"
bottom: "conv6"
top: "conv6"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv6/relu"
type: "ReLU"
bottom: "conv6"
top: "conv6"
}
layer {
name: "conv7/dw"
type: "DepthwiseConvolution"
bottom: "conv6"
top: "conv7/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv7/dw/bn"
type: "BatchNorm"
bottom: "conv7/dw"
top: "conv7/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv7/dw/scale"
type: "Scale"
bottom: "conv7/dw"
top: "conv7/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv7/dw/relu"
type: "ReLU"
bottom: "conv7/dw"
top: "conv7/dw"
}
layer {
name: "conv7"
type: "Convolution"
bottom: "conv7/dw"
top: "conv7"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv7/bn"
type: "BatchNorm"
bottom: "conv7"
top: "conv7"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv7/scale"
type: "Scale"
bottom: "conv7"
top: "conv7"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv7/relu"
type: "ReLU"
bottom: "conv7"
top: "conv7"
}
layer {
name: "conv8/dw"
type: "DepthwiseConvolution"
bottom: "conv7"
top: "conv8/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv8/dw/bn"
type: "BatchNorm"
bottom: "conv8/dw"
top: "conv8/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv8/dw/scale"
type: "Scale"
bottom: "conv8/dw"
top: "conv8/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv8/dw/relu"
type: "ReLU"
bottom: "conv8/dw"
top: "conv8/dw"
}
layer {
name: "conv8"
type: "Convolution"
bottom: "conv8/dw"
top: "conv8"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv8/bn"
type: "BatchNorm"
bottom: "conv8"
top: "conv8"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv8/scale"
type: "Scale"
bottom: "conv8"
top: "conv8"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv8/relu"
type: "ReLU"
bottom: "conv8"
top: "conv8"
}
layer {
name: "conv9/dw"
type: "DepthwiseConvolution"
bottom: "conv8"
top: "conv9/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv9/dw/bn"
type: "BatchNorm"
bottom: "conv9/dw"
top: "conv9/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv9/dw/scale"
type: "Scale"
bottom: "conv9/dw"
top: "conv9/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv9/dw/relu"
type: "ReLU"
bottom: "conv9/dw"
top: "conv9/dw"
}
layer {
name: "conv9"
type: "Convolution"
bottom: "conv9/dw"
top: "conv9"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv9/bn"
type: "BatchNorm"
bottom: "conv9"
top: "conv9"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv9/scale"
type: "Scale"
bottom: "conv9"
top: "conv9"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv9/relu"
type: "ReLU"
bottom: "conv9"
top: "conv9"
}
layer {
name: "conv10/dw"
type: "DepthwiseConvolution"
bottom: "conv9"
top: "conv10/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv10/dw/bn"
type: "BatchNorm"
bottom: "conv10/dw"
top: "conv10/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv10/dw/scale"
type: "Scale"
bottom: "conv10/dw"
top: "conv10/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv10/dw/relu"
type: "ReLU"
bottom: "conv10/dw"
top: "conv10/dw"
}
layer {
name: "conv10"
type: "Convolution"
bottom: "conv10/dw"
top: "conv10"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv10/bn"
type: "BatchNorm"
bottom: "conv10"
top: "conv10"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv10/scale"
type: "Scale"
bottom: "conv10"
top: "conv10"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv10/relu"
type: "ReLU"
bottom: "conv10"
top: "conv10"
}
layer {
name: "conv11/dw"
type: "DepthwiseConvolution"
bottom: "conv10"
top: "conv11/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv11/dw/bn"
type: "BatchNorm"
bottom: "conv11/dw"
top: "conv11/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv11/dw/scale"
type: "Scale"
bottom: "conv11/dw"
top: "conv11/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv11/dw/relu"
type: "ReLU"
bottom: "conv11/dw"
top: "conv11/dw"
}
layer {
name: "conv11"
type: "Convolution"
bottom: "conv11/dw"
top: "conv11"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv11/bn"
type: "BatchNorm"
bottom: "conv11"
top: "conv11"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv11/scale"
type: "Scale"
bottom: "conv11"
top: "conv11"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv11/relu"
type: "ReLU"
bottom: "conv11"
top: "conv11"
}
layer {
name: "conv12/dw"
type: "DepthwiseConvolution"
bottom: "conv11"
top: "conv12/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
stride: 2
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv12/dw/bn"
type: "BatchNorm"
bottom: "conv12/dw"
top: "conv12/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv12/dw/scale"
type: "Scale"
bottom: "conv12/dw"
top: "conv12/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv12/dw/relu"
type: "ReLU"
bottom: "conv12/dw"
top: "conv12/dw"
}
layer {
name: "conv12"
type: "Convolution"
bottom: "conv12/dw"
top: "conv12"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv12/bn"
type: "BatchNorm"
bottom: "conv12"
top: "conv12"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv12/scale"
type: "Scale"
bottom: "conv12"
top: "conv12"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv12/relu"
type: "ReLU"
bottom: "conv12"
top: "conv12"
}
layer {
name: "conv13/dw"
type: "DepthwiseConvolution"
bottom: "conv12"
top: "conv13/dw"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 1024
bias_term: false
pad: 1
kernel_size: 3
group: 1024
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv13/dw/bn"
type: "BatchNorm"
bottom: "conv13/dw"
top: "conv13/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv13/dw/scale"
type: "Scale"
bottom: "conv13/dw"
top: "conv13/dw"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv13/dw/relu"
type: "ReLU"
bottom: "conv13/dw"
top: "conv13/dw"
}
layer {
name: "conv13"
type: "Convolution"
bottom: "conv13/dw"
top: "conv13"
param {
lr_mult: 0.1
decay_mult: 0.1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv13/bn"
type: "BatchNorm"
bottom: "conv13"
top: "conv13"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv13/scale"
type: "Scale"
bottom: "conv13"
top: "conv13"
param {
lr_mult: 0.1
decay_mult: 0.0
}
param {
lr_mult: 0.2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv13/relu"
type: "ReLU"
bottom: "conv13"
top: "conv13"
}
layer {
name: "conv16/dw"
type: "DepthwiseConvolution"
bottom: "conv13"
top: "conv16/dw"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1024
bias_term: false
pad: 1
kernel_size: 3
group: 1024
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv16/dw/bn"
type: "BatchNorm"
bottom: "conv16/dw"
top: "conv16/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv16/dw/scale"
type: "Scale"
bottom: "conv16/dw"
top: "conv16/dw"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv16/dw/relu"
type: "ReLU"
bottom: "conv16/dw"
top: "conv16/dw"
}
layer {
name: "conv16"
type: "Convolution"
bottom: "conv16/dw"
top: "conv16"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv16/bn"
type: "BatchNorm"
bottom: "conv16"
top: "conv16"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv16/scale"
type: "Scale"
bottom: "conv16"
top: "conv16"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv16/relu"
type: "ReLU"
bottom: "conv16"
top: "conv16"
}
layer {
name: "upsample"
type: "Deconvolution"
bottom: "conv16"
top: "upsample"
param { lr_mult: 0 decay_mult: 0 }
convolution_param {
num_output: 512
kernel_size: 4 stride: 2 pad: 1
group: 512
weight_filler: { type: "bilinear" }
bias_term: false
}
}
layer {
name: "conv17/dw"
type: "DepthwiseConvolution"
bottom: "conv11"
top: "conv17/dw"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv17/dw/bn"
type: "BatchNorm"
bottom: "conv17/dw"
top: "conv17/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv17/dw/scale"
type: "Scale"
bottom: "conv17/dw"
top: "conv17/dw"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv17/dw/relu"
type: "ReLU"
bottom: "conv17/dw"
top: "conv17/dw"
}
layer {
name: "conv17"
type: "Convolution"
bottom: "conv17/dw"
top: "conv17"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 512
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv17/bn"
type: "BatchNorm"
bottom: "conv17"
top: "conv17"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv17/scale"
type: "Scale"
bottom: "conv17"
top: "conv17"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv17/relu"
type: "ReLU"
bottom: "conv17"
top: "conv17"
}
layer {
name: "conv17/sum"
type: "Eltwise"
bottom: "conv17"
bottom: "upsample"
top: "conv17/sum"
}
layer {
name: "conv18/dw"
type: "DepthwiseConvolution"
bottom: "conv17/sum"
top: "conv18/dw"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 512
bias_term: false
pad: 1
kernel_size: 3
group: 512
engine: CAFFE
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv18/dw/bn"
type: "BatchNorm"
bottom: "conv18/dw"
top: "conv18/dw"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv18/dw/scale"
type: "Scale"
bottom: "conv18/dw"
top: "conv18/dw"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv18/dw/relu"
type: "ReLU"
bottom: "conv18/dw"
top: "conv18/dw"
}
layer {
name: "conv18"
type: "Convolution"
bottom: "conv18/dw"
top: "conv18"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 1024
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv18/bn"
type: "BatchNorm"
bottom: "conv18"
top: "conv18"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "conv18/scale"
type: "Scale"
bottom: "conv18"
top: "conv18"
param {
lr_mult: 1
decay_mult: 0.0
}
param {
lr_mult: 2
decay_mult: 0.0
}
scale_param {
filler {
value: 1
}
bias_term: true
bias_filler {
value: 0
}
}
}
layer {
name: "conv18/relu"
type: "ReLU"
bottom: "conv18"
top: "conv18"
}
layer {
name: "conv20"
type: "Convolution"
bottom: "conv16"
top: "conv20"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 75
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "conv21"
type: "Convolution"
bottom: "conv18"
top: "conv21"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 75
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
value: 0
}
}
}
layer {
name: "detection_out"
type: "Yolov3DetectionOutput"
bottom: "conv20"
bottom: "conv21"
top: "detection_out"
include {
phase: TEST
}
yolov3_detection_output_param {
confidence_threshold: 0.01
nms_threshold: 0.45
num_classes: 20
}
}
thankes !!
The text was updated successfully, but these errors were encountered: