input: "data" input_dim: 1 input_dim: 3 input_dim: 80 input_dim: 80 layer { name: "conv1" type: "Convolution" bottom: "data" top: "conv1" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 pad: 2 kernel_size: 5 group: 1 stride: 2 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "conv1_bn" type: "BatchNorm" bottom: "conv1" top: "conv1_bn" batch_norm_param { } } layer { name: "relu1" type: "ReLU" bottom: "conv1_bn" top: "conv1_bn" } layer { name: "pool1" type: "Pooling" bottom: "conv1_bn" top: "pool1" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "conv2_a" type: "Convolution" bottom: "pool1" top: "conv2_a" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "conv2_a_bn" type: "BatchNorm" bottom: "conv2_a" top: "conv2_a_bn" batch_norm_param { } } layer { name: "relu2_a" type: "ReLU" bottom: "conv2_a_bn" top: "conv2_a_bn" } layer { name: "conv2" type: "Convolution" bottom: "conv2_a_bn" top: "conv2" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "conv2_bn" type: "BatchNorm" bottom: "conv2" top: "conv2_bn" batch_norm_param { } } layer { name: "relu2" type: "ReLU" bottom: "conv2_bn" top: "conv2_bn" } layer { name: "pool3" type: "Pooling" bottom: "conv2_bn" top: "pool3" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "conv4_a" type: "Convolution" bottom: "pool3" top: "conv4_a" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 64 pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "conv4_a_bn" type: "BatchNorm" bottom: "conv4_a" top: "conv4_a_bn" batch_norm_param { } } layer { name: "relu4_a" type: "ReLU" bottom: "conv4_a_bn" top: "conv4_a_bn" } layer { name: "conv4" type: "Convolution" bottom: "conv4_a_bn" top: "conv4" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 64 pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "conv4_bn" type: "BatchNorm" bottom: "conv4" top: "conv4_bn" batch_norm_param { } } layer { name: "relu4" type: "ReLU" bottom: "conv4_bn" top: "conv4_bn" } layer { name: "pool6" type: "Pooling" bottom: "conv4_bn" top: "pool6" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "fc1" type: "InnerProduct" bottom: "pool6" top: "fc1" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 256 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "fc1_bn" type: "BatchNorm" bottom: "fc1" top: "fc1_bn" batch_norm_param { } } layer { name: "relu_fc1" type: "ReLU" bottom: "fc1_bn" top: "fc1_bn" } layer { name: "fc2" type: "InnerProduct" bottom: "fc1_bn" top: "fc2" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 128 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "fc2_bn" type: "BatchNorm" bottom: "fc2" top: "fc2_bn" batch_norm_param { } } layer { name: "relu_fc2" type: "ReLU" bottom: "fc2_bn" top: "fc2_bn" } layer { name: "fc_pose_umd" type: "InnerProduct" bottom: "fc2_bn" top: "fc_pose_umd" inner_product_param { num_output: 3 } }