| @@ -0,0 +1,17 @@ | |||||
| net: "train_val.prototxt" | |||||
| base_lr: 0.001 | |||||
| lr_policy: "step" | |||||
| stepsize: 10000 | |||||
| gamma: 0.100000 | |||||
| max_iter: 15000 | |||||
| iter_size: 1 | |||||
| clip_gradients: 10.000000 | |||||
| test_iter: 1 | |||||
| test_interval: 300000 | |||||
| snapshot: 50 | |||||
| momentum: 0.900000 | |||||
| weight_decay: 0.0005 | |||||
| display: 100 | |||||
| solver_mode: GPU | |||||
| test_initialization: false | |||||
| snapshot_prefix: "snapshots/snapshot" | |||||
| @@ -11,7 +11,6 @@ import matplotlib.pyplot as plt | |||||
| import caffe | import caffe | ||||
| import cv2 | import cv2 | ||||
| import random | import random | ||||
| import scipy.ndimage as nd | |||||
| @@ -285,7 +284,7 @@ def get_args(): | |||||
| parser.add_argument("--debug-dir", default='debug', type=str, | parser.add_argument("--debug-dir", default='debug', type=str, | ||||
| help="Dump images for debugging") | help="Dump images for debugging") | ||||
| parser.add_argument("--print-count", default=10, type=int, | parser.add_argument("--print-count", default=10, type=int, | ||||
| help="Dump images for debugging") | |||||
| help="How often to print progress") | |||||
| args = parser.parse_args() | args = parser.parse_args() | ||||
| print args | print args | ||||
| @@ -0,0 +1,845 @@ | |||||
| input: "data" | |||||
| input_dim: 1 | |||||
| # change to input_dim: 1 if not using color inputs | |||||
| input_dim: 3 | |||||
| input_dim: 256 | |||||
| input_dim: 256 | |||||
| input: "gt" | |||||
| input_dim: 1 | |||||
| input_dim: 1 | |||||
| input_dim: 256 | |||||
| input_dim: 256 | |||||
| layer { | |||||
| name: "Convolution1" | |||||
| type: "Convolution" | |||||
| bottom: "data" | |||||
| top: "Convolution1" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_0_0" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution1" | |||||
| top: "Convolution1" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution2" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution1" | |||||
| top: "Convolution2" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_0_1" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution2" | |||||
| top: "Convolution2" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution3" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution2" | |||||
| top: "Convolution3" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_0_2" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution3" | |||||
| top: "Convolution3" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution4" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution3" | |||||
| top: "Convolution4" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_0_3" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution4" | |||||
| top: "Convolution4" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution5" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution4" | |||||
| top: "Convolution5" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_0_4" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution5" | |||||
| top: "Convolution5" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution6" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution5" | |||||
| top: "Convolution6" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_0_5" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution6" | |||||
| top: "Convolution6" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution7" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution6" | |||||
| top: "Convolution7" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_0_6" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution7" | |||||
| top: "Convolution7" | |||||
| } | |||||
| layer { | |||||
| name: "Pooling1" | |||||
| type: "Pooling" | |||||
| bottom: "Convolution1" | |||||
| top: "Pooling1" | |||||
| pooling_param { | |||||
| pool: AVE | |||||
| kernel_size: 2 | |||||
| stride: 2 | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "Convolution8" | |||||
| type: "Convolution" | |||||
| bottom: "Pooling1" | |||||
| top: "Convolution8" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_1_0" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution8" | |||||
| top: "Convolution8" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution9" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution8" | |||||
| top: "Convolution9" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_1_1" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution9" | |||||
| top: "Convolution9" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution10" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution9" | |||||
| top: "Convolution10" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_1_2" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution10" | |||||
| top: "Convolution10" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution11" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution10" | |||||
| top: "Convolution11" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_1_3" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution11" | |||||
| top: "Convolution11" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution12" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution11" | |||||
| top: "Convolution12" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_1_4" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution12" | |||||
| top: "Convolution12" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution13" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution12" | |||||
| top: "Convolution13" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_1_5" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution13" | |||||
| top: "Convolution13" | |||||
| } | |||||
| layer { | |||||
| name: "Pooling2" | |||||
| type: "Pooling" | |||||
| bottom: "Convolution8" | |||||
| top: "Pooling2" | |||||
| pooling_param { | |||||
| pool: AVE | |||||
| kernel_size: 2 | |||||
| stride: 2 | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "Convolution14" | |||||
| type: "Convolution" | |||||
| bottom: "Pooling2" | |||||
| top: "Convolution14" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_2_0" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution14" | |||||
| top: "Convolution14" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution15" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution14" | |||||
| top: "Convolution15" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_2_1" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution15" | |||||
| top: "Convolution15" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution16" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution15" | |||||
| top: "Convolution16" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_2_2" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution16" | |||||
| top: "Convolution16" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution17" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution16" | |||||
| top: "Convolution17" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_2_3" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution17" | |||||
| top: "Convolution17" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution18" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution17" | |||||
| top: "Convolution18" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_2_4" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution18" | |||||
| top: "Convolution18" | |||||
| } | |||||
| layer { | |||||
| name: "Pooling3" | |||||
| type: "Pooling" | |||||
| bottom: "Convolution14" | |||||
| top: "Pooling3" | |||||
| pooling_param { | |||||
| pool: AVE | |||||
| kernel_size: 2 | |||||
| stride: 2 | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "Convolution19" | |||||
| type: "Convolution" | |||||
| bottom: "Pooling3" | |||||
| top: "Convolution19" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_3_0" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution19" | |||||
| top: "Convolution19" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution20" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution19" | |||||
| top: "Convolution20" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_3_1" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution20" | |||||
| top: "Convolution20" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution21" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution20" | |||||
| top: "Convolution21" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_3_2" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution21" | |||||
| top: "Convolution21" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution22" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution21" | |||||
| top: "Convolution22" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "conv_3_3" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution22" | |||||
| top: "Convolution22" | |||||
| } | |||||
| layer { | |||||
| name: "upsample_1" | |||||
| type: "Deconvolution" | |||||
| bottom: "Convolution13" | |||||
| top: "upsample_1" | |||||
| param { | |||||
| lr_mult: 0 | |||||
| decay_mult: 0 | |||||
| } | |||||
| convolution_param { | |||||
| kernel_size: 4 | |||||
| num_output: 32 | |||||
| group: 32 | |||||
| stride: 2 | |||||
| pad: 1 | |||||
| weight_filler: { type: 'bilinear' } | |||||
| bias_term: false | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "upsample_2" | |||||
| type: "Deconvolution" | |||||
| bottom: "Convolution18" | |||||
| top: "upsample_2" | |||||
| param { | |||||
| lr_mult: 0 | |||||
| decay_mult: 0 | |||||
| } | |||||
| convolution_param { | |||||
| kernel_size: 8 | |||||
| num_output: 32 | |||||
| group: 32 | |||||
| stride: 4 | |||||
| pad: 2 | |||||
| weight_filler: { type: 'bilinear' } | |||||
| bias_term: false | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "upsample_3" | |||||
| type: "Deconvolution" | |||||
| bottom: "Convolution22" | |||||
| top: "upsample_3" | |||||
| param { | |||||
| lr_mult: 0 | |||||
| decay_mult: 0 | |||||
| } | |||||
| convolution_param { | |||||
| kernel_size: 16 | |||||
| num_output: 32 | |||||
| group: 32 | |||||
| stride: 8 | |||||
| pad: 4 | |||||
| weight_filler: { type: 'bilinear' } | |||||
| bias_term: false | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "merged" | |||||
| type: "Concat" | |||||
| bottom: "Convolution7" | |||||
| bottom: "upsample_1" | |||||
| bottom: "upsample_2" | |||||
| bottom: "upsample_3" | |||||
| top: "merged" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution26" | |||||
| type: "Convolution" | |||||
| bottom: "merged" | |||||
| top: "Convolution26" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 3 | |||||
| kernel_size: 7 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "merged_conv" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution26" | |||||
| top: "Convolution26" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution27" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution26" | |||||
| top: "Convolution27" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "ReLU1" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution27" | |||||
| top: "Convolution27" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution28" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution27" | |||||
| top: "Convolution28" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "rep_layer_0" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution28" | |||||
| top: "Convolution28" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution29" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution28" | |||||
| top: "Convolution29" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 32 | |||||
| pad: 2 | |||||
| kernel_size: 5 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "ReLU2" | |||||
| type: "ReLU" | |||||
| bottom: "Convolution29" | |||||
| top: "Convolution29" | |||||
| } | |||||
| layer { | |||||
| name: "Convolution30" | |||||
| type: "Convolution" | |||||
| bottom: "Convolution29" | |||||
| top: "out" | |||||
| param { | |||||
| lr_mult: 1 | |||||
| } | |||||
| param { | |||||
| lr_mult: 2 | |||||
| } | |||||
| convolution_param { | |||||
| num_output: 2 | |||||
| pad: 0 | |||||
| kernel_size: 1 | |||||
| stride: 1 | |||||
| weight_filler { | |||||
| type: "msra" | |||||
| } | |||||
| } | |||||
| } | |||||
| layer { | |||||
| name: "baselines_7_loss_0" | |||||
| type: "SoftmaxWithLoss" | |||||
| bottom: "out" | |||||
| bottom: "gt" | |||||
| top: "loss" | |||||
| loss_weight: 1.0 | |||||
| } | |||||