text: 
  name: "ResNetF"
  
  layer {
    name: "data"
    type: "Python"
    top: "data"
    top: "label"
    top: "weight"
  
    python_param {
  
   module: "davis_1st_frame_fgbg_data_layer" 
  layer: "DAVIS1stFrmFgbgDataLayer" 
      
      param_str: "{ \'scale\': 1, \'seed\': 1337, \'davis_dir\': \'../data/DAVIS\', \'split\': \'pole-vault\', \'mean\': (104.00699, 116.66877, 122.67892), \'with_augmentation\': 1,  \'aug_params\': (3000, 0.05, 5, 0.1, 0.1, 1)}"   
      }
  }
  
  layer {
  	bottom: "data"
  	top: "conv1"
  	name: "conv1"
  	type: "Convolution"
  	convolution_param {
  		num_output: 64
  		kernel_size: 7
  		pad: 3
  		stride: 2
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "conv1"
  	top: "conv1"
  	name: "bn_conv1"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "conv1"
  	top: "conv1"
  	name: "scale_conv1"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "conv1"
  	bottom: "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: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2a_branch1"
  	top: "res2a_branch1"
  	name: "bn2a_branch1"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  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: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2a_branch2a"
  	top: "res2a_branch2a"
  	name: "bn2a_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res2a_branch2a"
  	top: "res2a_branch2a"
  	name: "scale2a_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res2a_branch2a"
  	bottom: "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
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2a_branch2b"
  	top: "res2a_branch2b"
  	name: "bn2a_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res2a_branch2b"
  	top: "res2a_branch2b"
  	name: "scale2a_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res2a_branch2b"
  	bottom: "res2a_branch2b"
  	name: "res2a_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res2a_branch2b"
  	top: "res2a_branch2c"
  	name: "res2a_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2a_branch2c"
  	top: "res2a_branch2c"
  	name: "bn2a_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res2a_branch2c"
  	top: "res2a_branch2c"
  	name: "scale2a_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res2a_branch1"
  	bottom: "res2a_branch2c"
  	top: "res2a"
  	name: "res2a"
  	type: "Eltwise"
  }
  
  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: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2b_branch2a"
  	top: "res2b_branch2a"
  	name: "bn2b_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res2b_branch2a"
  	top: "res2b_branch2a"
  	name: "scale2b_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res2b_branch2a"
  	bottom: "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
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2b_branch2b"
  	top: "res2b_branch2b"
  	name: "bn2b_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res2b_branch2b"
  	top: "res2b_branch2b"
  	name: "scale2b_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res2b_branch2b"
  	bottom: "res2b_branch2b"
  	name: "res2b_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res2b_branch2b"
  	top: "res2b_branch2c"
  	name: "res2b_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2b_branch2c"
  	top: "res2b_branch2c"
  	name: "bn2b_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res2b_branch2c"
  	top: "res2b_branch2c"
  	name: "scale2b_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res2a"
  	bottom: "res2b_branch2c"
  	top: "res2b"
  	name: "res2b"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res2b"
  	top: "res2b"
  	name: "res2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res2b"
  	top: "res2c_branch2a"
  	name: "res2c_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 64
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2c_branch2a"
  	top: "res2c_branch2a"
  	name: "bn2c_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res2c_branch2a"
  	top: "res2c_branch2a"
  	name: "scale2c_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res2c_branch2a"
  	bottom: "res2c_branch2a"
  	name: "res2c_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res2c_branch2a"
  	top: "res2c_branch2b"
  	name: "res2c_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 64
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2c_branch2b"
  	top: "res2c_branch2b"
  	name: "bn2c_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res2c_branch2b"
  	top: "res2c_branch2b"
  	name: "scale2c_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res2c_branch2b"
  	bottom: "res2c_branch2b"
  	name: "res2c_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res2c_branch2b"
  	top: "res2c_branch2c"
  	name: "res2c_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res2c_branch2c"
  	top: "res2c_branch2c"
  	name: "bn2c_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res2c_branch2c"
  	top: "res2c_branch2c"
  	name: "scale2c_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res2b"
  	bottom: "res2c_branch2c"
  	top: "res2c"
  	name: "res2c"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res2c"
  	top: "res2c"
  	name: "res2c_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res2c"
  	top: "res3a_branch1"
  	name: "res3a_branch1"
  	type: "Convolution"
  	convolution_param {
  		num_output: 512
  		kernel_size: 1
  		pad: 0
  		stride: 2
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3a_branch1"
  	top: "res3a_branch1"
  	name: "bn3a_branch1"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3a_branch1"
  	top: "res3a_branch1"
  	name: "scale3a_branch1"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res2c"
  	top: "res3a_branch2a"
  	name: "res3a_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 128
  		kernel_size: 1
  		pad: 0
  		stride: 2
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3a_branch2a"
  	top: "res3a_branch2a"
  	name: "bn3a_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3a_branch2a"
  	top: "res3a_branch2a"
  	name: "scale3a_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res3a_branch2a"
  	bottom: "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
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3a_branch2b"
  	top: "res3a_branch2b"
  	name: "bn3a_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3a_branch2b"
  	top: "res3a_branch2b"
  	name: "scale3a_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res3a_branch2b"
  	bottom: "res3a_branch2b"
  	name: "res3a_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3a_branch2b"
  	top: "res3a_branch2c"
  	name: "res3a_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 512
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3a_branch2c"
  	top: "res3a_branch2c"
  	name: "bn3a_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3a_branch2c"
  	top: "res3a_branch2c"
  	name: "scale3a_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res3a_branch1"
  	bottom: "res3a_branch2c"
  	top: "res3a"
  	name: "res3a"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res3a"
  	top: "res3a"
  	name: "res3a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3a"
  	top: "res3b1_branch2a"
  	name: "res3b1_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 128
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3b1_branch2a"
  	top: "res3b1_branch2a"
  	name: "bn3b1_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3b1_branch2a"
  	top: "res3b1_branch2a"
  	name: "scale3b1_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res3b1_branch2a"
  	bottom: "res3b1_branch2a"
  	name: "res3b1_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3b1_branch2a"
  	top: "res3b1_branch2b"
  	name: "res3b1_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 128
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3b1_branch2b"
  	top: "res3b1_branch2b"
  	name: "bn3b1_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3b1_branch2b"
  	top: "res3b1_branch2b"
  	name: "scale3b1_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res3b1_branch2b"
  	bottom: "res3b1_branch2b"
  	name: "res3b1_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3b1_branch2b"
  	top: "res3b1_branch2c"
  	name: "res3b1_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 512
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3b1_branch2c"
  	top: "res3b1_branch2c"
  	name: "bn3b1_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3b1_branch2c"
  	top: "res3b1_branch2c"
  	name: "scale3b1_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res3a"
  	bottom: "res3b1_branch2c"
  	top: "res3b1"
  	name: "res3b1"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res3b1"
  	top: "res3b1"
  	name: "res3b1_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3b1"
  	top: "res3b2_branch2a"
  	name: "res3b2_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 128
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3b2_branch2a"
  	top: "res3b2_branch2a"
  	name: "bn3b2_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3b2_branch2a"
  	top: "res3b2_branch2a"
  	name: "scale3b2_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res3b2_branch2a"
  	bottom: "res3b2_branch2a"
  	name: "res3b2_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3b2_branch2a"
  	top: "res3b2_branch2b"
  	name: "res3b2_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 128
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3b2_branch2b"
  	top: "res3b2_branch2b"
  	name: "bn3b2_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3b2_branch2b"
  	top: "res3b2_branch2b"
  	name: "scale3b2_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res3b2_branch2b"
  	bottom: "res3b2_branch2b"
  	name: "res3b2_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3b2_branch2b"
  	top: "res3b2_branch2c"
  	name: "res3b2_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 512
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3b2_branch2c"
  	top: "res3b2_branch2c"
  	name: "bn3b2_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3b2_branch2c"
  	top: "res3b2_branch2c"
  	name: "scale3b2_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res3b1"
  	bottom: "res3b2_branch2c"
  	top: "res3b2"
  	name: "res3b2"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res3b2"
  	top: "res3b2"
  	name: "res3b2_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3b2"
  	top: "res3b3_branch2a"
  	name: "res3b3_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 128
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3b3_branch2a"
  	top: "res3b3_branch2a"
  	name: "bn3b3_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3b3_branch2a"
  	top: "res3b3_branch2a"
  	name: "scale3b3_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res3b3_branch2a"
  	bottom: "res3b3_branch2a"
  	name: "res3b3_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3b3_branch2a"
  	top: "res3b3_branch2b"
  	name: "res3b3_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 128
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3b3_branch2b"
  	top: "res3b3_branch2b"
  	name: "bn3b3_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3b3_branch2b"
  	top: "res3b3_branch2b"
  	name: "scale3b3_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res3b3_branch2b"
  	bottom: "res3b3_branch2b"
  	name: "res3b3_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3b3_branch2b"
  	top: "res3b3_branch2c"
  	name: "res3b3_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 512
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res3b3_branch2c"
  	top: "res3b3_branch2c"
  	name: "bn3b3_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res3b3_branch2c"
  	top: "res3b3_branch2c"
  	name: "scale3b3_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res3b2"
  	bottom: "res3b3_branch2c"
  	top: "res3b3"
  	name: "res3b3"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res3b3"
  	top: "res3b3"
  	name: "res3b3_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res3b3"
  	top: "res4a_branch1"
  	name: "res4a_branch1"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 2
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4a_branch1"
  	top: "res4a_branch1"
  	name: "bn4a_branch1"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4a_branch1"
  	top: "res4a_branch1"
  	name: "scale4a_branch1"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res3b3"
  	top: "res4a_branch2a"
  	name: "res4a_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 2
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4a_branch2a"
  	top: "res4a_branch2a"
  	name: "bn4a_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4a_branch2a"
  	top: "res4a_branch2a"
  	name: "scale4a_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4a_branch2a"
  	bottom: "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
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4a_branch2b"
  	top: "res4a_branch2b"
  	name: "bn4a_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4a_branch2b"
  	top: "res4a_branch2b"
  	name: "scale4a_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4a_branch2b"
  	bottom: "res4a_branch2b"
  	name: "res4a_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4a_branch2b"
  	top: "res4a_branch2c"
  	name: "res4a_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4a_branch2c"
  	top: "res4a_branch2c"
  	name: "bn4a_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4a_branch2c"
  	top: "res4a_branch2c"
  	name: "scale4a_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4a_branch1"
  	bottom: "res4a_branch2c"
  	top: "res4a"
  	name: "res4a"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4a"
  	top: "res4a"
  	name: "res4a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4a"
  	top: "res4b1_branch2a"
  	name: "res4b1_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b1_branch2a"
  	top: "res4b1_branch2a"
  	name: "bn4b1_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b1_branch2a"
  	top: "res4b1_branch2a"
  	name: "scale4b1_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b1_branch2a"
  	bottom: "res4b1_branch2a"
  	name: "res4b1_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b1_branch2a"
  	top: "res4b1_branch2b"
  	name: "res4b1_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b1_branch2b"
  	top: "res4b1_branch2b"
  	name: "bn4b1_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b1_branch2b"
  	top: "res4b1_branch2b"
  	name: "scale4b1_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b1_branch2b"
  	bottom: "res4b1_branch2b"
  	name: "res4b1_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b1_branch2b"
  	top: "res4b1_branch2c"
  	name: "res4b1_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b1_branch2c"
  	top: "res4b1_branch2c"
  	name: "bn4b1_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b1_branch2c"
  	top: "res4b1_branch2c"
  	name: "scale4b1_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4a"
  	bottom: "res4b1_branch2c"
  	top: "res4b1"
  	name: "res4b1"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b1"
  	top: "res4b1"
  	name: "res4b1_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b1"
  	top: "res4b2_branch2a"
  	name: "res4b2_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b2_branch2a"
  	top: "res4b2_branch2a"
  	name: "bn4b2_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b2_branch2a"
  	top: "res4b2_branch2a"
  	name: "scale4b2_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b2_branch2a"
  	bottom: "res4b2_branch2a"
  	name: "res4b2_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b2_branch2a"
  	top: "res4b2_branch2b"
  	name: "res4b2_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b2_branch2b"
  	top: "res4b2_branch2b"
  	name: "bn4b2_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b2_branch2b"
  	top: "res4b2_branch2b"
  	name: "scale4b2_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b2_branch2b"
  	bottom: "res4b2_branch2b"
  	name: "res4b2_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b2_branch2b"
  	top: "res4b2_branch2c"
  	name: "res4b2_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b2_branch2c"
  	top: "res4b2_branch2c"
  	name: "bn4b2_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b2_branch2c"
  	top: "res4b2_branch2c"
  	name: "scale4b2_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b1"
  	bottom: "res4b2_branch2c"
  	top: "res4b2"
  	name: "res4b2"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b2"
  	top: "res4b2"
  	name: "res4b2_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b2"
  	top: "res4b3_branch2a"
  	name: "res4b3_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b3_branch2a"
  	top: "res4b3_branch2a"
  	name: "bn4b3_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b3_branch2a"
  	top: "res4b3_branch2a"
  	name: "scale4b3_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b3_branch2a"
  	bottom: "res4b3_branch2a"
  	name: "res4b3_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b3_branch2a"
  	top: "res4b3_branch2b"
  	name: "res4b3_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b3_branch2b"
  	top: "res4b3_branch2b"
  	name: "bn4b3_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b3_branch2b"
  	top: "res4b3_branch2b"
  	name: "scale4b3_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b3_branch2b"
  	bottom: "res4b3_branch2b"
  	name: "res4b3_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b3_branch2b"
  	top: "res4b3_branch2c"
  	name: "res4b3_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b3_branch2c"
  	top: "res4b3_branch2c"
  	name: "bn4b3_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b3_branch2c"
  	top: "res4b3_branch2c"
  	name: "scale4b3_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b2"
  	bottom: "res4b3_branch2c"
  	top: "res4b3"
  	name: "res4b3"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b3"
  	top: "res4b3"
  	name: "res4b3_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b3"
  	top: "res4b4_branch2a"
  	name: "res4b4_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b4_branch2a"
  	top: "res4b4_branch2a"
  	name: "bn4b4_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b4_branch2a"
  	top: "res4b4_branch2a"
  	name: "scale4b4_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b4_branch2a"
  	bottom: "res4b4_branch2a"
  	name: "res4b4_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b4_branch2a"
  	top: "res4b4_branch2b"
  	name: "res4b4_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b4_branch2b"
  	top: "res4b4_branch2b"
  	name: "bn4b4_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b4_branch2b"
  	top: "res4b4_branch2b"
  	name: "scale4b4_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b4_branch2b"
  	bottom: "res4b4_branch2b"
  	name: "res4b4_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b4_branch2b"
  	top: "res4b4_branch2c"
  	name: "res4b4_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b4_branch2c"
  	top: "res4b4_branch2c"
  	name: "bn4b4_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b4_branch2c"
  	top: "res4b4_branch2c"
  	name: "scale4b4_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b3"
  	bottom: "res4b4_branch2c"
  	top: "res4b4"
  	name: "res4b4"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b4"
  	top: "res4b4"
  	name: "res4b4_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b4"
  	top: "res4b5_branch2a"
  	name: "res4b5_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b5_branch2a"
  	top: "res4b5_branch2a"
  	name: "bn4b5_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b5_branch2a"
  	top: "res4b5_branch2a"
  	name: "scale4b5_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b5_branch2a"
  	bottom: "res4b5_branch2a"
  	name: "res4b5_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b5_branch2a"
  	top: "res4b5_branch2b"
  	name: "res4b5_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b5_branch2b"
  	top: "res4b5_branch2b"
  	name: "bn4b5_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b5_branch2b"
  	top: "res4b5_branch2b"
  	name: "scale4b5_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b5_branch2b"
  	bottom: "res4b5_branch2b"
  	name: "res4b5_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b5_branch2b"
  	top: "res4b5_branch2c"
  	name: "res4b5_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b5_branch2c"
  	top: "res4b5_branch2c"
  	name: "bn4b5_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b5_branch2c"
  	top: "res4b5_branch2c"
  	name: "scale4b5_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b4"
  	bottom: "res4b5_branch2c"
  	top: "res4b5"
  	name: "res4b5"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b5"
  	top: "res4b5"
  	name: "res4b5_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b5"
  	top: "res4b6_branch2a"
  	name: "res4b6_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b6_branch2a"
  	top: "res4b6_branch2a"
  	name: "bn4b6_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b6_branch2a"
  	top: "res4b6_branch2a"
  	name: "scale4b6_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b6_branch2a"
  	bottom: "res4b6_branch2a"
  	name: "res4b6_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b6_branch2a"
  	top: "res4b6_branch2b"
  	name: "res4b6_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b6_branch2b"
  	top: "res4b6_branch2b"
  	name: "bn4b6_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b6_branch2b"
  	top: "res4b6_branch2b"
  	name: "scale4b6_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b6_branch2b"
  	bottom: "res4b6_branch2b"
  	name: "res4b6_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b6_branch2b"
  	top: "res4b6_branch2c"
  	name: "res4b6_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b6_branch2c"
  	top: "res4b6_branch2c"
  	name: "bn4b6_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b6_branch2c"
  	top: "res4b6_branch2c"
  	name: "scale4b6_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b5"
  	bottom: "res4b6_branch2c"
  	top: "res4b6"
  	name: "res4b6"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b6"
  	top: "res4b6"
  	name: "res4b6_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b6"
  	top: "res4b7_branch2a"
  	name: "res4b7_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b7_branch2a"
  	top: "res4b7_branch2a"
  	name: "bn4b7_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b7_branch2a"
  	top: "res4b7_branch2a"
  	name: "scale4b7_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b7_branch2a"
  	bottom: "res4b7_branch2a"
  	name: "res4b7_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b7_branch2a"
  	top: "res4b7_branch2b"
  	name: "res4b7_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b7_branch2b"
  	top: "res4b7_branch2b"
  	name: "bn4b7_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b7_branch2b"
  	top: "res4b7_branch2b"
  	name: "scale4b7_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b7_branch2b"
  	bottom: "res4b7_branch2b"
  	name: "res4b7_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b7_branch2b"
  	top: "res4b7_branch2c"
  	name: "res4b7_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b7_branch2c"
  	top: "res4b7_branch2c"
  	name: "bn4b7_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b7_branch2c"
  	top: "res4b7_branch2c"
  	name: "scale4b7_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b6"
  	bottom: "res4b7_branch2c"
  	top: "res4b7"
  	name: "res4b7"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b7"
  	top: "res4b7"
  	name: "res4b7_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b7"
  	top: "res4b8_branch2a"
  	name: "res4b8_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b8_branch2a"
  	top: "res4b8_branch2a"
  	name: "bn4b8_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b8_branch2a"
  	top: "res4b8_branch2a"
  	name: "scale4b8_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b8_branch2a"
  	bottom: "res4b8_branch2a"
  	name: "res4b8_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b8_branch2a"
  	top: "res4b8_branch2b"
  	name: "res4b8_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b8_branch2b"
  	top: "res4b8_branch2b"
  	name: "bn4b8_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b8_branch2b"
  	top: "res4b8_branch2b"
  	name: "scale4b8_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b8_branch2b"
  	bottom: "res4b8_branch2b"
  	name: "res4b8_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b8_branch2b"
  	top: "res4b8_branch2c"
  	name: "res4b8_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b8_branch2c"
  	top: "res4b8_branch2c"
  	name: "bn4b8_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b8_branch2c"
  	top: "res4b8_branch2c"
  	name: "scale4b8_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b7"
  	bottom: "res4b8_branch2c"
  	top: "res4b8"
  	name: "res4b8"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b8"
  	top: "res4b8"
  	name: "res4b8_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b8"
  	top: "res4b9_branch2a"
  	name: "res4b9_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b9_branch2a"
  	top: "res4b9_branch2a"
  	name: "bn4b9_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b9_branch2a"
  	top: "res4b9_branch2a"
  	name: "scale4b9_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b9_branch2a"
  	bottom: "res4b9_branch2a"
  	name: "res4b9_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b9_branch2a"
  	top: "res4b9_branch2b"
  	name: "res4b9_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b9_branch2b"
  	top: "res4b9_branch2b"
  	name: "bn4b9_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b9_branch2b"
  	top: "res4b9_branch2b"
  	name: "scale4b9_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b9_branch2b"
  	bottom: "res4b9_branch2b"
  	name: "res4b9_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b9_branch2b"
  	top: "res4b9_branch2c"
  	name: "res4b9_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b9_branch2c"
  	top: "res4b9_branch2c"
  	name: "bn4b9_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b9_branch2c"
  	top: "res4b9_branch2c"
  	name: "scale4b9_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b8"
  	bottom: "res4b9_branch2c"
  	top: "res4b9"
  	name: "res4b9"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b9"
  	top: "res4b9"
  	name: "res4b9_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b9"
  	top: "res4b10_branch2a"
  	name: "res4b10_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b10_branch2a"
  	top: "res4b10_branch2a"
  	name: "bn4b10_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b10_branch2a"
  	top: "res4b10_branch2a"
  	name: "scale4b10_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b10_branch2a"
  	bottom: "res4b10_branch2a"
  	name: "res4b10_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b10_branch2a"
  	top: "res4b10_branch2b"
  	name: "res4b10_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b10_branch2b"
  	top: "res4b10_branch2b"
  	name: "bn4b10_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b10_branch2b"
  	top: "res4b10_branch2b"
  	name: "scale4b10_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b10_branch2b"
  	bottom: "res4b10_branch2b"
  	name: "res4b10_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b10_branch2b"
  	top: "res4b10_branch2c"
  	name: "res4b10_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b10_branch2c"
  	top: "res4b10_branch2c"
  	name: "bn4b10_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b10_branch2c"
  	top: "res4b10_branch2c"
  	name: "scale4b10_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b9"
  	bottom: "res4b10_branch2c"
  	top: "res4b10"
  	name: "res4b10"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b10"
  	top: "res4b10"
  	name: "res4b10_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b10"
  	top: "res4b11_branch2a"
  	name: "res4b11_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b11_branch2a"
  	top: "res4b11_branch2a"
  	name: "bn4b11_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b11_branch2a"
  	top: "res4b11_branch2a"
  	name: "scale4b11_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b11_branch2a"
  	bottom: "res4b11_branch2a"
  	name: "res4b11_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b11_branch2a"
  	top: "res4b11_branch2b"
  	name: "res4b11_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b11_branch2b"
  	top: "res4b11_branch2b"
  	name: "bn4b11_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b11_branch2b"
  	top: "res4b11_branch2b"
  	name: "scale4b11_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b11_branch2b"
  	bottom: "res4b11_branch2b"
  	name: "res4b11_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b11_branch2b"
  	top: "res4b11_branch2c"
  	name: "res4b11_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b11_branch2c"
  	top: "res4b11_branch2c"
  	name: "bn4b11_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b11_branch2c"
  	top: "res4b11_branch2c"
  	name: "scale4b11_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b10"
  	bottom: "res4b11_branch2c"
  	top: "res4b11"
  	name: "res4b11"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b11"
  	top: "res4b11"
  	name: "res4b11_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b11"
  	top: "res4b12_branch2a"
  	name: "res4b12_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b12_branch2a"
  	top: "res4b12_branch2a"
  	name: "bn4b12_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b12_branch2a"
  	top: "res4b12_branch2a"
  	name: "scale4b12_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b12_branch2a"
  	bottom: "res4b12_branch2a"
  	name: "res4b12_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b12_branch2a"
  	top: "res4b12_branch2b"
  	name: "res4b12_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b12_branch2b"
  	top: "res4b12_branch2b"
  	name: "bn4b12_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b12_branch2b"
  	top: "res4b12_branch2b"
  	name: "scale4b12_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b12_branch2b"
  	bottom: "res4b12_branch2b"
  	name: "res4b12_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b12_branch2b"
  	top: "res4b12_branch2c"
  	name: "res4b12_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b12_branch2c"
  	top: "res4b12_branch2c"
  	name: "bn4b12_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b12_branch2c"
  	top: "res4b12_branch2c"
  	name: "scale4b12_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b11"
  	bottom: "res4b12_branch2c"
  	top: "res4b12"
  	name: "res4b12"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b12"
  	top: "res4b12"
  	name: "res4b12_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b12"
  	top: "res4b13_branch2a"
  	name: "res4b13_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b13_branch2a"
  	top: "res4b13_branch2a"
  	name: "bn4b13_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b13_branch2a"
  	top: "res4b13_branch2a"
  	name: "scale4b13_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b13_branch2a"
  	bottom: "res4b13_branch2a"
  	name: "res4b13_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b13_branch2a"
  	top: "res4b13_branch2b"
  	name: "res4b13_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b13_branch2b"
  	top: "res4b13_branch2b"
  	name: "bn4b13_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b13_branch2b"
  	top: "res4b13_branch2b"
  	name: "scale4b13_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b13_branch2b"
  	bottom: "res4b13_branch2b"
  	name: "res4b13_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b13_branch2b"
  	top: "res4b13_branch2c"
  	name: "res4b13_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b13_branch2c"
  	top: "res4b13_branch2c"
  	name: "bn4b13_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b13_branch2c"
  	top: "res4b13_branch2c"
  	name: "scale4b13_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b12"
  	bottom: "res4b13_branch2c"
  	top: "res4b13"
  	name: "res4b13"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b13"
  	top: "res4b13"
  	name: "res4b13_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b13"
  	top: "res4b14_branch2a"
  	name: "res4b14_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b14_branch2a"
  	top: "res4b14_branch2a"
  	name: "bn4b14_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b14_branch2a"
  	top: "res4b14_branch2a"
  	name: "scale4b14_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b14_branch2a"
  	bottom: "res4b14_branch2a"
  	name: "res4b14_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b14_branch2a"
  	top: "res4b14_branch2b"
  	name: "res4b14_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b14_branch2b"
  	top: "res4b14_branch2b"
  	name: "bn4b14_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b14_branch2b"
  	top: "res4b14_branch2b"
  	name: "scale4b14_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b14_branch2b"
  	bottom: "res4b14_branch2b"
  	name: "res4b14_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b14_branch2b"
  	top: "res4b14_branch2c"
  	name: "res4b14_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b14_branch2c"
  	top: "res4b14_branch2c"
  	name: "bn4b14_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b14_branch2c"
  	top: "res4b14_branch2c"
  	name: "scale4b14_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b13"
  	bottom: "res4b14_branch2c"
  	top: "res4b14"
  	name: "res4b14"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b14"
  	top: "res4b14"
  	name: "res4b14_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b14"
  	top: "res4b15_branch2a"
  	name: "res4b15_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b15_branch2a"
  	top: "res4b15_branch2a"
  	name: "bn4b15_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b15_branch2a"
  	top: "res4b15_branch2a"
  	name: "scale4b15_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b15_branch2a"
  	bottom: "res4b15_branch2a"
  	name: "res4b15_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b15_branch2a"
  	top: "res4b15_branch2b"
  	name: "res4b15_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b15_branch2b"
  	top: "res4b15_branch2b"
  	name: "bn4b15_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b15_branch2b"
  	top: "res4b15_branch2b"
  	name: "scale4b15_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b15_branch2b"
  	bottom: "res4b15_branch2b"
  	name: "res4b15_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b15_branch2b"
  	top: "res4b15_branch2c"
  	name: "res4b15_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b15_branch2c"
  	top: "res4b15_branch2c"
  	name: "bn4b15_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b15_branch2c"
  	top: "res4b15_branch2c"
  	name: "scale4b15_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b14"
  	bottom: "res4b15_branch2c"
  	top: "res4b15"
  	name: "res4b15"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b15"
  	top: "res4b15"
  	name: "res4b15_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b15"
  	top: "res4b16_branch2a"
  	name: "res4b16_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b16_branch2a"
  	top: "res4b16_branch2a"
  	name: "bn4b16_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b16_branch2a"
  	top: "res4b16_branch2a"
  	name: "scale4b16_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b16_branch2a"
  	bottom: "res4b16_branch2a"
  	name: "res4b16_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b16_branch2a"
  	top: "res4b16_branch2b"
  	name: "res4b16_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b16_branch2b"
  	top: "res4b16_branch2b"
  	name: "bn4b16_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b16_branch2b"
  	top: "res4b16_branch2b"
  	name: "scale4b16_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b16_branch2b"
  	bottom: "res4b16_branch2b"
  	name: "res4b16_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b16_branch2b"
  	top: "res4b16_branch2c"
  	name: "res4b16_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b16_branch2c"
  	top: "res4b16_branch2c"
  	name: "bn4b16_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b16_branch2c"
  	top: "res4b16_branch2c"
  	name: "scale4b16_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b15"
  	bottom: "res4b16_branch2c"
  	top: "res4b16"
  	name: "res4b16"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b16"
  	top: "res4b16"
  	name: "res4b16_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b16"
  	top: "res4b17_branch2a"
  	name: "res4b17_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b17_branch2a"
  	top: "res4b17_branch2a"
  	name: "bn4b17_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b17_branch2a"
  	top: "res4b17_branch2a"
  	name: "scale4b17_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b17_branch2a"
  	bottom: "res4b17_branch2a"
  	name: "res4b17_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b17_branch2a"
  	top: "res4b17_branch2b"
  	name: "res4b17_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b17_branch2b"
  	top: "res4b17_branch2b"
  	name: "bn4b17_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b17_branch2b"
  	top: "res4b17_branch2b"
  	name: "scale4b17_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b17_branch2b"
  	bottom: "res4b17_branch2b"
  	name: "res4b17_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b17_branch2b"
  	top: "res4b17_branch2c"
  	name: "res4b17_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b17_branch2c"
  	top: "res4b17_branch2c"
  	name: "bn4b17_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b17_branch2c"
  	top: "res4b17_branch2c"
  	name: "scale4b17_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b16"
  	bottom: "res4b17_branch2c"
  	top: "res4b17"
  	name: "res4b17"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b17"
  	top: "res4b17"
  	name: "res4b17_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b17"
  	top: "res4b18_branch2a"
  	name: "res4b18_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b18_branch2a"
  	top: "res4b18_branch2a"
  	name: "bn4b18_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b18_branch2a"
  	top: "res4b18_branch2a"
  	name: "scale4b18_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b18_branch2a"
  	bottom: "res4b18_branch2a"
  	name: "res4b18_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b18_branch2a"
  	top: "res4b18_branch2b"
  	name: "res4b18_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b18_branch2b"
  	top: "res4b18_branch2b"
  	name: "bn4b18_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b18_branch2b"
  	top: "res4b18_branch2b"
  	name: "scale4b18_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b18_branch2b"
  	bottom: "res4b18_branch2b"
  	name: "res4b18_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b18_branch2b"
  	top: "res4b18_branch2c"
  	name: "res4b18_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b18_branch2c"
  	top: "res4b18_branch2c"
  	name: "bn4b18_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b18_branch2c"
  	top: "res4b18_branch2c"
  	name: "scale4b18_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b17"
  	bottom: "res4b18_branch2c"
  	top: "res4b18"
  	name: "res4b18"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b18"
  	top: "res4b18"
  	name: "res4b18_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b18"
  	top: "res4b19_branch2a"
  	name: "res4b19_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b19_branch2a"
  	top: "res4b19_branch2a"
  	name: "bn4b19_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b19_branch2a"
  	top: "res4b19_branch2a"
  	name: "scale4b19_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b19_branch2a"
  	bottom: "res4b19_branch2a"
  	name: "res4b19_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b19_branch2a"
  	top: "res4b19_branch2b"
  	name: "res4b19_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b19_branch2b"
  	top: "res4b19_branch2b"
  	name: "bn4b19_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b19_branch2b"
  	top: "res4b19_branch2b"
  	name: "scale4b19_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b19_branch2b"
  	bottom: "res4b19_branch2b"
  	name: "res4b19_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b19_branch2b"
  	top: "res4b19_branch2c"
  	name: "res4b19_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b19_branch2c"
  	top: "res4b19_branch2c"
  	name: "bn4b19_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b19_branch2c"
  	top: "res4b19_branch2c"
  	name: "scale4b19_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b18"
  	bottom: "res4b19_branch2c"
  	top: "res4b19"
  	name: "res4b19"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b19"
  	top: "res4b19"
  	name: "res4b19_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b19"
  	top: "res4b20_branch2a"
  	name: "res4b20_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b20_branch2a"
  	top: "res4b20_branch2a"
  	name: "bn4b20_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b20_branch2a"
  	top: "res4b20_branch2a"
  	name: "scale4b20_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b20_branch2a"
  	bottom: "res4b20_branch2a"
  	name: "res4b20_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b20_branch2a"
  	top: "res4b20_branch2b"
  	name: "res4b20_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b20_branch2b"
  	top: "res4b20_branch2b"
  	name: "bn4b20_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b20_branch2b"
  	top: "res4b20_branch2b"
  	name: "scale4b20_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b20_branch2b"
  	bottom: "res4b20_branch2b"
  	name: "res4b20_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b20_branch2b"
  	top: "res4b20_branch2c"
  	name: "res4b20_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b20_branch2c"
  	top: "res4b20_branch2c"
  	name: "bn4b20_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b20_branch2c"
  	top: "res4b20_branch2c"
  	name: "scale4b20_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b19"
  	bottom: "res4b20_branch2c"
  	top: "res4b20"
  	name: "res4b20"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b20"
  	top: "res4b20"
  	name: "res4b20_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b20"
  	top: "res4b21_branch2a"
  	name: "res4b21_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b21_branch2a"
  	top: "res4b21_branch2a"
  	name: "bn4b21_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b21_branch2a"
  	top: "res4b21_branch2a"
  	name: "scale4b21_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b21_branch2a"
  	bottom: "res4b21_branch2a"
  	name: "res4b21_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b21_branch2a"
  	top: "res4b21_branch2b"
  	name: "res4b21_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b21_branch2b"
  	top: "res4b21_branch2b"
  	name: "bn4b21_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b21_branch2b"
  	top: "res4b21_branch2b"
  	name: "scale4b21_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b21_branch2b"
  	bottom: "res4b21_branch2b"
  	name: "res4b21_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b21_branch2b"
  	top: "res4b21_branch2c"
  	name: "res4b21_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b21_branch2c"
  	top: "res4b21_branch2c"
  	name: "bn4b21_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b21_branch2c"
  	top: "res4b21_branch2c"
  	name: "scale4b21_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b20"
  	bottom: "res4b21_branch2c"
  	top: "res4b21"
  	name: "res4b21"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b21"
  	top: "res4b21"
  	name: "res4b21_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b21"
  	top: "res4b22_branch2a"
  	name: "res4b22_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b22_branch2a"
  	top: "res4b22_branch2a"
  	name: "bn4b22_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b22_branch2a"
  	top: "res4b22_branch2a"
  	name: "scale4b22_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b22_branch2a"
  	bottom: "res4b22_branch2a"
  	name: "res4b22_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b22_branch2a"
  	top: "res4b22_branch2b"
  	name: "res4b22_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 256
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b22_branch2b"
  	top: "res4b22_branch2b"
  	name: "bn4b22_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b22_branch2b"
  	top: "res4b22_branch2b"
  	name: "scale4b22_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res4b22_branch2b"
  	bottom: "res4b22_branch2b"
  	name: "res4b22_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b22_branch2b"
  	top: "res4b22_branch2c"
  	name: "res4b22_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 1024
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res4b22_branch2c"
  	top: "res4b22_branch2c"
  	name: "bn4b22_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res4b22_branch2c"
  	top: "res4b22_branch2c"
  	name: "scale4b22_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b21"
  	bottom: "res4b22_branch2c"
  	top: "res4b22"
  	name: "res4b22"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res4b22"
  	top: "res4b22"
  	name: "res4b22_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res4b22"
  	top: "res5a_branch1"
  	name: "res5a_branch1"
  	type: "Convolution"
  	convolution_param {
  		num_output: 2048
  		kernel_size: 1
  		pad: 0
  		stride: 2
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5a_branch1"
  	top: "res5a_branch1"
  	name: "bn5a_branch1"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5a_branch1"
  	top: "res5a_branch1"
  	name: "scale5a_branch1"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res4b22"
  	top: "res5a_branch2a"
  	name: "res5a_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 512
  		kernel_size: 1
  		pad: 0
  		stride: 2
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5a_branch2a"
  	top: "res5a_branch2a"
  	name: "bn5a_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5a_branch2a"
  	top: "res5a_branch2a"
  	name: "scale5a_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res5a_branch2a"
  	bottom: "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
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5a_branch2b"
  	top: "res5a_branch2b"
  	name: "bn5a_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5a_branch2b"
  	top: "res5a_branch2b"
  	name: "scale5a_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res5a_branch2b"
  	bottom: "res5a_branch2b"
  	name: "res5a_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res5a_branch2b"
  	top: "res5a_branch2c"
  	name: "res5a_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 2048
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5a_branch2c"
  	top: "res5a_branch2c"
  	name: "bn5a_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5a_branch2c"
  	top: "res5a_branch2c"
  	name: "scale5a_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res5a_branch1"
  	bottom: "res5a_branch2c"
  	top: "res5a"
  	name: "res5a"
  	type: "Eltwise"
  }
  
  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: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5b_branch2a"
  	top: "res5b_branch2a"
  	name: "bn5b_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5b_branch2a"
  	top: "res5b_branch2a"
  	name: "scale5b_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res5b_branch2a"
  	bottom: "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
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5b_branch2b"
  	top: "res5b_branch2b"
  	name: "bn5b_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5b_branch2b"
  	top: "res5b_branch2b"
  	name: "scale5b_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res5b_branch2b"
  	bottom: "res5b_branch2b"
  	name: "res5b_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res5b_branch2b"
  	top: "res5b_branch2c"
  	name: "res5b_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 2048
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5b_branch2c"
  	top: "res5b_branch2c"
  	name: "bn5b_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5b_branch2c"
  	top: "res5b_branch2c"
  	name: "scale5b_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res5a"
  	bottom: "res5b_branch2c"
  	top: "res5b"
  	name: "res5b"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res5b"
  	top: "res5b"
  	name: "res5b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res5b"
  	top: "res5c_branch2a"
  	name: "res5c_branch2a"
  	type: "Convolution"
  	convolution_param {
  		num_output: 512
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5c_branch2a"
  	top: "res5c_branch2a"
  	name: "bn5c_branch2a"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5c_branch2a"
  	top: "res5c_branch2a"
  	name: "scale5c_branch2a"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res5c_branch2a"
  	bottom: "res5c_branch2a"
  	name: "res5c_branch2a_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res5c_branch2a"
  	top: "res5c_branch2b"
  	name: "res5c_branch2b"
  	type: "Convolution"
  	convolution_param {
  		num_output: 512
  		kernel_size: 3
  		pad: 1
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5c_branch2b"
  	top: "res5c_branch2b"
  	name: "bn5c_branch2b"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5c_branch2b"
  	top: "res5c_branch2b"
  	name: "scale5c_branch2b"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	top: "res5c_branch2b"
  	bottom: "res5c_branch2b"
  	name: "res5c_branch2b_relu"
  	type: "ReLU"
  }
  
  layer {
  	bottom: "res5c_branch2b"
  	top: "res5c_branch2c"
  	name: "res5c_branch2c"
  	type: "Convolution"
  	convolution_param {
  		num_output: 2048
  		kernel_size: 1
  		pad: 0
  		stride: 1
  		bias_term: false
  	}
  }
  
  layer {
  	bottom: "res5c_branch2c"
  	top: "res5c_branch2c"
  	name: "bn5c_branch2c"
  	type: "BatchNorm"
  	batch_norm_param {
  		use_global_stats: true
  	}
  }
  
  layer {
  	bottom: "res5c_branch2c"
  	top: "res5c_branch2c"
  	name: "scale5c_branch2c"
  	type: "Scale"
  	scale_param {
  		bias_term: true
  	}
  }
  
  layer {
  	bottom: "res5b"
  	bottom: "res5c_branch2c"
  	top: "res5c"
  	name: "res5c"
  	type: "Eltwise"
  }
  
  layer {
  	bottom: "res5c"
  	top: "res5c"
  	name: "res5c_relu"
  	type: "ReLU"
  }
  ##################################
  layer {
    name: "upsample_res5"
    type: "Deconvolution"
    bottom: "res5c"
    top: "upsample_res5"
    param {
      lr_mult: 0
    }
    convolution_param {
      num_output: 2048
      bias_term: false
      kernel_size: 4
      stride: 2 
    }
  }
  
  layer {
    name: "scale_res4"
    type: "Scale"
    bottom: "res4b22"
    top: "scale_res4"
    param {
      lr_mult: 0
    }
    scale_param {
      filler {
        type: "constant"
        value: 0.2
      }
    }
  }
  
  layer {
    name: "crop_res5"
    type: "Crop"
    bottom: "upsample_res5"
    bottom: "scale_res4"
    top: "crop_res5"
    crop_param {
      axis: 2
      offset: 2
    }
  }
  
  layer {
    name: "concat_res4"
    type: "Concat"
    bottom: "scale_res4"
    bottom: "crop_res5"
    top: "concat_res4"
    concat_param {
      axis: 1
    }
  }
  
  layer {
    name: "upsample_res4"
    type: "Deconvolution"
    bottom: "concat_res4"
    top: "upsample_res4"
    param {
      lr_mult: 0
    }
    convolution_param {
      num_output: 3072
      bias_term: false
      kernel_size: 4
      stride: 2
    }
  }
  
  layer {
    name: "scale_res3"
    type: "Scale"
    bottom: "res3b3"
    top: "scale_res3"
    param {
      lr_mult: 0
    }
    scale_param {
      filler {
        type: "constant"
        value: 0.2
      }
    }
  }
  
  layer {
    name: "crop_res4"
    type: "Crop"
    bottom: "upsample_res4"
    bottom: "scale_res3"
    top: "crop_res4"
    crop_param {
      axis: 2
      offset: 0
    }
  }
  
  layer {
    name: "concat_res3"
    type: "Concat"
    bottom: "crop_res4"
    bottom: "scale_res3"
    top: "concat_res3"
    concat_param {
      axis: 1
    }
  }
  
  
  #############################
  layer {
    name: "feat08"
    type: "Convolution"
    bottom: "concat_res3"
    top: "feat08"
    param {
      lr_mult: 1
      decay_mult: 1
    }
    param {
      lr_mult: 2
      decay_mult: 0
    }
    convolution_param {
      num_output: 128
      pad: 0
      kernel_size: 1
      weight_filler {
        type: "gaussian"
        std: 0.01
      }
      bias_filler {
        type: "constant"
        value: 0
      }
    }
  }
  
  
  
  layer {
    name: "score08"
    type: "Convolution"
    bottom: "feat08"
    top: "score08"
    param {
      lr_mult: 1
      decay_mult: 1
    }
    param {
      lr_mult: 2
      decay_mult: 0
    }
    convolution_param {
      num_output: 2
      pad: 0
      kernel_size: 1
      weight_filler {
        type: "gaussian"
        std: 0.01
      }
      bias_filler {
        type: "constant"
        value: 0
      }
    }
  }
  
  
  layer {
    name: "upscore"
    type: "Deconvolution"
    bottom: "score08"
    top: "upscore"
    param {
      lr_mult: 0
    } 
    convolution_param {
      num_output:  2
      bias_term: false
      kernel_size: 16
      stride: 8
    }
  }
  
  layer {
    name: "score"
    type: "Crop"
    bottom: "upscore"
    bottom: "data"
    top: "score_ori"
    crop_param {
      axis: 2
      offset: 8
    }
  }
  
  layer {
    name: "loss_balance"
    type: "Python"
    bottom: "score_ori"
    bottom: "weight"
    top: "score"
    python_param {
      module: "loss_weight_layer"
      layer: "LossWeightLayer"
     }
  }
  
  layer {
    name: "loss"
    type: "SoftmaxWithLoss"
    bottom: "score"
    bottom: "label"
    top: "loss"
    loss_param {
      normalize: false
    }
  }
  
  ##################### accuracy, accuracy_bg, accuracy_fg #######################
  layer {
    name: "accuracy"
    type: "Accuracy"
    bottom: "score"
    bottom: "label"
    top: "accuracy"
  }
  layer {
    name: "accuracy_fg"
    type: "Accuracy"
    bottom: "score"
    bottom: "label"
    accuracy_param{
       ignore_label: 0
    }
    top: "accuracy_fg"
  }
  layer {
    name: "accuracy_bg"
    type: "Accuracy"
    bottom: "score"
    bottom: "label"
    accuracy_param{
       ignore_label: 1
    }
    top: "accuracy_bg"
  }
  
  