name: "MPIIGaze" layer { name: "MPII_train" type: "HDF5Data" top: "data" top: "label" hdf5_data_param { source: "examples/mymodel/03/train_list.txt" batch_size: 1000 } include: { phase: TRAIN } } layer { name: "MPII_test" type: "HDF5Data" top: "data" top: "label" hdf5_data_param { source: "examples/mymodel/03/test_list.txt" batch_size: 1000 } include: { phase: TEST } } layer { name: "cutLabel" type: "Slice" bottom: "label" top: "gaze" top: "headpose" slice_param { slice_dim: 1 slice_point: 3 } } layer { name: "conv1" type: "Convolution" bottom: "data" top: "conv1" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 20 kernel_size: 5 stride: 1 weight_filler { type: "gaussian" std: 0.1 } bias_filler { type: "constant" } } } layer { name: "pool1" type: "Pooling" bottom: "conv1" top: "pool1" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "conv2" type: "Convolution" bottom: "pool1" top: "conv2" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 40 kernel_size: 3 stride: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" } } } layer { name: "pool2" type: "Pooling" bottom: "conv2" top: "pool2" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "conv3" type: "Convolution" bottom: "pool2" top: "conv3" param { lr_mult: 1 } param { lr_mult: 2 } convolution_param { num_output: 60 kernel_size: 4 stride: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" } } } layer { name: "pool3" type: "Pooling" bottom: "conv3" top: "pool3" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "flatdata" type: "Flatten" bottom: "pool3" top: "flatdata" } layer { name: "concat_headpose_eyeappearance" type: "Concat" bottom: "flatdata" bottom: "headpose" top: "cat" } layer { name: "ip1" type: "InnerProduct" bottom: "cat" top: "ip1" param { lr_mult: 1 } param { lr_mult: 2 } inner_product_param { num_output: 300 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "relu1" type: "ReLU" bottom: "ip1" top: "ip1" } layer { name: "ip2" type: "InnerProduct" bottom: "ip1" top: "ip2" param { lr_mult: 1 } param { lr_mult: 2 } inner_product_param { num_output: 3 weight_filler { type: "xavier" } bias_filler { type: "constant" } } } layer { name: "loss" type: "EuclideanLoss" bottom: "ip2" bottom: "gaze" top: "loss" }