ResNet-34 prototxt

train_val.prototxt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值