1layer { 2 name: "data" 3 type: "Input" 4 top: "data" 5 input_param { 6 shape { 7 dim: 1 8 dim: 1 9 dim: 224 10 dim: 224 11 } 12 } 13} 14layer { 15 name: "conv0" 16 type: "Convolution" 17 bottom: "data" 18 top: "conv0" 19 param { 20 lr_mult: 1.0 21 decay_mult: 1.0 22 } 23 param { 24 lr_mult: 1.0 25 decay_mult: 0.0 26 } 27 convolution_param { 28 num_output: 32 29 bias_term: true 30 pad: 1 31 kernel_size: 3 32 group: 1 33 stride: 1 34 weight_filler { 35 type: "msra" 36 } 37 } 38} 39layer { 40 name: "conv0/lrelu" 41 type: "ReLU" 42 bottom: "conv0" 43 top: "conv0" 44 relu_param { 45 negative_slope: 0.05000000074505806 46 } 47} 48layer { 49 name: "db1/reduce" 50 type: "Convolution" 51 bottom: "conv0" 52 top: "db1/reduce" 53 param { 54 lr_mult: 1.0 55 decay_mult: 1.0 56 } 57 param { 58 lr_mult: 1.0 59 decay_mult: 0.0 60 } 61 convolution_param { 62 num_output: 8 63 bias_term: true 64 pad: 0 65 kernel_size: 1 66 group: 1 67 stride: 1 68 weight_filler { 69 type: "msra" 70 } 71 } 72} 73layer { 74 name: "db1/reduce/lrelu" 75 type: "ReLU" 76 bottom: "db1/reduce" 77 top: "db1/reduce" 78 relu_param { 79 negative_slope: 0.05000000074505806 80 } 81} 82layer { 83 name: "db1/3x3" 84 type: "Convolution" 85 bottom: "db1/reduce" 86 top: "db1/3x3" 87 param { 88 lr_mult: 1.0 89 decay_mult: 1.0 90 } 91 param { 92 lr_mult: 1.0 93 decay_mult: 0.0 94 } 95 convolution_param { 96 num_output: 8 97 bias_term: true 98 pad: 1 99 kernel_size: 3 100 group: 8 101 stride: 1 102 weight_filler { 103 type: "msra" 104 } 105 } 106} 107layer { 108 name: "db1/3x3/lrelu" 109 type: "ReLU" 110 bottom: "db1/3x3" 111 top: "db1/3x3" 112 relu_param { 113 negative_slope: 0.05000000074505806 114 } 115} 116layer { 117 name: "db1/1x1" 118 type: "Convolution" 119 bottom: "db1/3x3" 120 top: "db1/1x1" 121 param { 122 lr_mult: 1.0 123 decay_mult: 1.0 124 } 125 param { 126 lr_mult: 1.0 127 decay_mult: 0.0 128 } 129 convolution_param { 130 num_output: 32 131 bias_term: true 132 pad: 0 133 kernel_size: 1 134 group: 1 135 stride: 1 136 weight_filler { 137 type: "msra" 138 } 139 } 140} 141layer { 142 name: "db1/1x1/lrelu" 143 type: "ReLU" 144 bottom: "db1/1x1" 145 top: "db1/1x1" 146 relu_param { 147 negative_slope: 0.05000000074505806 148 } 149} 150layer { 151 name: "db1/concat" 152 type: "Concat" 153 bottom: "conv0" 154 bottom: "db1/1x1" 155 top: "db1/concat" 156 concat_param { 157 axis: 1 158 } 159} 160layer { 161 name: "db2/reduce" 162 type: "Convolution" 163 bottom: "db1/concat" 164 top: "db2/reduce" 165 param { 166 lr_mult: 1.0 167 decay_mult: 1.0 168 } 169 param { 170 lr_mult: 1.0 171 decay_mult: 0.0 172 } 173 convolution_param { 174 num_output: 8 175 bias_term: true 176 pad: 0 177 kernel_size: 1 178 group: 1 179 stride: 1 180 weight_filler { 181 type: "msra" 182 } 183 } 184} 185layer { 186 name: "db2/reduce/lrelu" 187 type: "ReLU" 188 bottom: "db2/reduce" 189 top: "db2/reduce" 190 relu_param { 191 negative_slope: 0.05000000074505806 192 } 193} 194layer { 195 name: "db2/3x3" 196 type: "Convolution" 197 bottom: "db2/reduce" 198 top: "db2/3x3" 199 param { 200 lr_mult: 1.0 201 decay_mult: 1.0 202 } 203 param { 204 lr_mult: 1.0 205 decay_mult: 0.0 206 } 207 convolution_param { 208 num_output: 8 209 bias_term: true 210 pad: 1 211 kernel_size: 3 212 group: 8 213 stride: 1 214 weight_filler { 215 type: "msra" 216 } 217 } 218} 219layer { 220 name: "db2/3x3/lrelu" 221 type: "ReLU" 222 bottom: "db2/3x3" 223 top: "db2/3x3" 224 relu_param { 225 negative_slope: 0.05000000074505806 226 } 227} 228layer { 229 name: "db2/1x1" 230 type: "Convolution" 231 bottom: "db2/3x3" 232 top: "db2/1x1" 233 param { 234 lr_mult: 1.0 235 decay_mult: 1.0 236 } 237 param { 238 lr_mult: 1.0 239 decay_mult: 0.0 240 } 241 convolution_param { 242 num_output: 32 243 bias_term: true 244 pad: 0 245 kernel_size: 1 246 group: 1 247 stride: 1 248 weight_filler { 249 type: "msra" 250 } 251 } 252} 253layer { 254 name: "db2/1x1/lrelu" 255 type: "ReLU" 256 bottom: "db2/1x1" 257 top: "db2/1x1" 258 relu_param { 259 negative_slope: 0.05000000074505806 260 } 261} 262layer { 263 name: "db2/concat" 264 type: "Concat" 265 bottom: "db1/concat" 266 bottom: "db2/1x1" 267 top: "db2/concat" 268 concat_param { 269 axis: 1 270 } 271} 272layer { 273 name: "upsample/reduce" 274 type: "Convolution" 275 bottom: "db2/concat" 276 top: "upsample/reduce" 277 param { 278 lr_mult: 1.0 279 decay_mult: 1.0 280 } 281 param { 282 lr_mult: 1.0 283 decay_mult: 0.0 284 } 285 convolution_param { 286 num_output: 32 287 bias_term: true 288 pad: 0 289 kernel_size: 1 290 group: 1 291 stride: 1 292 weight_filler { 293 type: "msra" 294 } 295 } 296} 297layer { 298 name: "upsample/reduce/lrelu" 299 type: "ReLU" 300 bottom: "upsample/reduce" 301 top: "upsample/reduce" 302 relu_param { 303 negative_slope: 0.05000000074505806 304 } 305} 306layer { 307 name: "upsample/deconv" 308 type: "Deconvolution" 309 bottom: "upsample/reduce" 310 top: "upsample/deconv" 311 param { 312 lr_mult: 1.0 313 decay_mult: 1.0 314 } 315 param { 316 lr_mult: 1.0 317 decay_mult: 0.0 318 } 319 convolution_param { 320 num_output: 32 321 bias_term: true 322 pad: 1 323 kernel_size: 3 324 group: 32 325 stride: 2 326 weight_filler { 327 type: "msra" 328 } 329 } 330} 331layer { 332 name: "upsample/lrelu" 333 type: "ReLU" 334 bottom: "upsample/deconv" 335 top: "upsample/deconv" 336 relu_param { 337 negative_slope: 0.05000000074505806 338 } 339} 340layer { 341 name: "upsample/rec" 342 type: "Convolution" 343 bottom: "upsample/deconv" 344 top: "upsample/rec" 345 param { 346 lr_mult: 1.0 347 decay_mult: 1.0 348 } 349 param { 350 lr_mult: 1.0 351 decay_mult: 0.0 352 } 353 convolution_param { 354 num_output: 1 355 bias_term: true 356 pad: 0 357 kernel_size: 1 358 group: 1 359 stride: 1 360 weight_filler { 361 type: "msra" 362 } 363 } 364} 365layer { 366 name: "nearest" 367 type: "Deconvolution" 368 bottom: "data" 369 top: "nearest" 370 param { 371 lr_mult: 0.0 372 decay_mult: 0.0 373 } 374 convolution_param { 375 num_output: 1 376 bias_term: false 377 pad: 0 378 kernel_size: 2 379 group: 1 380 stride: 2 381 weight_filler { 382 type: "constant" 383 value: 1.0 384 } 385 } 386} 387layer { 388 name: "Crop1" 389 type: "Crop" 390 bottom: "nearest" 391 bottom: "upsample/rec" 392 top: "Crop1" 393} 394layer { 395 name: "fc" 396 type: "Eltwise" 397 bottom: "Crop1" 398 bottom: "upsample/rec" 399 top: "fc" 400 eltwise_param { 401 operation: SUM 402 } 403} 404