name: "0003_EmoNet_ResNet10" layer { name: "data" type: "Input" top: "data" input_param { shape { dim: 1 dim: 3 dim: 64 dim: 64 } } } layer { name: "BatchNorm1" type: "BatchNorm" bottom: "data" top: "data" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale1" type: "Scale" bottom: "data" top: "data" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "Convolution1" type: "Convolution" bottom: "data" top: "Convolution1" param { name: "Convolution1_w" lr_mult: 1.0 } param { name: "Convolution1_b" lr_mult: 2.0 } convolution_param { num_output: 64 kernel_size: 7 stride: 2 pad: 3 weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "BatchNorm2" type: "BatchNorm" bottom: "Convolution1" top: "Convolution1" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale2" type: "Scale" bottom: "Convolution1" top: "Convolution1" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "ReLU1" type: "ReLU" bottom: "Convolution1" top: "Convolution1" } layer { name: "Dropout_ReLU1" type: "Dropout" bottom: "Convolution1" top: "Dropout_ReLU1" dropout_param { dropout_ratio: 0.25 } } layer { name: "Pooling1" type: "Pooling" bottom: "Dropout_ReLU1" top: "Pooling1" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "Convolution2" type: "Convolution" bottom: "Pooling1" top: "Convolution2" param { name: "Convolution2_w" lr_mult: 1.0 } convolution_param { num_output: 64 kernel_size: 3 stride: 1 pad: 1 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "BatchNorm3" type: "BatchNorm" bottom: "Convolution2" top: "Convolution2" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale3" type: "Scale" bottom: "Convolution2" top: "Convolution2" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "ReLU2" type: "ReLU" bottom: "Convolution2" top: "Convolution2" } layer { name: "Convolution3" type: "Convolution" bottom: "Convolution2" top: "Convolution3" param { name: "Convolution3_w" lr_mult: 1.0 } convolution_param { num_output: 64 kernel_size: 3 stride: 1 pad: 1 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "Eltwise1" type: "Eltwise" bottom: "Convolution3" bottom: "Pooling1" top: "Eltwise1" eltwise_param { operation: SUM } } layer { name: "BatchNorm4" type: "BatchNorm" bottom: "Eltwise1" top: "Eltwise1" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale4" type: "Scale" bottom: "Eltwise1" top: "Eltwise1" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "ReLU3" type: "ReLU" bottom: "Eltwise1" top: "Eltwise1" } layer { name: "Dropout_ReLU3" type: "Dropout" bottom: "Eltwise1" top: "Dropout_ReLU3" dropout_param { dropout_ratio: 0.25 } } layer { name: "Convolution4" type: "Convolution" bottom: "Dropout_ReLU3" top: "Convolution4" param { name: "Convolution4_w" lr_mult: 1.0 } convolution_param { num_output: 128 kernel_size: 3 stride: 2 pad: 1 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "BatchNorm5" type: "BatchNorm" bottom: "Convolution4" top: "Convolution4" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale5" type: "Scale" bottom: "Convolution4" top: "Convolution4" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "ReLU4" type: "ReLU" bottom: "Convolution4" top: "Convolution4" } layer { name: "Convolution5" type: "Convolution" bottom: "Convolution4" top: "Convolution5" param { name: "Convolution5_w" lr_mult: 1.0 } convolution_param { num_output: 128 kernel_size: 3 stride: 1 pad: 1 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "Convolution6" type: "Convolution" bottom: "Dropout_ReLU3" top: "Convolution6" param { name: "Convolution6_w" lr_mult: 1.0 } convolution_param { num_output: 128 kernel_size: 1 stride: 2 pad: 0 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "Eltwise2" type: "Eltwise" bottom: "Convolution5" bottom: "Convolution6" top: "Eltwise2" eltwise_param { operation: SUM } } layer { name: "BatchNorm6" type: "BatchNorm" bottom: "Eltwise2" top: "Eltwise2" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale6" type: "Scale" bottom: "Eltwise2" top: "Eltwise2" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "ReLU5" type: "ReLU" bottom: "Eltwise2" top: "Eltwise2" } layer { name: "Dropout_ReLU5" type: "Dropout" bottom: "Eltwise2" top: "Dropout_ReLU5" dropout_param { dropout_ratio: 0.25 } } layer { name: "Convolution7" type: "Convolution" bottom: "Dropout_ReLU5" top: "Convolution7" param { name: "Convolution7_w" lr_mult: 1.0 } convolution_param { num_output: 256 kernel_size: 3 stride: 2 pad: 1 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "BatchNorm7" type: "BatchNorm" bottom: "Convolution7" top: "Convolution7" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale7" type: "Scale" bottom: "Convolution7" top: "Convolution7" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "ReLU6" type: "ReLU" bottom: "Convolution7" top: "Convolution7" } layer { name: "Convolution8" type: "Convolution" bottom: "Convolution7" top: "Convolution8" param { name: "Convolution8_w" lr_mult: 1.0 } convolution_param { num_output: 256 kernel_size: 3 stride: 1 pad: 1 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "Convolution9" type: "Convolution" bottom: "Dropout_ReLU5" top: "Convolution9" param { name: "Convolution9_w" lr_mult: 1.0 } convolution_param { num_output: 256 kernel_size: 1 stride: 2 pad: 0 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "Eltwise3" type: "Eltwise" bottom: "Convolution8" bottom: "Convolution9" top: "Eltwise3" eltwise_param { operation: SUM } } layer { name: "BatchNorm8" type: "BatchNorm" bottom: "Eltwise3" top: "Eltwise3" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale8" type: "Scale" bottom: "Eltwise3" top: "Eltwise3" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "ReLU7" type: "ReLU" bottom: "Eltwise3" top: "Eltwise3" } layer { name: "Dropout_ReLU7" type: "Dropout" bottom: "Eltwise3" top: "Dropout_ReLU7" dropout_param { dropout_ratio: 0.25 } } layer { name: "Convolution10" type: "Convolution" bottom: "Dropout_ReLU7" top: "Convolution10" param { name: "Convolution10_w" lr_mult: 1.0 } convolution_param { num_output: 256 kernel_size: 3 stride: 2 pad: 1 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "BatchNorm9" type: "BatchNorm" bottom: "Convolution10" top: "Convolution10" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale9" type: "Scale" bottom: "Convolution10" top: "Convolution10" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "ReLU8" type: "ReLU" bottom: "Convolution10" top: "Convolution10" } layer { name: "Convolution11" type: "Convolution" bottom: "Convolution10" top: "Convolution11" param { name: "Convolution11_w" lr_mult: 1.0 } convolution_param { num_output: 256 kernel_size: 3 stride: 1 pad: 1 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "Convolution12" type: "Convolution" bottom: "Dropout_ReLU7" top: "Convolution12" param { name: "Convolution12_w" lr_mult: 1.0 } convolution_param { num_output: 256 kernel_size: 1 stride: 2 pad: 0 bias_term: false weight_filler { type: "msra" variance_norm: AVERAGE } } } layer { name: "Eltwise4" type: "Eltwise" bottom: "Convolution11" bottom: "Convolution12" top: "Eltwise4" eltwise_param { operation: SUM } } layer { name: "BatchNorm10" type: "BatchNorm" bottom: "Eltwise4" top: "Eltwise4" batch_norm_param { #use_global_stats: true moving_average_fraction: 0.9 } } layer { name: "Scale10" type: "Scale" bottom: "Eltwise4" top: "Eltwise4" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 1.0 } scale_param { bias_term: true } } layer { name: "ReLU9" type: "ReLU" bottom: "Eltwise4" top: "Eltwise4" } layer { name: "Dropout_ReLU9" type: "Dropout" bottom: "Eltwise4" top: "Dropout_ReLU9" dropout_param { dropout_ratio: 0.25 } } layer { name: "emotion5_conv1" type: "Convolution" bottom: "Dropout_ReLU9" top: "emotion5_conv" param { lr_mult: 1.0 decay_mult: 1.0 } param { lr_mult: 2.0 decay_mult: 0.0 } convolution_param { num_output: 5 kernel_size: 2 weight_filler { type: "msra" } bias_filler { type: "constant" value: 0.0 } } } layer { bottom: "emotion5_conv" top: "prob_emotion" name: "prob_emotion" type: "Softmax" }