daily pastebin goal
66%
SHARE
TWEET

Untitled

a guest Feb 13th, 2018 59 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. name: "ResNet-18"
  2.  
  3. layer {
  4.   name: "data"
  5.   type: "Input"
  6.   top: "data"
  7.   input_param {
  8.     shape {
  9.       dim: 1
  10.       dim: 1
  11.       dim: 720
  12.       dim: 720
  13.     }
  14.   }
  15. }
  16.  
  17. ############## Light-ResNet Input Frames ###############
  18. layer {
  19.   name: "conv1"
  20.   type: "Convolution"
  21.   bottom: "data"
  22.   top: "conv1"
  23.   convolution_param {
  24.     num_output: 64
  25.     pad: 3
  26.     kernel_size: 7
  27.     stride: 2
  28.     weight_filler {
  29.       type: "xavier"
  30.     }
  31.     bias_filler {
  32.       type: "constant"
  33.       value: 0.2
  34.     }
  35.   }
  36. }
  37. layer {
  38.   name: "bn_conv1"
  39.   type: "BatchNorm"
  40.   bottom: "conv1"
  41.   top: "conv1"
  42.   batch_norm_param {
  43.   }
  44. }
  45. layer {
  46.   name: "scale_conv1"
  47.   type: "Scale"
  48.   bottom: "conv1"
  49.   top: "conv1"
  50.   scale_param {
  51.     bias_term: true
  52.   }
  53. }
  54. layer {
  55.   name: "conv1_relu"
  56.   type: "ReLU"
  57.   bottom: "conv1"
  58.   top: "conv1"
  59. }
  60. layer {
  61.   name: "pool1"
  62.   type: "Pooling"
  63.   bottom: "conv1"
  64.   top: "pool1"
  65.   pooling_param {
  66.     pool: MAX
  67.     kernel_size: 3
  68.     stride: 2
  69.   }
  70. }
  71. layer {
  72.   name: "res2a_branch1"
  73.   type: "Convolution"
  74.   bottom: "pool1"
  75.   top: "res2a_branch1"
  76.   convolution_param {
  77.     num_output: 256
  78.     bias_term: false
  79.     pad: 0
  80.     kernel_size: 1
  81.     stride: 1
  82.     weight_filler {
  83.       type: "xavier"
  84.     }
  85.     bias_filler {
  86.       type: "constant"
  87.       value: 0.2
  88.     }
  89.   }
  90. }
  91. layer {
  92.   name: "bn2a_branch1"
  93.   type: "BatchNorm"
  94.   bottom: "res2a_branch1"
  95.   top: "res2a_branch1"
  96.   batch_norm_param {
  97.   }
  98. }
  99. layer {
  100.   name: "scale2a_branch1"
  101.   type: "Scale"
  102.   bottom: "res2a_branch1"
  103.   top: "res2a_branch1"
  104.   scale_param {
  105.     bias_term: true
  106.   }
  107. }
  108. layer {
  109.   name: "res2a_branch2a"
  110.   type: "Convolution"
  111.   bottom: "pool1"
  112.   top: "res2a_branch2a"
  113.   convolution_param {
  114.     num_output: 64
  115.     bias_term: false
  116.     pad: 0
  117.     kernel_size: 1
  118.     stride: 1
  119.     weight_filler {
  120.       type: "xavier"
  121.     }
  122.     bias_filler {
  123.       type: "constant"
  124.       value: 0.2
  125.     }
  126.   }
  127. }
  128. layer {
  129.   name: "bn2a_branch2a"
  130.   type: "BatchNorm"
  131.   bottom: "res2a_branch2a"
  132.   top: "res2a_branch2a"
  133.   batch_norm_param {
  134.   }
  135. }
  136. layer {
  137.   name: "scale2a_branch2a"
  138.   type: "Scale"
  139.   bottom: "res2a_branch2a"
  140.   top: "res2a_branch2a"
  141.   scale_param {
  142.     bias_term: true
  143.   }
  144. }
  145. layer {
  146.   name: "res2a_branch2a_relu"
  147.   type: "ReLU"
  148.   bottom: "res2a_branch2a"
  149.   top: "res2a_branch2a"
  150. }
  151. layer {
  152.   name: "res2a_branch2b"
  153.   type: "Convolution"
  154.   bottom: "res2a_branch2a"
  155.   top: "res2a_branch2b"
  156.   convolution_param {
  157.     num_output: 64
  158.     bias_term: false
  159.     pad: 1
  160.     kernel_size: 3
  161.     stride: 1
  162.     weight_filler {
  163.       type: "xavier"
  164.     }
  165.     bias_filler {
  166.       type: "constant"
  167.       value: 0.2
  168.     }
  169.   }
  170. }
  171. layer {
  172.   name: "bn2a_branch2b"
  173.   type: "BatchNorm"
  174.   bottom: "res2a_branch2b"
  175.   top: "res2a_branch2b"
  176.   batch_norm_param {
  177.   }
  178. }
  179. layer {
  180.   name: "scale2a_branch2b"
  181.   type: "Scale"
  182.   bottom: "res2a_branch2b"
  183.   top: "res2a_branch2b"
  184.   scale_param {
  185.     bias_term: true
  186.   }
  187. }
  188. layer {
  189.   name: "res2a_branch2b_relu"
  190.   type: "ReLU"
  191.   bottom: "res2a_branch2b"
  192.   top: "res2a_branch2b"
  193. }
  194. layer {
  195.   name: "res2a_branch2c"
  196.   type: "Convolution"
  197.   bottom: "res2a_branch2b"
  198.   top: "res2a_branch2c"
  199.   convolution_param {
  200.     num_output: 256
  201.     bias_term: false
  202.     pad: 0
  203.     kernel_size: 1
  204.     stride: 1
  205.     weight_filler {
  206.       type: "xavier"
  207.     }
  208.     bias_filler {
  209.       type: "constant"
  210.       value: 0.2
  211.     }
  212.   }
  213. }
  214. layer {
  215.   name: "bn2a_branch2c"
  216.   type: "BatchNorm"
  217.   bottom: "res2a_branch2c"
  218.   top: "res2a_branch2c"
  219.   batch_norm_param {
  220.   }
  221. }
  222. layer {
  223.   name: "scale2a_branch2c"
  224.   type: "Scale"
  225.   bottom: "res2a_branch2c"
  226.   top: "res2a_branch2c"
  227.   scale_param {
  228.     bias_term: true
  229.   }
  230. }
  231. layer {
  232.   name: "res2a"
  233.   type: "Eltwise"
  234.   bottom: "res2a_branch1"
  235.   bottom: "res2a_branch2c"
  236.   top: "res2a"
  237. }
  238. layer {
  239.   name: "res2a_relu"
  240.   type: "ReLU"
  241.   bottom: "res2a"
  242.   top: "res2a"
  243. }
  244. layer {
  245.   name: "res2b_branch2a"
  246.   type: "Convolution"
  247.   bottom: "res2a"
  248.   top: "res2b_branch2a"
  249.   convolution_param {
  250.     num_output: 64
  251.     bias_term: false
  252.     pad: 0
  253.     kernel_size: 1
  254.     stride: 1
  255.     weight_filler {
  256.       type: "xavier"
  257.     }
  258.     bias_filler {
  259.       type: "constant"
  260.       value: 0.2
  261.     }
  262.   }
  263. }
  264. layer {
  265.   name: "bn2b_branch2a"
  266.   type: "BatchNorm"
  267.   bottom: "res2b_branch2a"
  268.   top: "res2b_branch2a"
  269.   batch_norm_param {
  270.   }
  271. }
  272. layer {
  273.   name: "scale2b_branch2a"
  274.   type: "Scale"
  275.   bottom: "res2b_branch2a"
  276.   top: "res2b_branch2a"
  277.   scale_param {
  278.     bias_term: true
  279.   }
  280. }
  281. layer {
  282.   name: "res2b_branch2a_relu"
  283.   type: "ReLU"
  284.   bottom: "res2b_branch2a"
  285.   top: "res2b_branch2a"
  286. }
  287. layer {
  288.   name: "res2b_branch2b"
  289.   type: "Convolution"
  290.   bottom: "res2b_branch2a"
  291.   top: "res2b_branch2b"
  292.   convolution_param {
  293.     num_output: 64
  294.     bias_term: false
  295.     pad: 1
  296.     kernel_size: 3
  297.     stride: 1
  298.     weight_filler {
  299.       type: "xavier"
  300.     }
  301.     bias_filler {
  302.       type: "constant"
  303.       value: 0.2
  304.     }
  305.   }
  306. }
  307. layer {
  308.   name: "bn2b_branch2b"
  309.   type: "BatchNorm"
  310.   bottom: "res2b_branch2b"
  311.   top: "res2b_branch2b"
  312.   batch_norm_param {
  313.   }
  314. }
  315. layer {
  316.   name: "scale2b_branch2b"
  317.   type: "Scale"
  318.   bottom: "res2b_branch2b"
  319.   top: "res2b_branch2b"
  320.   scale_param {
  321.     bias_term: true
  322.   }
  323. }
  324. layer {
  325.   name: "res2b_branch2b_relu"
  326.   type: "ReLU"
  327.   bottom: "res2b_branch2b"
  328.   top: "res2b_branch2b"
  329. }
  330. layer {
  331.   name: "res2b_branch2c"
  332.   type: "Convolution"
  333.   bottom: "res2b_branch2b"
  334.   top: "res2b_branch2c"
  335.   convolution_param {
  336.     num_output: 256
  337.     bias_term: false
  338.     pad: 0
  339.     kernel_size: 1
  340.     stride: 1
  341.     weight_filler {
  342.       type: "xavier"
  343.     }
  344.     bias_filler {
  345.       type: "constant"
  346.       value: 0.2
  347.     }
  348.   }
  349. }
  350. layer {
  351.   name: "bn2b_branch2c"
  352.   type: "BatchNorm"
  353.   bottom: "res2b_branch2c"
  354.   top: "res2b_branch2c"
  355.   batch_norm_param {
  356.   }
  357. }
  358. layer {
  359.   name: "scale2b_branch2c"
  360.   type: "Scale"
  361.   bottom: "res2b_branch2c"
  362.   top: "res2b_branch2c"
  363.   scale_param {
  364.     bias_term: true
  365.   }
  366. }
  367. layer {
  368.   name: "res2b"
  369.   type: "Eltwise"
  370.   bottom: "res2a"
  371.   bottom: "res2b_branch2c"
  372.   top: "res2b"
  373. }
  374. layer {
  375.   name: "res2b_relu"
  376.   type: "ReLU"
  377.   bottom: "res2b"
  378.   top: "res2b"
  379. }
  380. layer {
  381.   name: "res2c_branch2a"
  382.   type: "Convolution"
  383.   bottom: "res2b"
  384.   top: "res2c_branch2a"
  385.   convolution_param {
  386.     num_output: 64
  387.     bias_term: false
  388.     pad: 0
  389.     kernel_size: 1
  390.     stride: 1
  391.     weight_filler {
  392.       type: "xavier"
  393.     }
  394.     bias_filler {
  395.       type: "constant"
  396.       value: 0.2
  397.     }
  398.   }
  399. }
  400. layer {
  401.   name: "bn2c_branch2a"
  402.   type: "BatchNorm"
  403.   bottom: "res2c_branch2a"
  404.   top: "res2c_branch2a"
  405.   batch_norm_param {
  406.   }
  407. }
  408. layer {
  409.   name: "scale2c_branch2a"
  410.   type: "Scale"
  411.   bottom: "res2c_branch2a"
  412.   top: "res2c_branch2a"
  413.   scale_param {
  414.     bias_term: true
  415.   }
  416. }
  417. layer {
  418.   name: "res2c_branch2a_relu"
  419.   type: "ReLU"
  420.   bottom: "res2c_branch2a"
  421.   top: "res2c_branch2a"
  422. }
  423. layer {
  424.   name: "res2c_branch2b"
  425.   type: "Convolution"
  426.   bottom: "res2c_branch2a"
  427.   top: "res2c_branch2b"
  428.   convolution_param {
  429.     num_output: 64
  430.     bias_term: false
  431.     pad: 1
  432.     kernel_size: 3
  433.     stride: 1
  434.     weight_filler {
  435.       type: "xavier"
  436.     }
  437.     bias_filler {
  438.       type: "constant"
  439.       value: 0.2
  440.     }
  441.   }
  442. }
  443. layer {
  444.   name: "bn2c_branch2b"
  445.   type: "BatchNorm"
  446.   bottom: "res2c_branch2b"
  447.   top: "res2c_branch2b"
  448.   batch_norm_param {
  449.   }
  450. }
  451. layer {
  452.   name: "scale2c_branch2b"
  453.   type: "Scale"
  454.   bottom: "res2c_branch2b"
  455.   top: "res2c_branch2b"
  456.   scale_param {
  457.     bias_term: true
  458.   }
  459. }
  460. layer {
  461.   name: "res2c_branch2b_relu"
  462.   type: "ReLU"
  463.   bottom: "res2c_branch2b"
  464.   top: "res2c_branch2b"
  465. }
  466. layer {
  467.   name: "res2c_branch2c"
  468.   type: "Convolution"
  469.   bottom: "res2c_branch2b"
  470.   top: "res2c_branch2c"
  471.   convolution_param {
  472.     num_output: 256
  473.     bias_term: false
  474.     pad: 0
  475.     kernel_size: 1
  476.     stride: 1
  477.     weight_filler {
  478.       type: "xavier"
  479.     }
  480.     bias_filler {
  481.       type: "constant"
  482.       value: 0.2
  483.     }
  484.   }
  485. }
  486. layer {
  487.   name: "bn2c_branch2c"
  488.   type: "BatchNorm"
  489.   bottom: "res2c_branch2c"
  490.   top: "res2c_branch2c"
  491.   batch_norm_param {
  492.   }
  493. }
  494. layer {
  495.   name: "scale2c_branch2c"
  496.   type: "Scale"
  497.   bottom: "res2c_branch2c"
  498.   top: "res2c_branch2c"
  499.   scale_param {
  500.     bias_term: true
  501.   }
  502. }
  503. layer {
  504.   name: "res2c"
  505.   type: "Eltwise"
  506.   bottom: "res2b"
  507.   bottom: "res2c_branch2c"
  508.   top: "res2c"
  509. }
  510. layer {
  511.   name: "res2c_relu"
  512.   type: "ReLU"
  513.   bottom: "res2c"
  514.   top: "res2c"
  515. }
  516. layer {
  517.   name: "res3a_branch1"
  518.   type: "Convolution"
  519.   bottom: "res2c"
  520.   top: "res3a_branch1"
  521.   convolution_param {
  522.     num_output: 512
  523.     bias_term: false
  524.     pad: 0
  525.     kernel_size: 1
  526.     stride: 2
  527.     weight_filler {
  528.       type: "xavier"
  529.     }
  530.     bias_filler {
  531.       type: "constant"
  532.       value: 0.2
  533.     }
  534.   }
  535. }
  536. layer {
  537.   name: "bn3a_branch1"
  538.   type: "BatchNorm"
  539.   bottom: "res3a_branch1"
  540.   top: "res3a_branch1"
  541.   batch_norm_param {
  542.   }
  543. }
  544. layer {
  545.   name: "scale3a_branch1"
  546.   type: "Scale"
  547.   bottom: "res3a_branch1"
  548.   top: "res3a_branch1"
  549.   scale_param {
  550.     bias_term: true
  551.   }
  552. }
  553. layer {
  554.   name: "res3a_branch2a"
  555.   type: "Convolution"
  556.   bottom: "res2c"
  557.   top: "res3a_branch2a"
  558.   convolution_param {
  559.     num_output: 128
  560.     bias_term: false
  561.     pad: 0
  562.     kernel_size: 1
  563.     stride: 2
  564.     weight_filler {
  565.       type: "xavier"
  566.     }
  567.     bias_filler {
  568.       type: "constant"
  569.       value: 0.2
  570.     }
  571.   }
  572. }
  573. layer {
  574.   name: "bn3a_branch2a"
  575.   type: "BatchNorm"
  576.   bottom: "res3a_branch2a"
  577.   top: "res3a_branch2a"
  578.   batch_norm_param {
  579.   }
  580. }
  581. layer {
  582.   name: "scale3a_branch2a"
  583.   type: "Scale"
  584.   bottom: "res3a_branch2a"
  585.   top: "res3a_branch2a"
  586.   scale_param {
  587.     bias_term: true
  588.   }
  589. }
  590. layer {
  591.   name: "res3a_branch2a_relu"
  592.   type: "ReLU"
  593.   bottom: "res3a_branch2a"
  594.   top: "res3a_branch2a"
  595. }
  596. layer {
  597.   name: "res3a_branch2b"
  598.   type: "Convolution"
  599.   bottom: "res3a_branch2a"
  600.   top: "res3a_branch2b"
  601.   convolution_param {
  602.     num_output: 128
  603.     bias_term: false
  604.     pad: 1
  605.     kernel_size: 3
  606.     stride: 1
  607.     weight_filler {
  608.       type: "xavier"
  609.     }
  610.     bias_filler {
  611.       type: "constant"
  612.       value: 0.2
  613.     }
  614.   }
  615. }
  616. layer {
  617.   name: "bn3a_branch2b"
  618.   type: "BatchNorm"
  619.   bottom: "res3a_branch2b"
  620.   top: "res3a_branch2b"
  621.   batch_norm_param {
  622.   }
  623. }
  624. layer {
  625.   name: "scale3a_branch2b"
  626.   type: "Scale"
  627.   bottom: "res3a_branch2b"
  628.   top: "res3a_branch2b"
  629.   scale_param {
  630.     bias_term: true
  631.   }
  632. }
  633. layer {
  634.   name: "res3a_branch2b_relu"
  635.   type: "ReLU"
  636.   bottom: "res3a_branch2b"
  637.   top: "res3a_branch2b"
  638. }
  639. layer {
  640.   name: "res3a_branch2c"
  641.   type: "Convolution"
  642.   bottom: "res3a_branch2b"
  643.   top: "res3a_branch2c"
  644.   convolution_param {
  645.     num_output: 512
  646.     bias_term: false
  647.     pad: 0
  648.     kernel_size: 1
  649.     stride: 1
  650.     weight_filler {
  651.       type: "xavier"
  652.     }
  653.     bias_filler {
  654.       type: "constant"
  655.       value: 0.2
  656.     }
  657.   }
  658. }
  659. layer {
  660.   name: "bn3a_branch2c"
  661.   type: "BatchNorm"
  662.   bottom: "res3a_branch2c"
  663.   top: "res3a_branch2c"
  664.   batch_norm_param {
  665.   }
  666. }
  667. layer {
  668.   name: "scale3a_branch2c"
  669.   type: "Scale"
  670.   bottom: "res3a_branch2c"
  671.   top: "res3a_branch2c"
  672.   scale_param {
  673.     bias_term: true
  674.   }
  675. }
  676. layer {
  677.   name: "res3a"
  678.   type: "Eltwise"
  679.   bottom: "res3a_branch1"
  680.   bottom: "res3a_branch2c"
  681.   top: "res3a"
  682. }
  683. layer {
  684.   name: "res3a_relu"
  685.   type: "ReLU"
  686.   bottom: "res3a"
  687.   top: "res3a"
  688. }
  689. layer {
  690.   name: "res3b_branch2a"
  691.   type: "Convolution"
  692.   bottom: "res3a"
  693.   top: "res3b_branch2a"
  694.   convolution_param {
  695.     num_output: 128
  696.     bias_term: false
  697.     pad: 0
  698.     kernel_size: 1
  699.     stride: 1
  700.     weight_filler {
  701.       type: "xavier"
  702.     }
  703.     bias_filler {
  704.       type: "constant"
  705.       value: 0.2
  706.     }
  707.   }
  708. }
  709. layer {
  710.   name: "bn3b_branch2a"
  711.   type: "BatchNorm"
  712.   bottom: "res3b_branch2a"
  713.   top: "res3b_branch2a"
  714.   batch_norm_param {
  715.   }
  716. }
  717. layer {
  718.   name: "scale3b_branch2a"
  719.   type: "Scale"
  720.   bottom: "res3b_branch2a"
  721.   top: "res3b_branch2a"
  722.   scale_param {
  723.     bias_term: true
  724.   }
  725. }
  726. layer {
  727.   name: "res3b_branch2a_relu"
  728.   type: "ReLU"
  729.   bottom: "res3b_branch2a"
  730.   top: "res3b_branch2a"
  731. }
  732. layer {
  733.   name: "res3b_branch2b"
  734.   type: "Convolution"
  735.   bottom: "res3b_branch2a"
  736.   top: "res3b_branch2b"
  737.   convolution_param {
  738.     num_output: 128
  739.     bias_term: false
  740.     pad: 1
  741.     kernel_size: 3
  742.     stride: 1
  743.     weight_filler {
  744.       type: "xavier"
  745.     }
  746.     bias_filler {
  747.       type: "constant"
  748.       value: 0.2
  749.     }
  750.   }
  751. }
  752. layer {
  753.   name: "bn3b_branch2b"
  754.   type: "BatchNorm"
  755.   bottom: "res3b_branch2b"
  756.   top: "res3b_branch2b"
  757.   batch_norm_param {
  758.   }
  759. }
  760. layer {
  761.   name: "scale3b_branch2b"
  762.   type: "Scale"
  763.   bottom: "res3b_branch2b"
  764.   top: "res3b_branch2b"
  765.   scale_param {
  766.     bias_term: true
  767.   }
  768. }
  769. layer {
  770.   name: "res3b_branch2b_relu"
  771.   type: "ReLU"
  772.   bottom: "res3b_branch2b"
  773.   top: "res3b_branch2b"
  774. }
  775. layer {
  776.   name: "res3b_branch2c"
  777.   type: "Convolution"
  778.   bottom: "res3b_branch2b"
  779.   top: "res3b_branch2c"
  780.   convolution_param {
  781.     num_output: 512
  782.     bias_term: false
  783.     pad: 0
  784.     kernel_size: 1
  785.     stride: 1
  786.     weight_filler {
  787.       type: "xavier"
  788.     }
  789.     bias_filler {
  790.       type: "constant"
  791.       value: 0.2
  792.     }
  793.   }
  794. }
  795. layer {
  796.   name: "bn3b_branch2c"
  797.   type: "BatchNorm"
  798.   bottom: "res3b_branch2c"
  799.   top: "res3b_branch2c"
  800.   batch_norm_param {
  801.   }
  802. }
  803. layer {
  804.   name: "scale3b_branch2c"
  805.   type: "Scale"
  806.   bottom: "res3b_branch2c"
  807.   top: "res3b_branch2c"
  808.   scale_param {
  809.     bias_term: true
  810.   }
  811. }
  812. layer {
  813.   name: "res3b"
  814.   type: "Eltwise"
  815.   bottom: "res3a"
  816.   bottom: "res3b_branch2c"
  817.   top: "res3b"
  818. }
  819. layer {
  820.   name: "res3b_relu"
  821.   type: "ReLU"
  822.   bottom: "res3b"
  823.   top: "res3b"
  824. }
  825.  
  826. # -------- added by S.Ko-------
  827. layer {
  828.   name: "poolFM"
  829.   type: "Pooling"
  830.   bottom: "res3b"
  831.   top: "poolFM"
  832.   pooling_param {
  833.     pool: AVE
  834.     kernel_size: 2
  835.     stride: 2
  836.   }
  837. }
  838.  
  839.  
  840. layers {
  841.   name: 'upsampleFM'
  842.   bottom: 'poolFM'  
  843.   top: 'upsampleFM'      
  844.   type: DECONVOLUTION
  845.   weight_decay: 1
  846.   weight_decay: 0
  847.   convolution_param {
  848.       num_output: 512
  849.       pad: 0
  850.       kernel_size: 2
  851.       stride: 2
  852.       weight_filler { type: 'xavier' }
  853.   }
  854. }
  855.  
  856. layers {
  857.   name: 'concatFM'
  858.   type: CONCAT
  859.   bottom: 'res3b'
  860.   bottom: 'upsampleFM'
  861.   top: 'concatFM'
  862.  
  863. }
  864.  
  865.  
  866. ############## Light-ResNet Background Frames ###############
  867. layer {
  868.   name: "conv1-BG"
  869.   type: "Convolution"
  870.   bottom: "data"
  871.   top: "conv1-BG"
  872.   convolution_param {
  873.     num_output: 64
  874.     pad: 3
  875.     kernel_size: 7
  876.     stride: 2
  877.     weight_filler {
  878.       type: "xavier"
  879.     }
  880.     bias_filler {
  881.       type: "constant"
  882.       value: 0.2
  883.     }
  884.   }
  885. }
  886. layer {
  887.   name: "bn_conv1-BG"
  888.   type: "BatchNorm"
  889.   bottom: "conv1-BG"
  890.   top: "conv1-BG"
  891.   batch_norm_param {
  892.   }
  893. }
  894. layer {
  895.   name: "scale_conv1-BG"
  896.   type: "Scale"
  897.   bottom: "conv1-BG"
  898.   top: "conv1-BG"
  899.   scale_param {
  900.     bias_term: true
  901.   }
  902. }
  903. layer {
  904.   name: "conv1_relu-BG"
  905.   type: "ReLU"
  906.   bottom: "conv1-BG"
  907.   top: "conv1-BG"
  908. }
  909. layer {
  910.   name: "pool1-BG"
  911.   type: "Pooling"
  912.   bottom: "conv1-BG"
  913.   top: "pool1-BG"
  914.   pooling_param {
  915.     pool: MAX
  916.     kernel_size: 3
  917.     stride: 2
  918.   }
  919. }
  920. layer {
  921.   name: "res2a_branch1-BG"
  922.   type: "Convolution"
  923.   bottom: "pool1-BG"
  924.   top: "res2a_branch1-BG"
  925.   convolution_param {
  926.     num_output: 256
  927.     bias_term: false
  928.     pad: 0
  929.     kernel_size: 1
  930.     stride: 1
  931.     weight_filler {
  932.       type: "xavier"
  933.     }
  934.     bias_filler {
  935.       type: "constant"
  936.       value: 0.2
  937.     }
  938.   }
  939. }
  940. layer {
  941.   name: "bn2a_branch1-BG"
  942.   type: "BatchNorm"
  943.   bottom: "res2a_branch1-BG"
  944.   top: "res2a_branch1-BG"
  945.   batch_norm_param {
  946.   }
  947. }
  948. layer {
  949.   name: "scale2a_branch1-BG"
  950.   type: "Scale"
  951.   bottom: "res2a_branch1-BG"
  952.   top: "res2a_branch1-BG"
  953.   scale_param {
  954.     bias_term: true
  955.   }
  956. }
  957. layer {
  958.   name: "res2a_branch2a-BG"
  959.   type: "Convolution"
  960.   bottom: "pool1-BG"
  961.   top: "res2a_branch2a-BG"
  962.   convolution_param {
  963.     num_output: 64
  964.     bias_term: false
  965.     pad: 0
  966.     kernel_size: 1
  967.     stride: 1
  968.     weight_filler {
  969.       type: "xavier"
  970.     }
  971.     bias_filler {
  972.       type: "constant"
  973.       value: 0.2
  974.     }
  975.   }
  976. }
  977. layer {
  978.   name: "bn2a_branch2a-BG"
  979.   type: "BatchNorm"
  980.   bottom: "res2a_branch2a-BG"
  981.   top: "res2a_branch2a-BG"
  982.   batch_norm_param {
  983.   }
  984. }
  985. layer {
  986.   name: "scale2a_branch2a-BG"
  987.   type: "Scale"
  988.   bottom: "res2a_branch2a-BG"
  989.   top: "res2a_branch2a-BG"
  990.   scale_param {
  991.     bias_term: true
  992.   }
  993. }
  994. layer {
  995.   name: "res2a_branch2a_relu-BG"
  996.   type: "ReLU"
  997.   bottom: "res2a_branch2a-BG"
  998.   top: "res2a_branch2a-BG"
  999. }
  1000. layer {
  1001.   name: "res2a_branch2b-BG"
  1002.   type: "Convolution"
  1003.   bottom: "res2a_branch2a-BG"
  1004.   top: "res2a_branch2b-BG"
  1005.   convolution_param {
  1006.     num_output: 64
  1007.     bias_term: false
  1008.     pad: 1
  1009.     kernel_size: 3
  1010.     stride: 1
  1011.     weight_filler {
  1012.       type: "xavier"
  1013.     }
  1014.     bias_filler {
  1015.       type: "constant"
  1016.       value: 0.2
  1017.     }
  1018.   }
  1019. }
  1020. layer {
  1021.   name: "bn2a_branch2b-BG"
  1022.   type: "BatchNorm"
  1023.   bottom: "res2a_branch2b-BG"
  1024.   top: "res2a_branch2b-BG"
  1025.   batch_norm_param {
  1026.   }
  1027. }
  1028. layer {
  1029.   name: "scale2a_branch2b-BG"
  1030.   type: "Scale"
  1031.   bottom: "res2a_branch2b-BG"
  1032.   top: "res2a_branch2b-BG"
  1033.   scale_param {
  1034.     bias_term: true
  1035.   }
  1036. }
  1037. layer {
  1038.   name: "res2a_branch2b_relu-BG"
  1039.   type: "ReLU"
  1040.   bottom: "res2a_branch2b-BG"
  1041.   top: "res2a_branch2b-BG"
  1042. }
  1043. layer {
  1044.   name: "res2a_branch2c-BG"
  1045.   type: "Convolution"
  1046.   bottom: "res2a_branch2b-BG"
  1047.   top: "res2a_branch2c-BG"
  1048.   convolution_param {
  1049.     num_output: 256
  1050.     bias_term: false
  1051.     pad: 0
  1052.     kernel_size: 1
  1053.     stride: 1
  1054.     weight_filler {
  1055.       type: "xavier"
  1056.     }
  1057.     bias_filler {
  1058.       type: "constant"
  1059.       value: 0.2
  1060.     }
  1061.   }
  1062. }
  1063. layer {
  1064.   name: "bn2a_branch2c-BG"
  1065.   type: "BatchNorm"
  1066.   bottom: "res2a_branch2c-BG"
  1067.   top: "res2a_branch2c-BG"
  1068.   batch_norm_param {
  1069.   }
  1070. }
  1071. layer {
  1072.   name: "scale2a_branch2c-BG"
  1073.   type: "Scale"
  1074.   bottom: "res2a_branch2c-BG"
  1075.   top: "res2a_branch2c-BG"
  1076.   scale_param {
  1077.     bias_term: true
  1078.   }
  1079. }
  1080. layer {
  1081.   name: "res2a-BG"
  1082.   type: "Eltwise"
  1083.   bottom: "res2a_branch1-BG"
  1084.   bottom: "res2a_branch2c-BG"
  1085.   top: "res2a-BG"
  1086. }
  1087. layer {
  1088.   name: "res2a_relu-BG"
  1089.   type: "ReLU"
  1090.   bottom: "res2a-BG"
  1091.   top: "res2a-BG"
  1092. }
  1093. layer {
  1094.   name: "res2b_branch2a-BG"
  1095.   type: "Convolution"
  1096.   bottom: "res2a-BG"
  1097.   top: "res2b_branch2a-BG"
  1098.   convolution_param {
  1099.     num_output: 64
  1100.     bias_term: false
  1101.     pad: 0
  1102.     kernel_size: 1
  1103.     stride: 1
  1104.     weight_filler {
  1105.       type: "xavier"
  1106.     }
  1107.     bias_filler {
  1108.       type: "constant"
  1109.       value: 0.2
  1110.     }
  1111.   }
  1112. }
  1113. layer {
  1114.   name: "bn2b_branch2a-BG"
  1115.   type: "BatchNorm"
  1116.   bottom: "res2b_branch2a-BG"
  1117.   top: "res2b_branch2a-BG"
  1118.   batch_norm_param {
  1119.   }
  1120. }
  1121. layer {
  1122.   name: "scale2b_branch2a-BG"
  1123.   type: "Scale"
  1124.   bottom: "res2b_branch2a-BG"
  1125.   top: "res2b_branch2a-BG"
  1126.   scale_param {
  1127.     bias_term: true
  1128.   }
  1129. }
  1130. layer {
  1131.   name: "res2b_branch2a_relu-BG"
  1132.   type: "ReLU"
  1133.   bottom: "res2b_branch2a-BG"
  1134.   top: "res2b_branch2a-BG"
  1135. }
  1136. layer {
  1137.   name: "res2b_branch2b-BG"
  1138.   type: "Convolution"
  1139.   bottom: "res2b_branch2a-BG"
  1140.   top: "res2b_branch2b-BG"
  1141.   convolution_param {
  1142.     num_output: 64
  1143.     bias_term: false
  1144.     pad: 1
  1145.     kernel_size: 3
  1146.     stride: 1
  1147.     weight_filler {
  1148.       type: "xavier"
  1149.     }
  1150.     bias_filler {
  1151.       type: "constant"
  1152.       value: 0.2
  1153.     }
  1154.   }
  1155. }
  1156. layer {
  1157.   name: "bn2b_branch2b-BG"
  1158.   type: "BatchNorm"
  1159.   bottom: "res2b_branch2b-BG"
  1160.   top: "res2b_branch2b-BG"
  1161.   batch_norm_param {
  1162.   }
  1163. }
  1164. layer {
  1165.   name: "scale2b_branch2b-BG"
  1166.   type: "Scale"
  1167.   bottom: "res2b_branch2b-BG"
  1168.   top: "res2b_branch2b-BG"
  1169.   scale_param {
  1170.     bias_term: true
  1171.   }
  1172. }
  1173. layer {
  1174.   name: "res2b_branch2b_relu-BG"
  1175.   type: "ReLU"
  1176.   bottom: "res2b_branch2b-BG"
  1177.   top: "res2b_branch2b-BG"
  1178. }
  1179. layer {
  1180.   name: "res2b_branch2c-BG"
  1181.   type: "Convolution"
  1182.   bottom: "res2b_branch2b-BG"
  1183.   top: "res2b_branch2c-BG"
  1184.   convolution_param {
  1185.     num_output: 256
  1186.     bias_term: false
  1187.     pad: 0
  1188.     kernel_size: 1
  1189.     stride: 1
  1190.     weight_filler {
  1191.       type: "xavier"
  1192.     }
  1193.     bias_filler {
  1194.       type: "constant"
  1195.       value: 0.2
  1196.     }
  1197.   }
  1198. }
  1199. layer {
  1200.   name: "bn2b_branch2c-BG"
  1201.   type: "BatchNorm"
  1202.   bottom: "res2b_branch2c-BG"
  1203.   top: "res2b_branch2c-BG"
  1204.   batch_norm_param {
  1205.   }
  1206. }
  1207. layer {
  1208.   name: "scale2b_branch2c-BG"
  1209.   type: "Scale"
  1210.   bottom: "res2b_branch2c-BG"
  1211.   top: "res2b_branch2c-BG"
  1212.   scale_param {
  1213.     bias_term: true
  1214.   }
  1215. }
  1216. layer {
  1217.   name: "res2b-BG"
  1218.   type: "Eltwise"
  1219.   bottom: "res2a-BG"
  1220.   bottom: "res2b_branch2c-BG"
  1221.   top: "res2b-BG"
  1222. }
  1223. layer {
  1224.   name: "res2b_relu-BG"
  1225.   type: "ReLU"
  1226.   bottom: "res2b-BG"
  1227.   top: "res2b-BG"
  1228. }
  1229. layer {
  1230.   name: "res2c_branch2a-BG"
  1231.   type: "Convolution"
  1232.   bottom: "res2b-BG"
  1233.   top: "res2c_branch2a-BG"
  1234.   convolution_param {
  1235.     num_output: 64
  1236.     bias_term: false
  1237.     pad: 0
  1238.     kernel_size: 1
  1239.     stride: 1
  1240.     weight_filler {
  1241.       type: "xavier"
  1242.     }
  1243.     bias_filler {
  1244.       type: "constant"
  1245.       value: 0.2
  1246.     }
  1247.   }
  1248. }
  1249. layer {
  1250.   name: "bn2c_branch2a-BG"
  1251.   type: "BatchNorm"
  1252.   bottom: "res2c_branch2a-BG"
  1253.   top: "res2c_branch2a-BG"
  1254.   batch_norm_param {
  1255.   }
  1256. }
  1257. layer {
  1258.   name: "scale2c_branch2a-BG"
  1259.   type: "Scale"
  1260.   bottom: "res2c_branch2a-BG"
  1261.   top: "res2c_branch2a-BG"
  1262.   scale_param {
  1263.     bias_term: true
  1264.   }
  1265. }
  1266. layer {
  1267.   name: "res2c_branch2a_relu-BG"
  1268.   type: "ReLU"
  1269.   bottom: "res2c_branch2a-BG"
  1270.   top: "res2c_branch2a-BG"
  1271. }
  1272. layer {
  1273.   name: "res2c_branch2b-BG"
  1274.   type: "Convolution"
  1275.   bottom: "res2c_branch2a-BG"
  1276.   top: "res2c_branch2b-BG"
  1277.   convolution_param {
  1278.     num_output: 64
  1279.     bias_term: false
  1280.     pad: 1
  1281.     kernel_size: 3
  1282.     stride: 1
  1283.     weight_filler {
  1284.       type: "xavier"
  1285.     }
  1286.     bias_filler {
  1287.       type: "constant"
  1288.       value: 0.2
  1289.     }
  1290.   }
  1291. }
  1292. layer {
  1293.   name: "bn2c_branch2b-BG"
  1294.   type: "BatchNorm"
  1295.   bottom: "res2c_branch2b-BG"
  1296.   top: "res2c_branch2b-BG"
  1297.   batch_norm_param {
  1298.   }
  1299. }
  1300. layer {
  1301.   name: "scale2c_branch2b-BG"
  1302.   type: "Scale"
  1303.   bottom: "res2c_branch2b-BG"
  1304.   top: "res2c_branch2b-BG"
  1305.   scale_param {
  1306.     bias_term: true
  1307.   }
  1308. }
  1309. layer {
  1310.   name: "res2c_branch2b_relu-BG"
  1311.   type: "ReLU"
  1312.   bottom: "res2c_branch2b-BG"
  1313.   top: "res2c_branch2b-BG"
  1314. }
  1315. layer {
  1316.   name: "res2c_branch2c-BG"
  1317.   type: "Convolution"
  1318.   bottom: "res2c_branch2b-BG"
  1319.   top: "res2c_branch2c-BG"
  1320.   convolution_param {
  1321.     num_output: 256
  1322.     bias_term: false
  1323.     pad: 0
  1324.     kernel_size: 1
  1325.     stride: 1
  1326.     weight_filler {
  1327.       type: "xavier"
  1328.     }
  1329.     bias_filler {
  1330.       type: "constant"
  1331.       value: 0.2
  1332.     }
  1333.   }
  1334. }
  1335. layer {
  1336.   name: "bn2c_branch2c-BG"
  1337.   type: "BatchNorm"
  1338.   bottom: "res2c_branch2c-BG"
  1339.   top: "res2c_branch2c-BG"
  1340.   batch_norm_param {
  1341.   }
  1342. }
  1343. layer {
  1344.   name: "scale2c_branch2c-BG"
  1345.   type: "Scale"
  1346.   bottom: "res2c_branch2c-BG"
  1347.   top: "res2c_branch2c-BG"
  1348.   scale_param {
  1349.     bias_term: true
  1350.   }
  1351. }
  1352. layer {
  1353.   name: "res2c-BG"
  1354.   type: "Eltwise"
  1355.   bottom: "res2b-BG"
  1356.   bottom: "res2c_branch2c-BG"
  1357.   top: "res2c-BG"
  1358. }
  1359. layer {
  1360.   name: "res2c_relu-BG"
  1361.   type: "ReLU"
  1362.   bottom: "res2c-BG"
  1363.   top: "res2c-BG"
  1364. }
  1365. layer {
  1366.   name: "res3a_branch1-BG"
  1367.   type: "Convolution"
  1368.   bottom: "res2c-BG"
  1369.   top: "res3a_branch1-BG"
  1370.   convolution_param {
  1371.     num_output: 512
  1372.     bias_term: false
  1373.     pad: 0
  1374.     kernel_size: 1
  1375.     stride: 2
  1376.     weight_filler {
  1377.       type: "xavier"
  1378.     }
  1379.     bias_filler {
  1380.       type: "constant"
  1381.       value: 0.2
  1382.     }
  1383.   }
  1384. }
  1385. layer {
  1386.   name: "bn3a_branch1-BG"
  1387.   type: "BatchNorm"
  1388.   bottom: "res3a_branch1-BG"
  1389.   top: "res3a_branch1-BG"
  1390.   batch_norm_param {
  1391.   }
  1392. }
  1393. layer {
  1394.   name: "scale3a_branch1-BG"
  1395.   type: "Scale"
  1396.   bottom: "res3a_branch1-BG"
  1397.   top: "res3a_branch1-BG"
  1398.   scale_param {
  1399.     bias_term: true
  1400.   }
  1401. }
  1402. layer {
  1403.   name: "res3a_branch2a-BG"
  1404.   type: "Convolution"
  1405.   bottom: "res2c-BG"
  1406.   top: "res3a_branch2a-BG"
  1407.   convolution_param {
  1408.     num_output: 128
  1409.     bias_term: false
  1410.     pad: 0
  1411.     kernel_size: 1
  1412.     stride: 2
  1413.     weight_filler {
  1414.       type: "xavier"
  1415.     }
  1416.     bias_filler {
  1417.       type: "constant"
  1418.       value: 0.2
  1419.     }
  1420.   }
  1421. }
  1422. layer {
  1423.   name: "bn3a_branch2a-BG"
  1424.   type: "BatchNorm"
  1425.   bottom: "res3a_branch2a-BG"
  1426.   top: "res3a_branch2a-BG"
  1427.   batch_norm_param {
  1428.   }
  1429. }
  1430. layer {
  1431.   name: "scale3a_branch2a-BG"
  1432.   type: "Scale"
  1433.   bottom: "res3a_branch2a-BG"
  1434.   top: "res3a_branch2a-BG"
  1435.   scale_param {
  1436.     bias_term: true
  1437.   }
  1438. }
  1439. layer {
  1440.   name: "res3a_branch2a_relu-BG"
  1441.   type: "ReLU"
  1442.   bottom: "res3a_branch2a-BG"
  1443.   top: "res3a_branch2a-BG"
  1444. }
  1445. layer {
  1446.   name: "res3a_branch2b-BG"
  1447.   type: "Convolution"
  1448.   bottom: "res3a_branch2a-BG"
  1449.   top: "res3a_branch2b-BG"
  1450.   convolution_param {
  1451.     num_output: 128
  1452.     bias_term: false
  1453.     pad: 1
  1454.     kernel_size: 3
  1455.     stride: 1
  1456.     weight_filler {
  1457.       type: "xavier"
  1458.     }
  1459.     bias_filler {
  1460.       type: "constant"
  1461.       value: 0.2
  1462.     }
  1463.   }
  1464. }
  1465. layer {
  1466.   name: "bn3a_branch2b-BG"
  1467.   type: "BatchNorm"
  1468.   bottom: "res3a_branch2b-BG"
  1469.   top: "res3a_branch2b-BG"
  1470.   batch_norm_param {
  1471.   }
  1472. }
  1473. layer {
  1474.   name: "scale3a_branch2b-BG"
  1475.   type: "Scale"
  1476.   bottom: "res3a_branch2b-BG"
  1477.   top: "res3a_branch2b-BG"
  1478.   scale_param {
  1479.     bias_term: true
  1480.   }
  1481. }
  1482. layer {
  1483.   name: "res3a_branch2b_relu-BG"
  1484.   type: "ReLU"
  1485.   bottom: "res3a_branch2b-BG"
  1486.   top: "res3a_branch2b-BG"
  1487. }
  1488. layer {
  1489.   name: "res3a_branch2c-BG"
  1490.   type: "Convolution"
  1491.   bottom: "res3a_branch2b-BG"
  1492.   top: "res3a_branch2c-BG"
  1493.   convolution_param {
  1494.     num_output: 512
  1495.     bias_term: false
  1496.     pad: 0
  1497.     kernel_size: 1
  1498.     stride: 1
  1499.     weight_filler {
  1500.       type: "xavier"
  1501.     }
  1502.     bias_filler {
  1503.       type: "constant"
  1504.       value: 0.2
  1505.     }
  1506.   }
  1507. }
  1508. layer {
  1509.   name: "bn3a_branch2c-BG"
  1510.   type: "BatchNorm"
  1511.   bottom: "res3a_branch2c-BG"
  1512.   top: "res3a_branch2c-BG"
  1513.   batch_norm_param {
  1514.   }
  1515. }
  1516. layer {
  1517.   name: "scale3a_branch2c-BG"
  1518.   type: "Scale"
  1519.   bottom: "res3a_branch2c-BG"
  1520.   top: "res3a_branch2c-BG"
  1521.   scale_param {
  1522.     bias_term: true
  1523.   }
  1524. }
  1525. layer {
  1526.   name: "res3a-BG"
  1527.   type: "Eltwise"
  1528.   bottom: "res3a_branch1-BG"
  1529.   bottom: "res3a_branch2c-BG"
  1530.   top: "res3a-BG"
  1531. }
  1532. layer {
  1533.   name: "res3a_relu-BG"
  1534.   type: "ReLU"
  1535.   bottom: "res3a-BG"
  1536.   top: "res3a-BG"
  1537. }
  1538. layer {
  1539.   name: "res3b_branch2a-BG"
  1540.   type: "Convolution"
  1541.   bottom: "res3a-BG"
  1542.   top: "res3b_branch2a-BG"
  1543.   convolution_param {
  1544.     num_output: 128
  1545.     bias_term: false
  1546.     pad: 0
  1547.     kernel_size: 1
  1548.     stride: 1
  1549.     weight_filler {
  1550.       type: "xavier"
  1551.     }
  1552.     bias_filler {
  1553.       type: "constant"
  1554.       value: 0.2
  1555.     }
  1556.   }
  1557. }
  1558. layer {
  1559.   name: "bn3b_branch2a-BG"
  1560.   type: "BatchNorm"
  1561.   bottom: "res3b_branch2a-BG"
  1562.   top: "res3b_branch2a-BG"
  1563.   batch_norm_param {
  1564.   }
  1565. }
  1566. layer {
  1567.   name: "scale3b_branch2a-BG"
  1568.   type: "Scale"
  1569.   bottom: "res3b_branch2a-BG"
  1570.   top: "res3b_branch2a-BG"
  1571.   scale_param {
  1572.     bias_term: true
  1573.   }
  1574. }
  1575. layer {
  1576.   name: "res3b_branch2a_relu-BG"
  1577.   type: "ReLU"
  1578.   bottom: "res3b_branch2a-BG"
  1579.   top: "res3b_branch2a-BG"
  1580. }
  1581. layer {
  1582.   name: "res3b_branch2b-BG"
  1583.   type: "Convolution"
  1584.   bottom: "res3b_branch2a-BG"
  1585.   top: "res3b_branch2b-BG"
  1586.   convolution_param {
  1587.     num_output: 128
  1588.     bias_term: false
  1589.     pad: 1
  1590.     kernel_size: 3
  1591.     stride: 1
  1592.     weight_filler {
  1593.       type: "xavier"
  1594.     }
  1595.     bias_filler {
  1596.       type: "constant"
  1597.       value: 0.2
  1598.     }
  1599.   }
  1600. }
  1601. layer {
  1602.   name: "bn3b_branch2b-BG"
  1603.   type: "BatchNorm"
  1604.   bottom: "res3b_branch2b-BG"
  1605.   top: "res3b_branch2b-BG"
  1606.   batch_norm_param {
  1607.   }
  1608. }
  1609. layer {
  1610.   name: "scale3b_branch2b-BG"
  1611.   type: "Scale"
  1612.   bottom: "res3b_branch2b-BG"
  1613.   top: "res3b_branch2b-BG"
  1614.   scale_param {
  1615.     bias_term: true
  1616.   }
  1617. }
  1618. layer {
  1619.   name: "res3b_branch2b_relu-BG"
  1620.   type: "ReLU"
  1621.   bottom: "res3b_branch2b-BG"
  1622.   top: "res3b_branch2b-BG"
  1623. }
  1624. layer {
  1625.   name: "res3b_branch2c-BG"
  1626.   type: "Convolution"
  1627.   bottom: "res3b_branch2b-BG"
  1628.   top: "res3b_branch2c-BG"
  1629.   convolution_param {
  1630.     num_output: 512
  1631.     bias_term: false
  1632.     pad: 0
  1633.     kernel_size: 1
  1634.     stride: 1
  1635.     weight_filler {
  1636.       type: "xavier"
  1637.     }
  1638.     bias_filler {
  1639.       type: "constant"
  1640.       value: 0.2
  1641.     }
  1642.   }
  1643. }
  1644. layer {
  1645.   name: "bn3b_branch2c-BG"
  1646.   type: "BatchNorm"
  1647.   bottom: "res3b_branch2c-BG"
  1648.   top: "res3b_branch2c-BG"
  1649.   batch_norm_param {
  1650.   }
  1651. }
  1652. layer {
  1653.   name: "scale3b_branch2c-BG"
  1654.   type: "Scale"
  1655.   bottom: "res3b_branch2c-BG"
  1656.   top: "res3b_branch2c-BG"
  1657.   scale_param {
  1658.     bias_term: true
  1659.   }
  1660. }
  1661. layer {
  1662.   name: "res3b-BG"
  1663.   type: "Eltwise"
  1664.   bottom: "res3a-BG"
  1665.   bottom: "res3b_branch2c-BG"
  1666.   top: "res3b-BG"
  1667. }
  1668. layer {
  1669.   name: "res3b_relu-BG"
  1670.   type: "ReLU"
  1671.   bottom: "res3b-BG"
  1672.   top: "res3b-BG"
  1673. }
  1674.  
  1675. # -------- added by S.Ko-------
  1676. layer {
  1677.   name: "poolFM-BG"
  1678.   type: "Pooling"
  1679.   bottom: "res3b-BG"
  1680.   top: "poolFM-BG"
  1681.   pooling_param {
  1682.     pool: AVE
  1683.     kernel_size: 2
  1684.     stride: 2
  1685.   }
  1686. }
  1687.  
  1688.  
  1689. layers {
  1690.   name: 'upsampleFM-BG'
  1691.   bottom: 'poolFM-BG'  
  1692.   top: 'upsampleFM-BG'      
  1693.   type: DECONVOLUTION
  1694.   weight_decay: 1
  1695.   weight_decay: 0
  1696.   convolution_param {
  1697.       num_output: 512
  1698.       pad: 0
  1699.       kernel_size: 2
  1700.       stride: 2
  1701.       weight_filler { type: 'xavier' }
  1702.   }
  1703. }
  1704.  
  1705. layers {
  1706.   name: 'concatFM-BG'
  1707.   type: CONCAT
  1708.   bottom: 'res3b-BG'
  1709.   bottom: 'upsampleFM-BG'
  1710.   top: 'concatFM-BG'
  1711.  
  1712. }
  1713.  
  1714.  
  1715. ############## concate ###############
  1716. layers {
  1717.   name: 'concatFM-SUM'
  1718.   type: CONCAT
  1719.   bottom: 'concatFM'
  1720.   bottom: 'concatFM-BG'
  1721.   top: 'concatFM-SUM'
  1722. }
  1723.  
  1724. layers { bottom: 'concatFM-SUM' top: 'd2c' name: 'conv_d2bc'    type: CONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 256 pad: 0 kernel_size: 3 engine: CAFFE weight_filler { type: 'xavier' }} }
  1725. layers { bottom: 'd2c' top: 'd2c' name: 'relu_d2c'  type: RELU }
  1726. layers { bottom: 'd2c' top: 'd3a' name: 'pool_d2c-3a'   type: POOLING pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
  1727. layers { bottom: 'd3a' top: 'd3b' name: 'conv_d3ab' type: CONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 512 pad: 0 kernel_size: 3 engine: CAFFE weight_filler { type: 'xavier' }} }
  1728. layers { bottom: 'd3b' top: 'd3b' name: 'relu_d3b'  type: RELU }
  1729. layers { bottom: 'd3b' top: 'd3c' name: 'conv_d3bc' type: CONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 512 pad: 0 kernel_size: 3 engine: CAFFE weight_filler { type: 'xavier' }} }
  1730. layers { bottom: 'd3c' top: 'd3c' name: 'relu_d3c'  type: RELU }
  1731. layers { bottom: 'd3c' top: 'd3c' name: 'dropout_d3c'   type: DROPOUT dropout_param { dropout_ratio: 0.5 }
  1732. include: { phase: TRAIN }}
  1733. layers { bottom: 'd3c' top: 'd4a' name: 'pool_d3c-4a'   type: POOLING pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
  1734. layers { bottom: 'd4a' top: 'd4b' name: 'conv_d4ab' type: CONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 1024 pad: 0 kernel_size: 3 engine: CAFFE weight_filler { type: 'xavier' }} }
  1735. layers { bottom: 'd4b' top: 'd4b' name: 'relu_d4b'  type: RELU }
  1736. layers { bottom: 'd4b' top: 'd4c' name: 'conv_d4bc' type: CONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 1024 pad: 0 kernel_size: 3 engine: CAFFE weight_filler { type: 'xavier' }} }
  1737. layers { bottom: 'd4c' top: 'd4c' name: 'relu_d4c'  type: RELU }
  1738. layers { bottom: 'd4c' top: 'd4c' name: 'dropout_d4c'   type: DROPOUT dropout_param { dropout_ratio: 0.5 }
  1739. include: { phase: TRAIN }}
  1740. layers { bottom: 'd4c' top: 'u3a' name: 'upconv_d4c_u3a' type: DECONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 512 pad: 0 kernel_size: 2 stride: 2 weight_filler { type: 'xavier' }} }
  1741. layers { bottom: 'u3a' top: 'u3a' name: 'relu_u3a'  type: RELU }
  1742. layers { bottom: 'd3c' bottom: 'u3a' top: 'd3cc' name: 'crop_d3cd3cc'      type: CROP }
  1743. layers { bottom: 'u3a' bottom: 'd3cc' top: 'u3b' name: 'concat_d3cc_u3a-b' type: CONCAT }
  1744. layers { bottom: 'u3b' top: 'u3c' name: 'conv_u3bc'     type: CONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 512 pad: 0 kernel_size: 3 engine: CAFFE weight_filler { type: 'xavier' }} }
  1745. layers { bottom: 'u3c' top: 'u3c' name: 'relu_u3c'  type: RELU }
  1746. layers { bottom: 'u3c' top: 'u3d' name: 'conv_u3cd' type: CONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 512 pad: 0 kernel_size: 3 engine: CAFFE weight_filler { type: 'xavier' }} }
  1747. layers { bottom: 'u3d' top: 'u3d' name: 'relu_u3d'  type: RELU }
  1748. layers { bottom: 'u3d' top: 'u2a' name: 'upconv_u3d_u2a' type: DECONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 256 pad: 0 kernel_size: 2 stride: 2 weight_filler { type: 'xavier' }} }
  1749. layers { bottom: 'u2a' top: 'u2a' name: 'relu_u2a'  type: RELU }
  1750. layers { bottom: 'd2c' bottom: 'u2a' top: 'd2cc' name: 'crop_d2cd2cc' type: CROP }
  1751. layers { bottom: 'u2a' bottom: 'd2cc' top: 'u2b' name: 'concat_d2cc_u2a-b' type: CONCAT }
  1752. layers { bottom: 'u2b' top: 'FINAL' name: 'conv_u2bc'   type: CONVOLUTION blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0 convolution_param { num_output: 256 pad: 0 kernel_size: 3 engine: CAFFE weight_filler { type: 'xavier' }} }
RAW Paste Data
Top