| name: "ResNet-18" |
| layer { |
| name: "data" |
| type: "HDF5Data" |
| top: "data" |
| top: "label" |
| include { |
| phase: TRAIN |
| } |
| hdf5_data_param { |
| source: "/root/code/tools/ATool/output/road_following_hdf5/train_h5.txt" |
| batch_size: 128 |
| } |
| transform_param { |
| mirror: false |
| contrast_brightness_adjustment: true |
| max_rotation_angle: 0 |
| min_contrast: 0.8 |
| max_contrast: 1.2 |
| max_smooth: 6 |
| apply_probability: 0.5 |
| max_color_shift: 20 |
| mean_value: 104 |
| mean_value: 117 |
| mean_value: 123 |
| debug_params: false |
| } |
| } |
| layer { |
| name: "data" |
| type: "HDF5Data" |
| top: "data" |
| top: "label" |
| include { |
| phase: TEST |
| } |
| hdf5_data_param { |
| source: "/root/code/tools/ATool/output/road_following_hdf5/test_h5.txt" |
| batch_size: 50 |
| } |
| } |
|
|
| layer { |
| bottom: "data" |
| top: "conv1" |
| name: "conv1" |
| type: "Convolution" |
| convolution_param { |
| num_output: 64 |
| kernel_size: 7 |
| pad: 3 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "conv1" |
| top: "conv1" |
| name: "bn_conv1" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
| } |
|
|
| layer { |
| bottom: "conv1" |
| top: "conv1" |
| name: "scale_conv1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "conv1" |
| top: "conv1" |
| name: "conv1_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "conv1" |
| top: "pool1" |
| name: "pool1" |
| type: "Pooling" |
| pooling_param { |
| kernel_size: 3 |
| stride: 2 |
| pool: MAX |
| } |
| } |
|
|
| layer { |
| bottom: "pool1" |
| top: "res2a_branch1" |
| name: "res2a_branch1" |
| type: "Convolution" |
| convolution_param { |
| num_output: 64 |
| kernel_size: 1 |
| pad: 0 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch1" |
| top: "res2a_branch1" |
| name: "bn2a_branch1" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res2a_branch1" |
| top: "res2a_branch1" |
| name: "scale2a_branch1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "pool1" |
| top: "res2a_branch2a" |
| name: "res2a_branch2a" |
| type: "Convolution" |
| convolution_param { |
| num_output: 64 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch2a" |
| top: "res2a_branch2a" |
| name: "bn2a_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res2a_branch2a" |
| top: "res2a_branch2a" |
| name: "scale2a_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch2a" |
| top: "res2a_branch2a" |
| name: "res2a_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res2a_branch2a" |
| top: "res2a_branch2b" |
| name: "res2a_branch2b" |
| type: "Convolution" |
| convolution_param { |
| num_output: 64 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch2b" |
| top: "res2a_branch2b" |
| name: "bn2a_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res2a_branch2b" |
| top: "res2a_branch2b" |
| name: "scale2a_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch1" |
| bottom: "res2a_branch2b" |
| top: "res2a" |
| name: "res2a" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res2a" |
| top: "res2a" |
| name: "res2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res2a" |
| top: "res2b_branch2a" |
| name: "res2b_branch2a" |
| type: "Convolution" |
| convolution_param { |
| num_output: 64 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2b_branch2a" |
| top: "res2b_branch2a" |
| name: "bn2b_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res2b_branch2a" |
| top: "res2b_branch2a" |
| name: "scale2b_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2b_branch2a" |
| top: "res2b_branch2a" |
| name: "res2b_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res2b_branch2a" |
| top: "res2b_branch2b" |
| name: "res2b_branch2b" |
| type: "Convolution" |
| convolution_param { |
| num_output: 64 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2b_branch2b" |
| top: "res2b_branch2b" |
| name: "bn2b_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res2b_branch2b" |
| top: "res2b_branch2b" |
| name: "scale2b_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2a" |
| bottom: "res2b_branch2b" |
| top: "res2b" |
| name: "res2b" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res2b" |
| top: "res2b" |
| name: "res2b_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res2b" |
| top: "res3a_branch1" |
| name: "res3a_branch1" |
| type: "Convolution" |
| convolution_param { |
| num_output: 128 |
| kernel_size: 1 |
| pad: 0 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch1" |
| top: "res3a_branch1" |
| name: "bn3a_branch1" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res3a_branch1" |
| top: "res3a_branch1" |
| name: "scale3a_branch1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2b" |
| top: "res3a_branch2a" |
| name: "res3a_branch2a" |
| type: "Convolution" |
| convolution_param { |
| num_output: 128 |
| kernel_size: 3 |
| pad: 1 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch2a" |
| top: "res3a_branch2a" |
| name: "bn3a_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res3a_branch2a" |
| top: "res3a_branch2a" |
| name: "scale3a_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch2a" |
| top: "res3a_branch2a" |
| name: "res3a_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res3a_branch2a" |
| top: "res3a_branch2b" |
| name: "res3a_branch2b" |
| type: "Convolution" |
| convolution_param { |
| num_output: 128 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch2b" |
| top: "res3a_branch2b" |
| name: "bn3a_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res3a_branch2b" |
| top: "res3a_branch2b" |
| name: "scale3a_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch1" |
| bottom: "res3a_branch2b" |
| top: "res3a" |
| name: "res3a" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res3a" |
| top: "res3a" |
| name: "res3a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res3a" |
| top: "res3b_branch2a" |
| name: "res3b_branch2a" |
| type: "Convolution" |
| convolution_param { |
| num_output: 128 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3b_branch2a" |
| top: "res3b_branch2a" |
| name: "bn3b_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res3b_branch2a" |
| top: "res3b_branch2a" |
| name: "scale3b_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3b_branch2a" |
| top: "res3b_branch2a" |
| name: "res3b_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res3b_branch2a" |
| top: "res3b_branch2b" |
| name: "res3b_branch2b" |
| type: "Convolution" |
| convolution_param { |
| num_output: 128 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3b_branch2b" |
| top: "res3b_branch2b" |
| name: "bn3b_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res3b_branch2b" |
| top: "res3b_branch2b" |
| name: "scale3b_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3a" |
| bottom: "res3b_branch2b" |
| top: "res3b" |
| name: "res3b" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res3b" |
| top: "res3b" |
| name: "res3b_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res3b" |
| top: "res4a_branch1" |
| name: "res4a_branch1" |
| type: "Convolution" |
| convolution_param { |
| num_output: 256 |
| kernel_size: 1 |
| pad: 0 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch1" |
| top: "res4a_branch1" |
| name: "bn4a_branch1" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res4a_branch1" |
| top: "res4a_branch1" |
| name: "scale4a_branch1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3b" |
| top: "res4a_branch2a" |
| name: "res4a_branch2a" |
| type: "Convolution" |
| convolution_param { |
| num_output: 256 |
| kernel_size: 3 |
| pad: 1 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch2a" |
| top: "res4a_branch2a" |
| name: "bn4a_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res4a_branch2a" |
| top: "res4a_branch2a" |
| name: "scale4a_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch2a" |
| top: "res4a_branch2a" |
| name: "res4a_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res4a_branch2a" |
| top: "res4a_branch2b" |
| name: "res4a_branch2b" |
| type: "Convolution" |
| convolution_param { |
| num_output: 256 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch2b" |
| top: "res4a_branch2b" |
| name: "bn4a_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res4a_branch2b" |
| top: "res4a_branch2b" |
| name: "scale4a_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch1" |
| bottom: "res4a_branch2b" |
| top: "res4a" |
| name: "res4a" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res4a" |
| top: "res4a" |
| name: "res4a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res4a" |
| top: "res4b_branch2a" |
| name: "res4b_branch2a" |
| type: "Convolution" |
| convolution_param { |
| num_output: 256 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4b_branch2a" |
| top: "res4b_branch2a" |
| name: "bn4b_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res4b_branch2a" |
| top: "res4b_branch2a" |
| name: "scale4b_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4b_branch2a" |
| top: "res4b_branch2a" |
| name: "res4b_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res4b_branch2a" |
| top: "res4b_branch2b" |
| name: "res4b_branch2b" |
| type: "Convolution" |
| convolution_param { |
| num_output: 256 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4b_branch2b" |
| top: "res4b_branch2b" |
| name: "bn4b_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res4b_branch2b" |
| top: "res4b_branch2b" |
| name: "scale4b_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4a" |
| bottom: "res4b_branch2b" |
| top: "res4b" |
| name: "res4b" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res4b" |
| top: "res4b" |
| name: "res4b_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res4b" |
| top: "res5a_branch1" |
| name: "res5a_branch1" |
| type: "Convolution" |
| convolution_param { |
| num_output: 512 |
| kernel_size: 1 |
| pad: 0 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch1" |
| top: "res5a_branch1" |
| name: "bn5a_branch1" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res5a_branch1" |
| top: "res5a_branch1" |
| name: "scale5a_branch1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4b" |
| top: "res5a_branch2a" |
| name: "res5a_branch2a" |
| type: "Convolution" |
| convolution_param { |
| num_output: 512 |
| kernel_size: 3 |
| pad: 1 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch2a" |
| top: "res5a_branch2a" |
| name: "bn5a_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res5a_branch2a" |
| top: "res5a_branch2a" |
| name: "scale5a_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch2a" |
| top: "res5a_branch2a" |
| name: "res5a_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res5a_branch2a" |
| top: "res5a_branch2b" |
| name: "res5a_branch2b" |
| type: "Convolution" |
| convolution_param { |
| num_output: 512 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch2b" |
| top: "res5a_branch2b" |
| name: "bn5a_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res5a_branch2b" |
| top: "res5a_branch2b" |
| name: "scale5a_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch1" |
| bottom: "res5a_branch2b" |
| top: "res5a" |
| name: "res5a" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res5a" |
| top: "res5a" |
| name: "res5a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res5a" |
| top: "res5b_branch2a" |
| name: "res5b_branch2a" |
| type: "Convolution" |
| convolution_param { |
| num_output: 512 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5b_branch2a" |
| top: "res5b_branch2a" |
| name: "bn5b_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res5b_branch2a" |
| top: "res5b_branch2a" |
| name: "scale5b_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res5b_branch2a" |
| top: "res5b_branch2a" |
| name: "res5b_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res5b_branch2a" |
| top: "res5b_branch2b" |
| name: "res5b_branch2b" |
| type: "Convolution" |
| convolution_param { |
| num_output: 512 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5b_branch2b" |
| top: "res5b_branch2b" |
| name: "bn5b_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| moving_average_fraction: 0.9 |
| } |
|
|
| } |
|
|
| layer { |
| bottom: "res5b_branch2b" |
| top: "res5b_branch2b" |
| name: "scale5b_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res5a" |
| bottom: "res5b_branch2b" |
| top: "res5b" |
| name: "res5b" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res5b" |
| top: "res5b" |
| name: "res5b_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res5b" |
| top: "pool5" |
| name: "pool5" |
| type: "Pooling" |
| pooling_param { |
| kernel_size: 7 |
| stride: 1 |
| pool: AVE |
| } |
| } |
|
|
| layer { |
| bottom: "pool5" |
| top: "fc2" |
| name: "fc2" |
| type: "InnerProduct" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 1 |
| } |
| inner_product_param { |
| num_output: 2 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
|
|
| layer { |
| bottom: "fc2" |
| bottom: "label" |
| name: "loss" |
| type: "EuclideanLoss" |
| top: "loss" |
|
|
| include { |
| phase: TRAIN |
| } |
| } |
|
|
| layer { |
| bottom: "fc2" |
| bottom: "label" |
| name: "loss" |
| type: "EuclideanLoss" |
| top: "loss" |
|
|
| include { |
| phase: TEST |
| } |
| } |
|
|