赞
踩
face_attribute.prototxt
shuffle_net 10-20ms
- name: "FaceAttribution"
- layer {
- name: "data"
- type: "Data"
- top: "data"
- include {
- phase: TRAIN
- }
- transform_param {
- mean_value: 104
- mean_value: 117
- mean_value: 124
- scale: 0.0078125
- }
- data_param {
- source: "../lmdb/train_data_npd"
- batch_size: 128
- backend: LMDB
- }
- }
- layer {
- name: "data"
- type: "Data"
- top: "label"
- include {
- phase: TRAIN
- }
- data_param {
- source: "../lmdb/train_label_npd"
- batch_size: 128
- backend: LMDB
- }
- }
-
- layer {
- name: "data"
- type: "Data"
- top: "data"
- include {
- phase: TEST
- }
- transform_param {
- mean_value: 104
- mean_value: 117
- mean_value: 124
- scale: 0.0078125
- }
- data_param {
- source: "../lmdb/test_data_npd"
- batch_size: 128
- backend: LMDB
- }
- }
- layer {
- name: "data"
- type: "Data"
- top: "label"
- include {
- phase: TEST
- }
- data_param {
- source: "../lmdb/test_label_npd"
- batch_size: 128
- backend: LMDB
- }
- }
-
-
- layer {
- name: "conv1"
- type: "Convolution"
- bottom: "data"
- top: "conv1"
- convolution_param {
- num_output: 24
- pad: 1
- kernel_size: 3
- stride: 2
- bias_term: false
- 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"
- bottom: "conv1"
- top: "conv1"
- type: "Scale"
- 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"
- type: "Convolution"
- bottom: "conv1"
- top: "conv2"
- convolution_param {
- num_output: 48
- pad: 1
- kernel_size: 3
- stride: 2
- bias_term: false
- 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"
- bottom: "conv2"
- top: "conv2"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "conv2_relu"
- type: "ReLU"
- bottom: "conv2"
- top: "conv2"
- }
-
- layer {
- name: "branch1_1_conv1"
- type: "ConvolutionDepthwise"
- bottom: "conv2"
- top: "branch1_1_conv1"
- convolution_param {
- num_output: 48
- kernel_size: 3
- stride: 2
- pad: 1
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch1_1_conv1_bn"
- type: "BatchNorm"
- bottom: "branch1_1_conv1"
- top: "branch1_1_conv1"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch1_1_conv1_scale"
- bottom: "branch1_1_conv1"
- top: "branch1_1_conv1"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch1_1_conv2"
- type: "Convolution"
- bottom: "branch1_1_conv1"
- top: "branch1_1_conv2"
- convolution_param {
- num_output: 64
- kernel_size: 1
- stride: 1
- pad: 0
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch1_1_conv2_bn"
- type: "BatchNorm"
- bottom: "branch1_1_conv2"
- top: "branch1_1_conv2"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch1_1_conv2_scale"
- bottom: "branch1_1_conv2"
- top: "branch1_1_conv2"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch1_1_conv2_relu"
- type: "ReLU"
- bottom: "branch1_1_conv2"
- top: "branch1_1_conv2"
- }
- layer {
- name: "branch1_2_conv1"
- type: "Convolution"
- bottom: "conv2"
- top: "branch1_2_conv1"
- convolution_param {
- num_output: 64
- kernel_size: 1
- stride: 1
- pad: 0
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch1_2_conv1_bn"
- type: "BatchNorm"
- bottom: "branch1_2_conv1"
- top: "branch1_2_conv1"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch1_2_conv1_scale"
- bottom: "branch1_2_conv1"
- top: "branch1_2_conv1"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch1_2_conv1_relu"
- type: "ReLU"
- bottom: "branch1_2_conv1"
- top: "branch1_2_conv1"
- }
- layer {
- name: "branch1_2_conv2"
- type: "ConvolutionDepthwise"
- bottom: "branch1_2_conv1"
- top: "branch1_2_conv2"
- convolution_param {
- num_output: 64
- kernel_size: 3
- stride: 2
- pad: 1
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch1_2_conv2_bn"
- type: "BatchNorm"
- bottom: "branch1_2_conv2"
- top: "branch1_2_conv2"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch1_2_conv2_scale"
- bottom: "branch1_2_conv2"
- top: "branch1_2_conv2"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch1_2_conv3"
- type: "Convolution"
- bottom: "branch1_2_conv2"
- top: "branch1_2_conv3"
- convolution_param {
- num_output: 64
- kernel_size: 1
- stride: 1
- pad: 0
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch1_2_conv3_bn"
- type: "BatchNorm"
- bottom: "branch1_2_conv3"
- top: "branch1_2_conv3"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch1_2_conv3_scale"
- bottom: "branch1_2_conv3"
- top: "branch1_2_conv3"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch1_2_conv3_relu"
- type: "ReLU"
- bottom: "branch1_2_conv3"
- top: "branch1_2_conv3"
- }
- layer {
- name: "concat1"
- type: "Concat"
- bottom: "branch1_1_conv2"
- bottom: "branch1_2_conv3"
- top: "concat1"
- }
- layer {
- name: "shuffle1"
- type: "ShuffleChannel"
- bottom: "concat1"
- top: "shuffle1"
- shuffle_channel_param {
- group: 2
- }
- }
- layer {
- name: "slice2"
- type: "Slice"
- bottom: "shuffle1"
- top: "branch2_1"
- top: "branch2_2"
- slice_param {
- slice_point: 64
- axis: 1
- }
- }
- layer {
- name: "branch2_2_conv1"
- type: "Convolution"
- bottom: "branch2_2"
- top: "branch2_2_conv1"
- convolution_param {
- num_output: 64
- kernel_size: 1
- stride: 1
- pad: 0
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch2_2_conv1_bn"
- type: "BatchNorm"
- bottom: "branch2_2_conv1"
- top: "branch2_2_conv1"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch2_2_conv1_scale"
- bottom: "branch2_2_conv1"
- top: "branch2_2_conv1"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch2_2_conv1_relu"
- type: "ReLU"
- bottom: "branch2_2_conv1"
- top: "branch2_2_conv1"
- }
- layer {
- name: "branch2_2_conv2"
- type: "ConvolutionDepthwise"
- bottom: "branch2_2_conv1"
- top: "branch2_2_conv2"
- convolution_param {
- num_output: 64
- kernel_size: 3
- stride: 1
- pad: 1
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch2_2_conv2_bn"
- type: "BatchNorm"
- bottom: "branch2_2_conv2"
- top: "branch2_2_conv2"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch2_2_conv2_scale"
- bottom: "branch2_2_conv2"
- top: "branch2_2_conv2"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch2_2_conv3"
- type: "Convolution"
- bottom: "branch2_2_conv2"
- top: "branch2_2_conv3"
- convolution_param {
- num_output: 64
- kernel_size: 1
- stride: 1
- pad: 0
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch2_2_conv3_bn"
- type: "BatchNorm"
- bottom: "branch2_2_conv3"
- top: "branch2_2_conv3"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch2_2_conv3_scale"
- bottom: "branch2_2_conv3"
- top: "branch2_2_conv3"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch2_2_conv3_relu"
- type: "ReLU"
- bottom: "branch2_2_conv3"
- top: "branch2_2_conv3"
- }
- layer {
- name: "concat2"
- type: "Concat"
- bottom: "branch2_1"
- bottom: "branch2_2_conv3"
- top: "concat2"
- }
- layer {
- name: "shuffle2"
- type: "ShuffleChannel"
- bottom: "concat2"
- top: "shuffle2"
- shuffle_channel_param {
- group: 2
- }
- }
- layer {
- name: "slice3"
- type: "Slice"
- bottom: "shuffle2"
- top: "branch3_1"
- top: "branch3_2"
- slice_param {
- slice_point: 64
- axis: 1
- }
- }
- layer {
- name: "branch3_2_conv1"
- type: "Convolution"
- bottom: "branch3_2"
- top: "branch3_2_conv1"
- convolution_param {
- num_output: 64
- kernel_size: 1
- stride: 1
- pad: 0
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch3_2_conv1_bn"
- type: "BatchNorm"
- bottom: "branch3_2_conv1"
- top: "branch3_2_conv1"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch3_2_conv1_scale"
- bottom: "branch3_2_conv1"
- top: "branch3_2_conv1"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch3_2_conv1_relu"
- type: "ReLU"
- bottom: "branch3_2_conv1"
- top: "branch3_2_conv1"
- }
- layer {
- name: "branch3_2_conv2"
- type: "ConvolutionDepthwise"
- bottom: "branch3_2_conv1"
- top: "branch3_2_conv2"
- convolution_param {
- num_output: 64
- kernel_size: 3
- stride: 1
- pad: 1
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch3_2_conv2_bn"
- type: "BatchNorm"
- bottom: "branch3_2_conv2"
- top: "branch3_2_conv2"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch3_2_conv2_scale"
- bottom: "branch3_2_conv2"
- top: "branch3_2_conv2"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch3_2_conv3"
- type: "Convolution"
- bottom: "branch3_2_conv2"
- top: "branch3_2_conv3"
- convolution_param {
- num_output: 64
- kernel_size: 1
- stride: 1
- pad: 0
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch3_2_conv3_bn"
- type: "BatchNorm"
- bottom: "branch3_2_conv3"
- top: "branch3_2_conv3"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch3_2_conv3_scale"
- bottom: "branch3_2_conv3"
- top: "branch3_2_conv3"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch3_2_conv3_relu"
- type: "ReLU"
- bottom: "branch3_2_conv3"
- top: "branch3_2_conv3"
- }
- layer {
- name: "concat3"
- type: "Concat"
- bottom: "branch3_1"
- bottom: "branch3_2_conv3"
- top: "concat3"
- }
-
- layer {
- name: "shuffle3"
- type: "ShuffleChannel"
- bottom: "concat3"
- top: "shuffle3"
- shuffle_channel_param {
- group: 2
- }
- }
- layer {
- name: "slice4"
- type: "Slice"
- bottom: "shuffle3"
- top: "branch4_1"
- top: "branch4_2"
- slice_param {
- slice_point: 64
- axis: 1
- }
- }
- layer {
- name: "branch4_2_conv1"
- type: "Convolution"
- bottom: "branch4_2"
- top: "branch4_2_conv1"
- convolution_param {
- num_output: 64
- kernel_size: 1
- stride: 1
- pad: 0
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch4_2_conv1_bn"
- type: "BatchNorm"
- bottom: "branch4_2_conv1"
- top: "branch4_2_conv1"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch4_2_conv1_scale"
- bottom: "branch4_2_conv1"
- top: "branch4_2_conv1"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch4_2_conv1_relu"
- type: "ReLU"
- bottom: "branch4_2_conv1"
- top: "branch4_2_conv1"
- }
- layer {
- name: "branch4_2_conv2"
- type: "ConvolutionDepthwise"
- bottom: "branch4_2_conv1"
- top: "branch4_2_conv2"
- convolution_param {
- num_output: 64
- kernel_size: 3
- stride: 1
- pad: 1
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch4_2_conv2_bn"
- type: "BatchNorm"
- bottom: "branch4_2_conv2"
- top: "branch4_2_conv2"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch4_2_conv2_scale"
- bottom: "branch4_2_conv2"
- top: "branch4_2_conv2"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch4_2_conv3"
- type: "Convolution"
- bottom: "branch4_2_conv2"
- top: "branch4_2_conv3"
- convolution_param {
- num_output: 64
- kernel_size: 1
- stride: 1
- pad: 0
- bias_term: false
- weight_filler {
- type: "msra"
- }
- }
- }
- layer {
- name: "branch4_2_conv3_bn"
- type: "BatchNorm"
- bottom: "branch4_2_conv3"
- top: "branch4_2_conv3"
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- param {
- lr_mult: 0
- decay_mult: 0
- }
- }
- layer {
- name: "branch4_2_conv3_scale"
- bottom: "branch4_2_conv3"
- top: "branch4_2_conv3"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "branch4_2_conv3_relu"
- type: "ReLU"
- bottom: "branch4_2_conv3"
- top: "branch4_2_conv3"
- }
- layer {
- name: "concat4"
- type: "Concat"
- bottom: "branch4_1"
- bottom: "branch4_2_conv3"
- top: "concat4"
- }
- layer {
- name: "shuffle4"
- type: "ShuffleChannel"
- bottom: "concat4"
- top: "shuffle4"
- shuffle_channel_param {
- group: 2
- }
- }
-
- layer {
- name: "age/conv_4_1_pw"
- type: "Convolution"
- bottom: "shuffle4"
- top: "age/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "age/conv_4_1_pw"
- top: "age/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_1_pw"
- type: "Scale"
- bottom: "age/conv_4_1_pw"
- top: "age/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/relu_4_1_pw"
- type: "ReLU"
- bottom: "age/conv_4_1_pw"
- top: "age/conv_4_1_pw"
- }
- layer {
- name: "age/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "age/conv_4_1_pw"
- top: "age/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "age/conv_4_1_dw"
- top: "age/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_1_dw"
- type: "Scale"
- bottom: "age/conv_4_1_dw"
- top: "age/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/relu_4_1_dw"
- type: "ReLU"
- bottom: "age/conv_4_1_dw"
- top: "age/conv_4_1_dw"
- }
- layer {
- name: "age/conv_4_1_linear"
- type: "Convolution"
- bottom: "age/conv_4_1_dw"
- top: "age/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "age/conv_4_1_linear"
- top: "age/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_1_linear"
- type: "Scale"
- bottom: "age/conv_4_1_linear"
- top: "age/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/conv_4_2_pw"
- type: "Convolution"
- bottom: "age/conv_4_1_linear"
- top: "age/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "age/conv_4_2_pw"
- top: "age/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_2_pw"
- type: "Scale"
- bottom: "age/conv_4_2_pw"
- top: "age/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/relu_4_2_pw"
- type: "ReLU"
- bottom: "age/conv_4_2_pw"
- top: "age/conv_4_2_pw"
- }
- layer {
- name: "age/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "age/conv_4_2_pw"
- top: "age/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "age/conv_4_2_dw"
- top: "age/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_2_dw"
- type: "Scale"
- bottom: "age/conv_4_2_dw"
- top: "age/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/relu_4_2_dw"
- type: "ReLU"
- bottom: "age/conv_4_2_dw"
- top: "age/conv_4_2_dw"
- }
- layer {
- name: "age/conv_4_2_linear"
- type: "Convolution"
- bottom: "age/conv_4_2_dw"
- top: "age/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "age/conv_4_2_linear"
- top: "age/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_2_linear"
- type: "Scale"
- bottom: "age/conv_4_2_linear"
- top: "age/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/add_4_2"
- type: "Eltwise"
- bottom: "age/conv_4_1_linear"
- bottom: "age/conv_4_2_linear"
- top: "age/add_4_2"
- }
-
- layer {
- name: "age/ip1"
- type: "InnerProduct"
- bottom: "age/add_4_2"
- top: "age/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 96
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
- layer {
- name: "age/ip2"
- type: "InnerProduct"
- bottom: "age/ip1"
- top: "age/ip2"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
-
- layer {
- name: "emotion/conv_4_1_pw"
- type: "Convolution"
- bottom: "shuffle4"
- top: "emotion/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "emotion/conv_4_1_pw"
- top: "emotion/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_1_pw"
- type: "Scale"
- bottom: "emotion/conv_4_1_pw"
- top: "emotion/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/relu_4_1_pw"
- type: "ReLU"
- bottom: "emotion/conv_4_1_pw"
- top: "emotion/conv_4_1_pw"
- }
- layer {
- name: "emotion/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "emotion/conv_4_1_pw"
- top: "emotion/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "emotion/conv_4_1_dw"
- top: "emotion/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_1_dw"
- type: "Scale"
- bottom: "emotion/conv_4_1_dw"
- top: "emotion/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/relu_4_1_dw"
- type: "ReLU"
- bottom: "emotion/conv_4_1_dw"
- top: "emotion/conv_4_1_dw"
- }
- layer {
- name: "emotion/conv_4_1_linear"
- type: "Convolution"
- bottom: "emotion/conv_4_1_dw"
- top: "emotion/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "emotion/conv_4_1_linear"
- top: "emotion/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_1_linear"
- type: "Scale"
- bottom: "emotion/conv_4_1_linear"
- top: "emotion/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/conv_4_2_pw"
- type: "Convolution"
- bottom: "emotion/conv_4_1_linear"
- top: "emotion/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "emotion/conv_4_2_pw"
- top: "emotion/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_2_pw"
- type: "Scale"
- bottom: "emotion/conv_4_2_pw"
- top: "emotion/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/relu_4_2_pw"
- type: "ReLU"
- bottom: "emotion/conv_4_2_pw"
- top: "emotion/conv_4_2_pw"
- }
- layer {
- name: "emotion/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "emotion/conv_4_2_pw"
- top: "emotion/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "emotion/conv_4_2_dw"
- top: "emotion/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_2_dw"
- type: "Scale"
- bottom: "emotion/conv_4_2_dw"
- top: "emotion/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/relu_4_2_dw"
- type: "ReLU"
- bottom: "emotion/conv_4_2_dw"
- top: "emotion/conv_4_2_dw"
- }
- layer {
- name: "emotion/conv_4_2_linear"
- type: "Convolution"
- bottom: "emotion/conv_4_2_dw"
- top: "emotion/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "emotion/conv_4_2_linear"
- top: "emotion/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_2_linear"
- type: "Scale"
- bottom: "emotion/conv_4_2_linear"
- top: "emotion/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/add_4_2"
- type: "Eltwise"
- bottom: "emotion/conv_4_1_linear"
- bottom: "emotion/conv_4_2_linear"
- top: "emotion/add_4_2"
- }
-
- layer {
- name: "emotion/conv1_"
- type: "Convolution"
- bottom: "emotion/add_4_2"
- top: "emotion/conv1_"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 128
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "emotion/relu1_"
- type: "ReLU"
- bottom: "emotion/conv1_"
- top: "emotion/conv1_"
- }
- layer {
- name: "emotion/pool1_"
- type: "Pooling"
- bottom: "emotion/conv1_"
- top: "emotion/pool1_"
- pooling_param {
- pool: AVE
- kernel_size: 4
- stride: 4
- }
- }
- layer {
- name: "emotion/ip1"
- type: "InnerProduct"
- bottom: "emotion/pool1_"
- top: "emotion/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 3
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
- layer {
- name: "sex/conv_4_1_pw"
- type: "Convolution"
- bottom: "shuffle4"
- top: "sex/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "sex/conv_4_1_pw"
- top: "sex/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_1_pw"
- type: "Scale"
- bottom: "sex/conv_4_1_pw"
- top: "sex/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/relu_4_1_pw"
- type: "ReLU"
- bottom: "sex/conv_4_1_pw"
- top: "sex/conv_4_1_pw"
- }
- layer {
- name: "sex/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "sex/conv_4_1_pw"
- top: "sex/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "sex/conv_4_1_dw"
- top: "sex/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_1_dw"
- type: "Scale"
- bottom: "sex/conv_4_1_dw"
- top: "sex/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/relu_4_1_dw"
- type: "ReLU"
- bottom: "sex/conv_4_1_dw"
- top: "sex/conv_4_1_dw"
- }
- layer {
- name: "sex/conv_4_1_linear"
- type: "Convolution"
- bottom: "sex/conv_4_1_dw"
- top: "sex/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "sex/conv_4_1_linear"
- top: "sex/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_1_linear"
- type: "Scale"
- bottom: "sex/conv_4_1_linear"
- top: "sex/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/conv_4_2_pw"
- type: "Convolution"
- bottom: "sex/conv_4_1_linear"
- top: "sex/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "sex/conv_4_2_pw"
- top: "sex/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_2_pw"
- type: "Scale"
- bottom: "sex/conv_4_2_pw"
- top: "sex/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/relu_4_2_pw"
- type: "ReLU"
- bottom: "sex/conv_4_2_pw"
- top: "sex/conv_4_2_pw"
- }
- layer {
- name: "sex/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "sex/conv_4_2_pw"
- top: "sex/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "sex/conv_4_2_dw"
- top: "sex/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_2_dw"
- type: "Scale"
- bottom: "sex/conv_4_2_dw"
- top: "sex/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/relu_4_2_dw"
- type: "ReLU"
- bottom: "sex/conv_4_2_dw"
- top: "sex/conv_4_2_dw"
- }
- layer {
- name: "sex/conv_4_2_linear"
- type: "Convolution"
- bottom: "sex/conv_4_2_dw"
- top: "sex/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "sex/conv_4_2_linear"
- top: "sex/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_2_linear"
- type: "Scale"
- bottom: "sex/conv_4_2_linear"
- top: "sex/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/add_4_2"
- type: "Eltwise"
- bottom: "sex/conv_4_1_linear"
- bottom: "sex/conv_4_2_linear"
- top: "sex/add_4_2"
- }
-
- layer {
- name: "sex/conv1_"
- type: "Convolution"
- bottom: "sex/add_4_2"
- top: "sex/conv1_"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 128
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "sex/relu1_"
- type: "ReLU"
- bottom: "sex/conv1_"
- top: "sex/conv1_"
- }
- layer {
- name: "sex/pool1_"
- type: "Pooling"
- bottom: "sex/conv1_"
- top: "sex/pool1_"
- pooling_param {
- pool: AVE
- kernel_size: 4
- stride: 4
- }
- }
- layer {
- name: "sex/ip1"
- type: "InnerProduct"
- bottom: "sex/pool1_"
- top: "sex/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 2
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
-
- layer {
- name: "glass/conv_4_1_pw"
- type: "Convolution"
- bottom: "shuffle4"
- top: "glass/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "glass/conv_4_1_pw"
- top: "glass/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_1_pw"
- type: "Scale"
- bottom: "glass/conv_4_1_pw"
- top: "glass/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/relu_4_1_pw"
- type: "ReLU"
- bottom: "glass/conv_4_1_pw"
- top: "glass/conv_4_1_pw"
- }
- layer {
- name: "glass/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "glass/conv_4_1_pw"
- top: "glass/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "glass/conv_4_1_dw"
- top: "glass/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_1_dw"
- type: "Scale"
- bottom: "glass/conv_4_1_dw"
- top: "glass/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/relu_4_1_dw"
- type: "ReLU"
- bottom: "glass/conv_4_1_dw"
- top: "glass/conv_4_1_dw"
- }
- layer {
- name: "glass/conv_4_1_linear"
- type: "Convolution"
- bottom: "glass/conv_4_1_dw"
- top: "glass/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "glass/conv_4_1_linear"
- top: "glass/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_1_linear"
- type: "Scale"
- bottom: "glass/conv_4_1_linear"
- top: "glass/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/conv_4_2_pw"
- type: "Convolution"
- bottom: "glass/conv_4_1_linear"
- top: "glass/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "glass/conv_4_2_pw"
- top: "glass/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_2_pw"
- type: "Scale"
- bottom: "glass/conv_4_2_pw"
- top: "glass/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/relu_4_2_pw"
- type: "ReLU"
- bottom: "glass/conv_4_2_pw"
- top: "glass/conv_4_2_pw"
- }
- layer {
- name: "glass/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "glass/conv_4_2_pw"
- top: "glass/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "glass/conv_4_2_dw"
- top: "glass/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_2_dw"
- type: "Scale"
- bottom: "glass/conv_4_2_dw"
- top: "glass/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/relu_4_2_dw"
- type: "ReLU"
- bottom: "glass/conv_4_2_dw"
- top: "glass/conv_4_2_dw"
- }
- layer {
- name: "glass/conv_4_2_linear"
- type: "Convolution"
- bottom: "glass/conv_4_2_dw"
- top: "glass/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "glass/conv_4_2_linear"
- top: "glass/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_2_linear"
- type: "Scale"
- bottom: "glass/conv_4_2_linear"
- top: "glass/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/add_4_2"
- type: "Eltwise"
- bottom: "glass/conv_4_1_linear"
- bottom: "glass/conv_4_2_linear"
- top: "glass/add_4_2"
- }
-
- layer {
- name: "glass/conv1_"
- type: "Convolution"
- bottom: "glass/add_4_2"
- top: "glass/conv1_"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 128
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "glass/relu1_"
- type: "ReLU"
- bottom: "glass/conv1_"
- top: "glass/conv1_"
- }
- layer {
- name: "glass/pool1_"
- type: "Pooling"
- bottom: "glass/conv1_"
- top: "glass/pool1_"
- pooling_param {
- pool: AVE
- kernel_size: 4
- stride: 4
- }
- }
- layer {
- name: "glass/ip1"
- type: "InnerProduct"
- bottom: "glass/pool1_"
- top: "glass/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 3
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
- layer {
- name: "race/conv_4_1_pw"
- type: "Convolution"
- bottom: "shuffle4"
- top: "race/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "race/conv_4_1_pw"
- top: "race/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_1_pw"
- type: "Scale"
- bottom: "race/conv_4_1_pw"
- top: "race/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/relu_4_1_pw"
- type: "ReLU"
- bottom: "race/conv_4_1_pw"
- top: "race/conv_4_1_pw"
- }
- layer {
- name: "race/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "race/conv_4_1_pw"
- top: "race/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "race/conv_4_1_dw"
- top: "race/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_1_dw"
- type: "Scale"
- bottom: "race/conv_4_1_dw"
- top: "race/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/relu_4_1_dw"
- type: "ReLU"
- bottom: "race/conv_4_1_dw"
- top: "race/conv_4_1_dw"
- }
- layer {
- name: "race/conv_4_1_linear"
- type: "Convolution"
- bottom: "race/conv_4_1_dw"
- top: "race/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "race/conv_4_1_linear"
- top: "race/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_1_linear"
- type: "Scale"
- bottom: "race/conv_4_1_linear"
- top: "race/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/conv_4_2_pw"
- type: "Convolution"
- bottom: "race/conv_4_1_linear"
- top: "race/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "race/conv_4_2_pw"
- top: "race/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_2_pw"
- type: "Scale"
- bottom: "race/conv_4_2_pw"
- top: "race/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/relu_4_2_pw"
- type: "ReLU"
- bottom: "race/conv_4_2_pw"
- top: "race/conv_4_2_pw"
- }
- layer {
- name: "race/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "race/conv_4_2_pw"
- top: "race/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "race/conv_4_2_dw"
- top: "race/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_2_dw"
- type: "Scale"
- bottom: "race/conv_4_2_dw"
- top: "race/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/relu_4_2_dw"
- type: "ReLU"
- bottom: "race/conv_4_2_dw"
- top: "race/conv_4_2_dw"
- }
- layer {
- name: "race/conv_4_2_linear"
- type: "Convolution"
- bottom: "race/conv_4_2_dw"
- top: "race/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "race/conv_4_2_linear"
- top: "race/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_2_linear"
- type: "Scale"
- bottom: "race/conv_4_2_linear"
- top: "race/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/add_4_2"
- type: "Eltwise"
- bottom: "race/conv_4_1_linear"
- bottom: "race/conv_4_2_linear"
- top: "race/add_4_2"
- }
-
- layer {
- name: "race/conv1_"
- type: "Convolution"
- bottom: "race/add_4_2"
- top: "race/conv1_"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 128
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "race/relu1_"
- type: "ReLU"
- bottom: "race/conv1_"
- top: "race/conv1_"
- }
- layer {
- name: "race/pool1_"
- type: "Pooling"
- bottom: "race/conv1_"
- top: "race/pool1_"
- pooling_param {
- pool: AVE
- kernel_size: 4
- stride: 4
- }
- }
- layer {
- name: "race/ip1"
- type: "InnerProduct"
- bottom: "race/pool1_"
- top: "race/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 4
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
-
- layer {
- name: "slice"
- type: "Slice"
- bottom: "label"
- top: "label_age"
- top: "label_emotion"
- top: "label_sex"
- top: "label_glass"
- top: "label_race"
- slice_param {
- axis: 1
- }
- }
-
- layer {
- name: "loss_age"
- type: "AbsoluteLoss"
- bottom: "age/ip2"
- bottom: "label_age"
- top: "loss_age"
- }
- #layer {
- # name: "loss_age"
- # type: "EuclideanLoss"
- # bottom: "age/ip2"
- # bottom: "label_age"
- # top: "loss_age"
- #}
-
-
- layer {
- name: "accuracy_age"
- type: "AbsoluteLoss"
- bottom: "age/ip2"
- bottom: "label_age"
- top: "accuracy_age"
- include {
- phase: TEST
- }
- }
-
-
-
- layer {
- name: "loss_emotion"
- type: "SoftmaxWithLoss"
- bottom: "emotion/ip1"
- bottom: "label_emotion"
- top: "loss_emotion"
- }
-
- layer {
- name: "accuracy_emotion"
- type: "Accuracy"
- bottom: "emotion/ip1"
- bottom: "label_emotion"
- top: "accuracy_emotion"
- include {
- phase: TEST
- }
- }
-
- layer {
- name: "loss_sex"
- type: "SoftmaxWithLoss"
- bottom: "sex/ip1"
- bottom: "label_sex"
- top: "loss_sex"
- }
-
- layer {
- name: "accuracy_sex"
- type: "Accuracy"
- bottom: "sex/ip1"
- bottom: "label_sex"
- top: "accuracy_sex"
- include {
- phase: TEST
- }
- }
-
-
-
- layer {
- name: "loss_glass"
- type: "SoftmaxWithLoss"
- bottom: "glass/ip1"
- bottom: "label_glass"
- top: "loss_glass"
- }
-
- layer {
- name: "accuracy_glass"
- type: "Accuracy"
- bottom: "glass/ip1"
- bottom: "label_glass"
- top: "accuracy_glass"
- include {
- phase: TEST
- }
- }
-
- layer {
- name: "loss_race"
- type: "SoftmaxWithLoss"
- bottom: "race/ip1"
- bottom: "label_race"
- top: "loss_race"
- }
-
- layer {
- name: "accuracy_race"
- type: "Accuracy"
- bottom: "race/ip1"
- bottom: "label_race"
- top: "accuracy_race"
- include {
- phase: TEST
- }
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
mobile_net.prototxt
- name: "FaceAttribution"
- layer {
- name: "data"
- type: "Data"
- top: "data"
- include {
- phase: TRAIN
- }
- transform_param {
- mean_value: 127.5
- mean_value: 127.5
- mean_value: 127.5
- scale: 0.0078125
- }
- data_param {
- source: "D:/face_attribute/lmdb/train_data_npd"
- batch_size: 64
- backend: LMDB
- }
- }
- layer {
- name: "data"
- type: "Data"
- top: "label"
- include {
- phase: TRAIN
- }
- data_param {
- source: "D:/face_attribute/lmdb/train_label_npd"
- batch_size: 64
- backend: LMDB
- }
- }
-
- layer {
- name: "data"
- type: "Data"
- top: "data"
- include {
- phase: TEST
- }
- transform_param {
- mean_value: 127.5
- mean_value: 127.5
- mean_value: 127.5
- scale: 0.0078125
- }
- data_param {
- source: "D:/face_attribute/lmdb/test_data_npd"
- batch_size: 64
- backend: LMDB
- }
- }
- layer {
- name: "data"
- type: "Data"
- top: "label"
- include {
- phase: TEST
- }
- data_param {
- source: "D:/face_attribute/lmdb/test_label_npd"
- batch_size: 64
- backend: LMDB
- }
- }
-
-
- layer {
- name: "conv1"
- type: "Convolution"
- bottom: "data"
- top: "conv1"
- convolution_param {
- num_output: 24
- pad: 1
- kernel_size: 3
- stride: 2
- bias_term: false
- 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"
- bottom: "conv1"
- top: "conv1"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "conv1_relu"
- type: "PReLU"
- bottom: "conv1"
- top: "conv1"
- }
-
-
- layer {
- name: "conv2"
- type: "Convolution"
- bottom: "conv1"
- top: "conv2"
- convolution_param {
- num_output: 48
- pad: 1
- kernel_size: 3
- stride: 2
- bias_term: false
- 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"
- bottom: "conv2"
- top: "conv2"
- type: "Scale"
- scale_param {
- filler {
- value: 1
- }
- bias_term: true
- bias_filler {
- value: 0
- }
- }
- }
- layer {
- name: "conv2_relu"
- type: "PReLU"
- bottom: "conv2"
- top: "conv2"
- }
-
-
-
- layer {
- name: "conv_3_1_pw"
- type: "Convolution"
- bottom: "conv2"
- top: "conv_3_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_3_1_pw"
- type: "BatchNorm"
- bottom: "conv_3_1_pw"
- top: "conv_3_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_3_1_pw"
- type: "Scale"
- bottom: "conv_3_1_pw"
- top: "conv_3_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "relu_3_1_pw"
- type: "PReLU"
- bottom: "conv_3_1_pw"
- top: "conv_3_1_pw"
- }
- layer {
- name: "conv_3_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "conv_3_1_pw"
- top: "conv_3_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_3_1_dw"
- type: "BatchNorm"
- bottom: "conv_3_1_dw"
- top: "conv_3_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_3_1_dw"
- type: "Scale"
- bottom: "conv_3_1_dw"
- top: "conv_3_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "relu_3_1_dw"
- type: "PReLU"
- bottom: "conv_3_1_dw"
- top: "conv_3_1_dw"
- }
- layer {
- name: "conv_3_1_linear"
- type: "Convolution"
- bottom: "conv_3_1_dw"
- top: "conv_3_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 64
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_3_1_linear"
- type: "BatchNorm"
- bottom: "conv_3_1_linear"
- top: "conv_3_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_3_1_linear"
- type: "Scale"
- bottom: "conv_3_1_linear"
- top: "conv_3_1_linear"
- scale_param {
- bias_term: true
- }
- }
-
-
- layer {
- name: "conv_4_1_pw"
- type: "Convolution"
- bottom: "conv_3_1_linear"
- top: "conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_4_1_pw"
- type: "BatchNorm"
- bottom: "conv_4_1_pw"
- top: "conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_4_1_pw"
- type: "Scale"
- bottom: "conv_4_1_pw"
- top: "conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "relu_4_1_pw"
- type: "PReLU"
- bottom: "conv_4_1_pw"
- top: "conv_4_1_pw"
- }
- layer {
- name: "conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "conv_4_1_pw"
- top: "conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_4_1_dw"
- type: "BatchNorm"
- bottom: "conv_4_1_dw"
- top: "conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_4_1_dw"
- type: "Scale"
- bottom: "conv_4_1_dw"
- top: "conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "relu_4_1_dw"
- type: "PReLU"
- bottom: "conv_4_1_dw"
- top: "conv_4_1_dw"
- }
- layer {
- name: "conv_4_1_linear"
- type: "Convolution"
- bottom: "conv_4_1_dw"
- top: "conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 64
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_4_1_linear"
- type: "BatchNorm"
- bottom: "conv_4_1_linear"
- top: "conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_4_1_linear"
- type: "Scale"
- bottom: "conv_4_1_linear"
- top: "conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
-
- layer {
- name: "add_4_1"
- type: "Eltwise"
- bottom: "conv_3_1_linear"
- bottom: "conv_4_1_linear"
- top: "add_4_2"
- }
-
- layer {
- name: "conv_5_1_pw"
- type: "Convolution"
- bottom: "add_4_2"
- top: "conv_5_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_5_1_pw"
- type: "BatchNorm"
- bottom: "conv_5_1_pw"
- top: "conv_5_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_5_1_pw"
- type: "Scale"
- bottom: "conv_5_1_pw"
- top: "conv_5_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "relu_5_1_pw"
- type: "PReLU"
- bottom: "conv_5_1_pw"
- top: "conv_5_1_pw"
- }
- layer {
- name: "conv_5_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "conv_5_1_pw"
- top: "conv_5_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_5_1_dw"
- type: "BatchNorm"
- bottom: "conv_5_1_dw"
- top: "conv_5_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_5_1_dw"
- type: "Scale"
- bottom: "conv_5_1_dw"
- top: "conv_5_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "relu_5_1_dw"
- type: "PReLU"
- bottom: "conv_5_1_dw"
- top: "conv_5_1_dw"
- }
- layer {
- name: "conv_5_1_linear"
- type: "Convolution"
- bottom: "conv_5_1_dw"
- top: "conv_5_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 64
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_5_1_linear"
- type: "BatchNorm"
- bottom: "conv_5_1_linear"
- top: "conv_5_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_5_1_linear"
- type: "Scale"
- bottom: "conv_5_1_linear"
- top: "conv_5_1_linear"
- scale_param {
- bias_term: true
- }
- }
-
- layer {
- name: "add_5_1"
- type: "Eltwise"
- bottom: "add_4_2"
- bottom: "conv_5_1_linear"
- top: "add_5_1"
- }
-
-
- layer {
- name: "conv_6_1_pw"
- type: "Convolution"
- bottom: "add_5_1"
- top: "conv_6_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_6_1_pw"
- type: "BatchNorm"
- bottom: "conv_6_1_pw"
- top: "conv_6_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_6_1_pw"
- type: "Scale"
- bottom: "conv_6_1_pw"
- top: "conv_6_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "relu_6_1_pw"
- type: "PReLU"
- bottom: "conv_6_1_pw"
- top: "conv_6_1_pw"
- }
- layer {
- name: "conv_6_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "conv_6_1_pw"
- top: "conv_6_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_6_1_dw"
- type: "BatchNorm"
- bottom: "conv_6_1_dw"
- top: "conv_6_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_6_1_dw"
- type: "Scale"
- bottom: "conv_6_1_dw"
- top: "conv_6_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "relu_6_1_dw"
- type: "PReLU"
- bottom: "conv_6_1_dw"
- top: "conv_6_1_dw"
- }
- layer {
- name: "conv_6_1_linear"
- type: "Convolution"
- bottom: "conv_6_1_dw"
- top: "conv_6_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 64
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "bn_6_1_linear"
- type: "BatchNorm"
- bottom: "conv_6_1_linear"
- top: "conv_6_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "scale_6_1_linear"
- type: "Scale"
- bottom: "conv_6_1_linear"
- top: "conv_6_1_linear"
- scale_param {
- bias_term: true
- }
- }
-
- layer {
- name: "add_6_1"
- type: "Eltwise"
- bottom: "add_5_1"
- bottom: "conv_6_1_linear"
- top: "add_6_1"
- }
-
-
- layer {
- name: "age/conv_4_1_pw"
- type: "Convolution"
- bottom: "add_6_1"
- top: "age/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "age/conv_4_1_pw"
- top: "age/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_1_pw"
- type: "Scale"
- bottom: "age/conv_4_1_pw"
- top: "age/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/relu_4_1_pw"
- type: "PReLU"
- bottom: "age/conv_4_1_pw"
- top: "age/conv_4_1_pw"
- }
- layer {
- name: "age/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "age/conv_4_1_pw"
- top: "age/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "age/conv_4_1_dw"
- top: "age/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_1_dw"
- type: "Scale"
- bottom: "age/conv_4_1_dw"
- top: "age/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/relu_4_1_dw"
- type: "PReLU"
- bottom: "age/conv_4_1_dw"
- top: "age/conv_4_1_dw"
- }
- layer {
- name: "age/conv_4_1_linear"
- type: "Convolution"
- bottom: "age/conv_4_1_dw"
- top: "age/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "age/conv_4_1_linear"
- top: "age/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_1_linear"
- type: "Scale"
- bottom: "age/conv_4_1_linear"
- top: "age/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/conv_4_2_pw"
- type: "Convolution"
- bottom: "age/conv_4_1_linear"
- top: "age/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "age/conv_4_2_pw"
- top: "age/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_2_pw"
- type: "Scale"
- bottom: "age/conv_4_2_pw"
- top: "age/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/relu_4_2_pw"
- type: "PReLU"
- bottom: "age/conv_4_2_pw"
- top: "age/conv_4_2_pw"
- }
- layer {
- name: "age/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "age/conv_4_2_pw"
- top: "age/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "age/conv_4_2_dw"
- top: "age/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_2_dw"
- type: "Scale"
- bottom: "age/conv_4_2_dw"
- top: "age/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/relu_4_2_dw"
- type: "PReLU"
- bottom: "age/conv_4_2_dw"
- top: "age/conv_4_2_dw"
- }
- layer {
- name: "age/conv_4_2_linear"
- type: "Convolution"
- bottom: "age/conv_4_2_dw"
- top: "age/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "age/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "age/conv_4_2_linear"
- top: "age/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "age/scale_4_2_linear"
- type: "Scale"
- bottom: "age/conv_4_2_linear"
- top: "age/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "age/add_4_2"
- type: "Eltwise"
- bottom: "age/conv_4_1_linear"
- bottom: "age/conv_4_2_linear"
- top: "age/add_4_2"
- }
-
- layer {
- name: "age/ip1"
- type: "InnerProduct"
- bottom: "age/add_4_2"
- top: "age/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 96
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
- layer {
- name: "age/ip2"
- type: "InnerProduct"
- bottom: "age/ip1"
- top: "age/ip2"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
-
- layer {
- name: "emotion/conv_4_1_pw"
- type: "Convolution"
- bottom: "add_6_1"
- top: "emotion/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "emotion/conv_4_1_pw"
- top: "emotion/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_1_pw"
- type: "Scale"
- bottom: "emotion/conv_4_1_pw"
- top: "emotion/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/relu_4_1_pw"
- type: "PReLU"
- bottom: "emotion/conv_4_1_pw"
- top: "emotion/conv_4_1_pw"
- }
- layer {
- name: "emotion/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "emotion/conv_4_1_pw"
- top: "emotion/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "emotion/conv_4_1_dw"
- top: "emotion/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_1_dw"
- type: "Scale"
- bottom: "emotion/conv_4_1_dw"
- top: "emotion/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/relu_4_1_dw"
- type: "PReLU"
- bottom: "emotion/conv_4_1_dw"
- top: "emotion/conv_4_1_dw"
- }
- layer {
- name: "emotion/conv_4_1_linear"
- type: "Convolution"
- bottom: "emotion/conv_4_1_dw"
- top: "emotion/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "emotion/conv_4_1_linear"
- top: "emotion/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_1_linear"
- type: "Scale"
- bottom: "emotion/conv_4_1_linear"
- top: "emotion/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/conv_4_2_pw"
- type: "Convolution"
- bottom: "emotion/conv_4_1_linear"
- top: "emotion/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "emotion/conv_4_2_pw"
- top: "emotion/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_2_pw"
- type: "Scale"
- bottom: "emotion/conv_4_2_pw"
- top: "emotion/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/relu_4_2_pw"
- type: "PReLU"
- bottom: "emotion/conv_4_2_pw"
- top: "emotion/conv_4_2_pw"
- }
- layer {
- name: "emotion/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "emotion/conv_4_2_pw"
- top: "emotion/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "emotion/conv_4_2_dw"
- top: "emotion/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_2_dw"
- type: "Scale"
- bottom: "emotion/conv_4_2_dw"
- top: "emotion/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/relu_4_2_dw"
- type: "PReLU"
- bottom: "emotion/conv_4_2_dw"
- top: "emotion/conv_4_2_dw"
- }
- layer {
- name: "emotion/conv_4_2_linear"
- type: "Convolution"
- bottom: "emotion/conv_4_2_dw"
- top: "emotion/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "emotion/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "emotion/conv_4_2_linear"
- top: "emotion/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "emotion/scale_4_2_linear"
- type: "Scale"
- bottom: "emotion/conv_4_2_linear"
- top: "emotion/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "emotion/add_4_2"
- type: "Eltwise"
- bottom: "emotion/conv_4_1_linear"
- bottom: "emotion/conv_4_2_linear"
- top: "emotion/add_4_2"
- }
-
- layer {
- name: "emotion/conv1_"
- type: "Convolution"
- bottom: "emotion/add_4_2"
- top: "emotion/conv1_"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 128
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "emotion/relu1_"
- type: "PReLU"
- bottom: "emotion/conv1_"
- top: "emotion/conv1_"
- }
- layer {
- name: "emotion/pool1_"
- type: "Pooling"
- bottom: "emotion/conv1_"
- top: "emotion/pool1_"
- pooling_param {
- pool: AVE
- kernel_size: 4
- stride: 4
- }
- }
- layer {
- name: "emotion/ip1"
- type: "InnerProduct"
- bottom: "emotion/pool1_"
- top: "emotion/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 3
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
- layer {
- name: "sex/conv_4_1_pw"
- type: "Convolution"
- bottom: "add_6_1"
- top: "sex/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "sex/conv_4_1_pw"
- top: "sex/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_1_pw"
- type: "Scale"
- bottom: "sex/conv_4_1_pw"
- top: "sex/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/relu_4_1_pw"
- type: "PReLU"
- bottom: "sex/conv_4_1_pw"
- top: "sex/conv_4_1_pw"
- }
- layer {
- name: "sex/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "sex/conv_4_1_pw"
- top: "sex/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "sex/conv_4_1_dw"
- top: "sex/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_1_dw"
- type: "Scale"
- bottom: "sex/conv_4_1_dw"
- top: "sex/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/relu_4_1_dw"
- type: "PReLU"
- bottom: "sex/conv_4_1_dw"
- top: "sex/conv_4_1_dw"
- }
- layer {
- name: "sex/conv_4_1_linear"
- type: "Convolution"
- bottom: "sex/conv_4_1_dw"
- top: "sex/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "sex/conv_4_1_linear"
- top: "sex/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_1_linear"
- type: "Scale"
- bottom: "sex/conv_4_1_linear"
- top: "sex/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/conv_4_2_pw"
- type: "Convolution"
- bottom: "sex/conv_4_1_linear"
- top: "sex/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "sex/conv_4_2_pw"
- top: "sex/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_2_pw"
- type: "Scale"
- bottom: "sex/conv_4_2_pw"
- top: "sex/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/relu_4_2_pw"
- type: "PReLU"
- bottom: "sex/conv_4_2_pw"
- top: "sex/conv_4_2_pw"
- }
- layer {
- name: "sex/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "sex/conv_4_2_pw"
- top: "sex/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "sex/conv_4_2_dw"
- top: "sex/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_2_dw"
- type: "Scale"
- bottom: "sex/conv_4_2_dw"
- top: "sex/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/relu_4_2_dw"
- type: "PReLU"
- bottom: "sex/conv_4_2_dw"
- top: "sex/conv_4_2_dw"
- }
- layer {
- name: "sex/conv_4_2_linear"
- type: "Convolution"
- bottom: "sex/conv_4_2_dw"
- top: "sex/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "sex/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "sex/conv_4_2_linear"
- top: "sex/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "sex/scale_4_2_linear"
- type: "Scale"
- bottom: "sex/conv_4_2_linear"
- top: "sex/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "sex/add_4_2"
- type: "Eltwise"
- bottom: "sex/conv_4_1_linear"
- bottom: "sex/conv_4_2_linear"
- top: "sex/add_4_2"
- }
-
- layer {
- name: "sex/conv1_"
- type: "Convolution"
- bottom: "sex/add_4_2"
- top: "sex/conv1_"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 128
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "sex/relu1_"
- type: "PReLU"
- bottom: "sex/conv1_"
- top: "sex/conv1_"
- }
- layer {
- name: "sex/pool1_"
- type: "Pooling"
- bottom: "sex/conv1_"
- top: "sex/pool1_"
- pooling_param {
- pool: AVE
- kernel_size: 4
- stride: 4
- }
- }
- layer {
- name: "sex/ip1"
- type: "InnerProduct"
- bottom: "sex/pool1_"
- top: "sex/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 2
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
-
- layer {
- name: "glass/conv_4_1_pw"
- type: "Convolution"
- bottom: "add_6_1"
- top: "glass/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "glass/conv_4_1_pw"
- top: "glass/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_1_pw"
- type: "Scale"
- bottom: "glass/conv_4_1_pw"
- top: "glass/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/relu_4_1_pw"
- type: "PReLU"
- bottom: "glass/conv_4_1_pw"
- top: "glass/conv_4_1_pw"
- }
- layer {
- name: "glass/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "glass/conv_4_1_pw"
- top: "glass/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "glass/conv_4_1_dw"
- top: "glass/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_1_dw"
- type: "Scale"
- bottom: "glass/conv_4_1_dw"
- top: "glass/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/relu_4_1_dw"
- type: "PReLU"
- bottom: "glass/conv_4_1_dw"
- top: "glass/conv_4_1_dw"
- }
- layer {
- name: "glass/conv_4_1_linear"
- type: "Convolution"
- bottom: "glass/conv_4_1_dw"
- top: "glass/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "glass/conv_4_1_linear"
- top: "glass/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_1_linear"
- type: "Scale"
- bottom: "glass/conv_4_1_linear"
- top: "glass/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/conv_4_2_pw"
- type: "Convolution"
- bottom: "glass/conv_4_1_linear"
- top: "glass/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "glass/conv_4_2_pw"
- top: "glass/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_2_pw"
- type: "Scale"
- bottom: "glass/conv_4_2_pw"
- top: "glass/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/relu_4_2_pw"
- type: "PReLU"
- bottom: "glass/conv_4_2_pw"
- top: "glass/conv_4_2_pw"
- }
- layer {
- name: "glass/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "glass/conv_4_2_pw"
- top: "glass/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "glass/conv_4_2_dw"
- top: "glass/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_2_dw"
- type: "Scale"
- bottom: "glass/conv_4_2_dw"
- top: "glass/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/relu_4_2_dw"
- type: "PReLU"
- bottom: "glass/conv_4_2_dw"
- top: "glass/conv_4_2_dw"
- }
- layer {
- name: "glass/conv_4_2_linear"
- type: "Convolution"
- bottom: "glass/conv_4_2_dw"
- top: "glass/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "glass/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "glass/conv_4_2_linear"
- top: "glass/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "glass/scale_4_2_linear"
- type: "Scale"
- bottom: "glass/conv_4_2_linear"
- top: "glass/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "glass/add_4_2"
- type: "Eltwise"
- bottom: "glass/conv_4_1_linear"
- bottom: "glass/conv_4_2_linear"
- top: "glass/add_4_2"
- }
-
- layer {
- name: "glass/conv1_"
- type: "Convolution"
- bottom: "glass/add_4_2"
- top: "glass/conv1_"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 128
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "glass/relu1_"
- type: "PReLU"
- bottom: "glass/conv1_"
- top: "glass/conv1_"
- }
- layer {
- name: "glass/pool1_"
- type: "Pooling"
- bottom: "glass/conv1_"
- top: "glass/pool1_"
- pooling_param {
- pool: AVE
- kernel_size: 4
- stride: 4
- }
- }
- layer {
- name: "glass/ip1"
- type: "InnerProduct"
- bottom: "glass/pool1_"
- top: "glass/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 3
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
- layer {
- name: "race/conv_4_1_pw"
- type: "Convolution"
- bottom: "add_6_1"
- top: "race/conv_4_1_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_1_pw"
- type: "BatchNorm"
- bottom: "race/conv_4_1_pw"
- top: "race/conv_4_1_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_1_pw"
- type: "Scale"
- bottom: "race/conv_4_1_pw"
- top: "race/conv_4_1_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/relu_4_1_pw"
- type: "PReLU"
- bottom: "race/conv_4_1_pw"
- top: "race/conv_4_1_pw"
- }
- layer {
- name: "race/conv_4_1_dw"
- type: "ConvolutionDepthwise"
- bottom: "race/conv_4_1_pw"
- top: "race/conv_4_1_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 2
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_1_dw"
- type: "BatchNorm"
- bottom: "race/conv_4_1_dw"
- top: "race/conv_4_1_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_1_dw"
- type: "Scale"
- bottom: "race/conv_4_1_dw"
- top: "race/conv_4_1_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/relu_4_1_dw"
- type: "PReLU"
- bottom: "race/conv_4_1_dw"
- top: "race/conv_4_1_dw"
- }
- layer {
- name: "race/conv_4_1_linear"
- type: "Convolution"
- bottom: "race/conv_4_1_dw"
- top: "race/conv_4_1_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_1_linear"
- type: "BatchNorm"
- bottom: "race/conv_4_1_linear"
- top: "race/conv_4_1_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_1_linear"
- type: "Scale"
- bottom: "race/conv_4_1_linear"
- top: "race/conv_4_1_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/conv_4_2_pw"
- type: "Convolution"
- bottom: "race/conv_4_1_linear"
- top: "race/conv_4_2_pw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_2_pw"
- type: "BatchNorm"
- bottom: "race/conv_4_2_pw"
- top: "race/conv_4_2_pw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_2_pw"
- type: "Scale"
- bottom: "race/conv_4_2_pw"
- top: "race/conv_4_2_pw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/relu_4_2_pw"
- type: "PReLU"
- bottom: "race/conv_4_2_pw"
- top: "race/conv_4_2_pw"
- }
- layer {
- name: "race/conv_4_2_dw"
- type: "ConvolutionDepthwise"
- bottom: "race/conv_4_2_pw"
- top: "race/conv_4_2_dw"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 192
- bias_term: false
- pad: 1
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_2_dw"
- type: "BatchNorm"
- bottom: "race/conv_4_2_dw"
- top: "race/conv_4_2_dw"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_2_dw"
- type: "Scale"
- bottom: "race/conv_4_2_dw"
- top: "race/conv_4_2_dw"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/relu_4_2_dw"
- type: "PReLU"
- bottom: "race/conv_4_2_dw"
- top: "race/conv_4_2_dw"
- }
- layer {
- name: "race/conv_4_2_linear"
- type: "Convolution"
- bottom: "race/conv_4_2_dw"
- top: "race/conv_4_2_linear"
- param {
- lr_mult: 1.0
- decay_mult: 1.0
- }
- convolution_param {
- num_output: 96
- bias_term: false
- pad: 0
- kernel_size: 1
- stride: 1
- weight_filler {
- type: "msra"
- }
- bias_filler {
- type: "constant"
- value: 0.0
- }
- }
- }
- layer {
- name: "race/bn_4_2_linear"
- type: "BatchNorm"
- bottom: "race/conv_4_2_linear"
- top: "race/conv_4_2_linear"
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- param {
- lr_mult: 0.0
- decay_mult: 0.0
- }
- }
- layer {
- name: "race/scale_4_2_linear"
- type: "Scale"
- bottom: "race/conv_4_2_linear"
- top: "race/conv_4_2_linear"
- scale_param {
- bias_term: true
- }
- }
- layer {
- name: "race/add_4_2"
- type: "Eltwise"
- bottom: "race/conv_4_1_linear"
- bottom: "race/conv_4_2_linear"
- top: "race/add_4_2"
- }
-
- layer {
- name: "race/conv1_"
- type: "Convolution"
- bottom: "race/add_4_2"
- top: "race/conv1_"
- param {
- lr_mult: 1
- decay_mult: 1
- }
- param {
- lr_mult: 2
- decay_mult: 0
- }
- convolution_param {
- num_output: 128
- kernel_size: 3
- stride: 1
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- value: 0
- }
- }
- }
- layer {
- name: "race/relu1_"
- type: "PReLU"
- bottom: "race/conv1_"
- top: "race/conv1_"
- }
- layer {
- name: "race/pool1_"
- type: "Pooling"
- bottom: "race/conv1_"
- top: "race/pool1_"
- pooling_param {
- pool: AVE
- kernel_size: 4
- stride: 4
- }
- }
- layer {
- name: "race/ip1"
- type: "InnerProduct"
- bottom: "race/pool1_"
- top: "race/ip1"
- param {
- lr_mult: 1
- }
- param {
- lr_mult: 2
- }
- inner_product_param {
- num_output: 4
- weight_filler {
- type: "xavier"
- }
- bias_filler {
- type: "constant"
- }
- }
- }
-
-
- layer {
- name: "slice"
- type: "Slice"
- bottom: "label"
- top: "label_age"
- top: "label_emotion"
- top: "label_sex"
- top: "label_glass"
- top: "label_race"
- slice_param {
- axis: 1
- }
- }
-
- layer {
- name: "loss_age"
- type: "AbsoluteLoss"
- bottom: "age/ip2"
- bottom: "label_age"
- top: "loss_age"
- loss_weight: 0.1
- }
-
- #layer {
- # name: "loss_age"
- # type: "EuclideanLoss"
- # bottom: "age/ip2"
- # bottom: "label_age"
- # top: "loss_age"
- #}
-
- layer {
- name: "accuracy_age_abs"
- type: "AbsoluteLoss"
- bottom: "age/ip2"
- bottom: "label_age"
- top: "accuracy_age"
- include {
- phase: TEST
- }
- }
-
- #layer {
- # name: "accuracy_age_euc"
- # type: "EuclideanLoss"
- # bottom: "age/ip2"
- # bottom: "label_age"
- # top: "accuracy_age2"
- # include {
- # phase: TEST
- # }
- #}
-
-
- layer {
- name: "loss_emotion"
- type: "FocalLoss"
- bottom: "emotion/ip1"
- bottom: "label_emotion"
- top: "loss_emotion"
- }
-
- layer {
- name: "accuracy_emotion"
- type: "Accuracy"
- bottom: "emotion/ip1"
- bottom: "label_emotion"
- top: "accuracy_emotion"
- include {
- phase: TEST
- }
- }
-
- layer {
- name: "loss_sex"
- type: "FocalLoss"
- bottom: "sex/ip1"
- bottom: "label_sex"
- top: "loss_sex"
- }
-
- layer {
- name: "accuracy_sex"
- type: "Accuracy"
- bottom: "sex/ip1"
- bottom: "label_sex"
- top: "accuracy_sex"
- include {
- phase: TEST
- }
- }
-
-
-
- layer {
- name: "loss_glass"
- type: "FocalLoss"
- bottom: "glass/ip1"
- bottom: "label_glass"
- top: "loss_glass"
- }
-
- layer {
- name: "accuracy_glass"
- type: "Accuracy"
- bottom: "glass/ip1"
- bottom: "label_glass"
- top: "accuracy_glass"
- include {
- phase: TEST
- }
- }
-
- layer {
- name: "loss_race"
- type: "FocalLoss"
- bottom: "race/ip1"
- bottom: "label_race"
- top: "loss_race"
- }
-
- layer {
- name: "accuracy_race"
- type: "Accuracy"
- bottom: "race/ip1"
- bottom: "label_race"
- top: "accuracy_race"
- include {
- phase: TEST
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。