Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 63.55 KB | None | 0 0
  1. name: "ResNet-50"
  2. layer {
  3. name: 'input-data'
  4. type: 'Python'
  5. top: 'data'
  6. top: 'im_info'
  7. top: 'gt_boxes'
  8. python_param {
  9. module: 'roi_data_layer.layer'
  10. layer: 'RoIDataLayer'
  11. param_str: "'num_classes': 2"
  12. }
  13. }
  14.  
  15. # ------------------------ conv1 -----------------------------
  16. layer {
  17. bottom: "data"
  18. top: "conv1"
  19. name: "conv1"
  20. type: "Convolution"
  21. convolution_param {
  22. num_output: 64
  23. kernel_size: 7
  24. pad: 3
  25. stride: 2
  26. }
  27. param {
  28. lr_mult: 0.0
  29. }
  30. param {
  31. lr_mult: 0.0
  32. }
  33.  
  34. }
  35.  
  36. layer {
  37. bottom: "conv1"
  38. top: "conv1"
  39. name: "bn_conv1"
  40. type: "BatchNorm"
  41. batch_norm_param {
  42. use_global_stats: true
  43. }
  44. param {
  45. lr_mult: 0.0
  46. decay_mult: 0.0
  47. }
  48. param {
  49. lr_mult: 0.0
  50. decay_mult: 0.0
  51. }
  52. param {
  53. lr_mult: 0.0
  54. decay_mult: 0.0
  55. }
  56. }
  57.  
  58. layer {
  59. bottom: "conv1"
  60. top: "conv1"
  61. name: "scale_conv1"
  62. type: "Scale"
  63. scale_param {
  64. bias_term: true
  65. }
  66. param {
  67. lr_mult: 0.0
  68. decay_mult: 0.0
  69. }
  70. param {
  71. lr_mult: 0.0
  72. decay_mult: 0.0
  73. }
  74. }
  75.  
  76. layer {
  77. bottom: "conv1"
  78. top: "conv1"
  79. name: "conv1_relu"
  80. type: "ReLU"
  81. }
  82.  
  83. layer {
  84. bottom: "conv1"
  85. top: "pool1"
  86. name: "pool1"
  87. type: "Pooling"
  88. pooling_param {
  89. kernel_size: 3
  90. stride: 2
  91. pool: MAX
  92. }
  93. }
  94.  
  95. layer {
  96. bottom: "pool1"
  97. top: "res2a_branch1"
  98. name: "res2a_branch1"
  99. type: "Convolution"
  100. convolution_param {
  101. num_output: 256
  102. kernel_size: 1
  103. pad: 0
  104. stride: 1
  105. bias_term: false
  106. }
  107. param {
  108. lr_mult: 0.0
  109. }
  110. }
  111.  
  112. layer {
  113. bottom: "res2a_branch1"
  114. top: "res2a_branch1"
  115. name: "bn2a_branch1"
  116. type: "BatchNorm"
  117. batch_norm_param {
  118. use_global_stats: true
  119. }
  120. param {
  121. lr_mult: 0.0
  122. decay_mult: 0.0
  123. }
  124. param {
  125. lr_mult: 0.0
  126. decay_mult: 0.0
  127. }
  128. param {
  129. lr_mult: 0.0
  130. decay_mult: 0.0
  131. }
  132. }
  133.  
  134. layer {
  135. bottom: "res2a_branch1"
  136. top: "res2a_branch1"
  137. name: "scale2a_branch1"
  138. type: "Scale"
  139. scale_param {
  140. bias_term: true
  141. }
  142. param {
  143. lr_mult: 0.0
  144. decay_mult: 0.0
  145. }
  146. param {
  147. lr_mult: 0.0
  148. decay_mult: 0.0
  149. }
  150. }
  151.  
  152. layer {
  153. bottom: "pool1"
  154. top: "res2a_branch2a"
  155. name: "res2a_branch2a"
  156. type: "Convolution"
  157. convolution_param {
  158. num_output: 64
  159. kernel_size: 1
  160. pad: 0
  161. stride: 1
  162. bias_term: false
  163. }
  164. param {
  165. lr_mult: 0.0
  166. }
  167. }
  168.  
  169. layer {
  170. bottom: "res2a_branch2a"
  171. top: "res2a_branch2a"
  172. name: "bn2a_branch2a"
  173. type: "BatchNorm"
  174. batch_norm_param {
  175. use_global_stats: true
  176. }
  177. param {
  178. lr_mult: 0.0
  179. decay_mult: 0.0
  180. }
  181. param {
  182. lr_mult: 0.0
  183. decay_mult: 0.0
  184. }
  185. param {
  186. lr_mult: 0.0
  187. decay_mult: 0.0
  188. }
  189. }
  190.  
  191. layer {
  192. bottom: "res2a_branch2a"
  193. top: "res2a_branch2a"
  194. name: "scale2a_branch2a"
  195. type: "Scale"
  196. scale_param {
  197. bias_term: true
  198. }
  199. param {
  200. lr_mult: 0.0
  201. decay_mult: 0.0
  202. }
  203. param {
  204. lr_mult: 0.0
  205. decay_mult: 0.0
  206. }
  207. }
  208.  
  209. layer {
  210. bottom: "res2a_branch2a"
  211. top: "res2a_branch2a"
  212. name: "res2a_branch2a_relu"
  213. type: "ReLU"
  214. }
  215.  
  216. layer {
  217. bottom: "res2a_branch2a"
  218. top: "res2a_branch2b"
  219. name: "res2a_branch2b"
  220. type: "Convolution"
  221. convolution_param {
  222. num_output: 64
  223. kernel_size: 3
  224. pad: 1
  225. stride: 1
  226. bias_term: false
  227. }
  228. param {
  229. lr_mult: 0.0
  230. }
  231. }
  232.  
  233. layer {
  234. bottom: "res2a_branch2b"
  235. top: "res2a_branch2b"
  236. name: "bn2a_branch2b"
  237. type: "BatchNorm"
  238. batch_norm_param {
  239. use_global_stats: true
  240. }
  241. param {
  242. lr_mult: 0.0
  243. decay_mult: 0.0
  244. }
  245. param {
  246. lr_mult: 0.0
  247. decay_mult: 0.0
  248. }
  249. param {
  250. lr_mult: 0.0
  251. decay_mult: 0.0
  252. }
  253. }
  254.  
  255. layer {
  256. bottom: "res2a_branch2b"
  257. top: "res2a_branch2b"
  258. name: "scale2a_branch2b"
  259. type: "Scale"
  260. scale_param {
  261. bias_term: true
  262. }
  263. param {
  264. lr_mult: 0.0
  265. decay_mult: 0.0
  266. }
  267. param {
  268. lr_mult: 0.0
  269. decay_mult: 0.0
  270. }
  271. }
  272.  
  273. layer {
  274. bottom: "res2a_branch2b"
  275. top: "res2a_branch2b"
  276. name: "res2a_branch2b_relu"
  277. type: "ReLU"
  278. }
  279.  
  280. layer {
  281. bottom: "res2a_branch2b"
  282. top: "res2a_branch2c"
  283. name: "res2a_branch2c"
  284. type: "Convolution"
  285. convolution_param {
  286. num_output: 256
  287. kernel_size: 1
  288. pad: 0
  289. stride: 1
  290. bias_term: false
  291. }
  292. param {
  293. lr_mult: 0.0
  294. }
  295. }
  296.  
  297. layer {
  298. bottom: "res2a_branch2c"
  299. top: "res2a_branch2c"
  300. name: "bn2a_branch2c"
  301. type: "BatchNorm"
  302. batch_norm_param {
  303. use_global_stats: true
  304. }
  305. param {
  306. lr_mult: 0.0
  307. decay_mult: 0.0
  308. }
  309. param {
  310. lr_mult: 0.0
  311. decay_mult: 0.0
  312. }
  313. param {
  314. lr_mult: 0.0
  315. decay_mult: 0.0
  316. }
  317. }
  318.  
  319. layer {
  320. bottom: "res2a_branch2c"
  321. top: "res2a_branch2c"
  322. name: "scale2a_branch2c"
  323. type: "Scale"
  324. scale_param {
  325. bias_term: true
  326. }
  327. param {
  328. lr_mult: 0.0
  329. decay_mult: 0.0
  330. }
  331. param {
  332. lr_mult: 0.0
  333. decay_mult: 0.0
  334. }
  335. }
  336.  
  337. layer {
  338. bottom: "res2a_branch1"
  339. bottom: "res2a_branch2c"
  340. top: "res2a"
  341. name: "res2a"
  342. type: "Eltwise"
  343. }
  344.  
  345. layer {
  346. bottom: "res2a"
  347. top: "res2a"
  348. name: "res2a_relu"
  349. type: "ReLU"
  350. }
  351.  
  352. layer {
  353. bottom: "res2a"
  354. top: "res2b_branch2a"
  355. name: "res2b_branch2a"
  356. type: "Convolution"
  357. convolution_param {
  358. num_output: 64
  359. kernel_size: 1
  360. pad: 0
  361. stride: 1
  362. bias_term: false
  363. }
  364. param {
  365. lr_mult: 0.0
  366. }
  367. }
  368.  
  369. layer {
  370. bottom: "res2b_branch2a"
  371. top: "res2b_branch2a"
  372. name: "bn2b_branch2a"
  373. type: "BatchNorm"
  374. batch_norm_param {
  375. use_global_stats: true
  376. }
  377. param {
  378. lr_mult: 0.0
  379. decay_mult: 0.0
  380. }
  381. param {
  382. lr_mult: 0.0
  383. decay_mult: 0.0
  384. }
  385. param {
  386. lr_mult: 0.0
  387. decay_mult: 0.0
  388. }
  389. }
  390.  
  391. layer {
  392. bottom: "res2b_branch2a"
  393. top: "res2b_branch2a"
  394. name: "scale2b_branch2a"
  395. type: "Scale"
  396. scale_param {
  397. bias_term: true
  398. }
  399. param {
  400. lr_mult: 0.0
  401. decay_mult: 0.0
  402. }
  403. param {
  404. lr_mult: 0.0
  405. decay_mult: 0.0
  406. }
  407. }
  408.  
  409. layer {
  410. bottom: "res2b_branch2a"
  411. top: "res2b_branch2a"
  412. name: "res2b_branch2a_relu"
  413. type: "ReLU"
  414. }
  415.  
  416. layer {
  417. bottom: "res2b_branch2a"
  418. top: "res2b_branch2b"
  419. name: "res2b_branch2b"
  420. type: "Convolution"
  421. convolution_param {
  422. num_output: 64
  423. kernel_size: 3
  424. pad: 1
  425. stride: 1
  426. bias_term: false
  427. }
  428. param {
  429. lr_mult: 0.0
  430. }
  431. }
  432.  
  433. layer {
  434. bottom: "res2b_branch2b"
  435. top: "res2b_branch2b"
  436. name: "bn2b_branch2b"
  437. type: "BatchNorm"
  438. batch_norm_param {
  439. use_global_stats: true
  440. }
  441. param {
  442. lr_mult: 0.0
  443. decay_mult: 0.0
  444. }
  445. param {
  446. lr_mult: 0.0
  447. decay_mult: 0.0
  448. }
  449. param {
  450. lr_mult: 0.0
  451. decay_mult: 0.0
  452. }
  453. }
  454.  
  455. layer {
  456. bottom: "res2b_branch2b"
  457. top: "res2b_branch2b"
  458. name: "scale2b_branch2b"
  459. type: "Scale"
  460. scale_param {
  461. bias_term: true
  462. }
  463. param {
  464. lr_mult: 0.0
  465. decay_mult: 0.0
  466. }
  467. param {
  468. lr_mult: 0.0
  469. decay_mult: 0.0
  470. }
  471. }
  472.  
  473. layer {
  474. bottom: "res2b_branch2b"
  475. top: "res2b_branch2b"
  476. name: "res2b_branch2b_relu"
  477. type: "ReLU"
  478. }
  479.  
  480. layer {
  481. bottom: "res2b_branch2b"
  482. top: "res2b_branch2c"
  483. name: "res2b_branch2c"
  484. type: "Convolution"
  485. convolution_param {
  486. num_output: 256
  487. kernel_size: 1
  488. pad: 0
  489. stride: 1
  490. bias_term: false
  491. }
  492. param {
  493. lr_mult: 0.0
  494. }
  495. }
  496.  
  497. layer {
  498. bottom: "res2b_branch2c"
  499. top: "res2b_branch2c"
  500. name: "bn2b_branch2c"
  501. type: "BatchNorm"
  502. batch_norm_param {
  503. use_global_stats: true
  504. }
  505. param {
  506. lr_mult: 0.0
  507. decay_mult: 0.0
  508. }
  509. param {
  510. lr_mult: 0.0
  511. decay_mult: 0.0
  512. }
  513. param {
  514. lr_mult: 0.0
  515. decay_mult: 0.0
  516. }
  517. }
  518.  
  519. layer {
  520. bottom: "res2b_branch2c"
  521. top: "res2b_branch2c"
  522. name: "scale2b_branch2c"
  523. type: "Scale"
  524. scale_param {
  525. bias_term: true
  526. }
  527. param {
  528. lr_mult: 0.0
  529. decay_mult: 0.0
  530. }
  531. param {
  532. lr_mult: 0.0
  533. decay_mult: 0.0
  534. }
  535. }
  536.  
  537. layer {
  538. bottom: "res2a"
  539. bottom: "res2b_branch2c"
  540. top: "res2b"
  541. name: "res2b"
  542. type: "Eltwise"
  543. }
  544.  
  545. layer {
  546. bottom: "res2b"
  547. top: "res2b"
  548. name: "res2b_relu"
  549. type: "ReLU"
  550. }
  551.  
  552. layer {
  553. bottom: "res2b"
  554. top: "res2c_branch2a"
  555. name: "res2c_branch2a"
  556. type: "Convolution"
  557. convolution_param {
  558. num_output: 64
  559. kernel_size: 1
  560. pad: 0
  561. stride: 1
  562. bias_term: false
  563. }
  564. param {
  565. lr_mult: 0.0
  566. }
  567. }
  568.  
  569. layer {
  570. bottom: "res2c_branch2a"
  571. top: "res2c_branch2a"
  572. name: "bn2c_branch2a"
  573. type: "BatchNorm"
  574. batch_norm_param {
  575. use_global_stats: true
  576. }
  577. param {
  578. lr_mult: 0.0
  579. decay_mult: 0.0
  580. }
  581. param {
  582. lr_mult: 0.0
  583. decay_mult: 0.0
  584. }
  585. param {
  586. lr_mult: 0.0
  587. decay_mult: 0.0
  588. }
  589. }
  590.  
  591. layer {
  592. bottom: "res2c_branch2a"
  593. top: "res2c_branch2a"
  594. name: "scale2c_branch2a"
  595. type: "Scale"
  596. scale_param {
  597. bias_term: true
  598. }
  599. param {
  600. lr_mult: 0.0
  601. decay_mult: 0.0
  602. }
  603. param {
  604. lr_mult: 0.0
  605. decay_mult: 0.0
  606. }
  607. }
  608.  
  609. layer {
  610. bottom: "res2c_branch2a"
  611. top: "res2c_branch2a"
  612. name: "res2c_branch2a_relu"
  613. type: "ReLU"
  614. }
  615.  
  616. layer {
  617. bottom: "res2c_branch2a"
  618. top: "res2c_branch2b"
  619. name: "res2c_branch2b"
  620. type: "Convolution"
  621. convolution_param {
  622. num_output: 64
  623. kernel_size: 3
  624. pad: 1
  625. stride: 1
  626. bias_term: false
  627. }
  628. param {
  629. lr_mult: 0.0
  630. }
  631. }
  632.  
  633. layer {
  634. bottom: "res2c_branch2b"
  635. top: "res2c_branch2b"
  636. name: "bn2c_branch2b"
  637. type: "BatchNorm"
  638. batch_norm_param {
  639. use_global_stats: true
  640. }
  641. param {
  642. lr_mult: 0.0
  643. decay_mult: 0.0
  644. }
  645. param {
  646. lr_mult: 0.0
  647. decay_mult: 0.0
  648. }
  649. param {
  650. lr_mult: 0.0
  651. decay_mult: 0.0
  652. }
  653. }
  654.  
  655. layer {
  656. bottom: "res2c_branch2b"
  657. top: "res2c_branch2b"
  658. name: "scale2c_branch2b"
  659. type: "Scale"
  660. scale_param {
  661. bias_term: true
  662. }
  663. param {
  664. lr_mult: 0.0
  665. decay_mult: 0.0
  666. }
  667. param {
  668. lr_mult: 0.0
  669. decay_mult: 0.0
  670. }
  671. }
  672.  
  673. layer {
  674. bottom: "res2c_branch2b"
  675. top: "res2c_branch2b"
  676. name: "res2c_branch2b_relu"
  677. type: "ReLU"
  678. }
  679.  
  680. layer {
  681. bottom: "res2c_branch2b"
  682. top: "res2c_branch2c"
  683. name: "res2c_branch2c"
  684. type: "Convolution"
  685. convolution_param {
  686. num_output: 256
  687. kernel_size: 1
  688. pad: 0
  689. stride: 1
  690. bias_term: false
  691. }
  692. param {
  693. lr_mult: 0.0
  694. }
  695. }
  696.  
  697. layer {
  698. bottom: "res2c_branch2c"
  699. top: "res2c_branch2c"
  700. name: "bn2c_branch2c"
  701. type: "BatchNorm"
  702. batch_norm_param {
  703. use_global_stats: true
  704. }
  705. param {
  706. lr_mult: 0.0
  707. decay_mult: 0.0
  708. }
  709. param {
  710. lr_mult: 0.0
  711. decay_mult: 0.0
  712. }
  713. param {
  714. lr_mult: 0.0
  715. decay_mult: 0.0
  716. }
  717. }
  718.  
  719. layer {
  720. bottom: "res2c_branch2c"
  721. top: "res2c_branch2c"
  722. name: "scale2c_branch2c"
  723. type: "Scale"
  724. scale_param {
  725. bias_term: true
  726. }
  727. param {
  728. lr_mult: 0.0
  729. decay_mult: 0.0
  730. }
  731. param {
  732. lr_mult: 0.0
  733. decay_mult: 0.0
  734. }
  735. }
  736.  
  737. layer {
  738. bottom: "res2b"
  739. bottom: "res2c_branch2c"
  740. top: "res2c"
  741. name: "res2c"
  742. type: "Eltwise"
  743. }
  744.  
  745. layer {
  746. bottom: "res2c"
  747. top: "res2c"
  748. name: "res2c_relu"
  749. type: "ReLU"
  750. }
  751.  
  752. layer {
  753. bottom: "res2c"
  754. top: "res3a_branch1"
  755. name: "res3a_branch1"
  756. type: "Convolution"
  757. convolution_param {
  758. num_output: 512
  759. kernel_size: 1
  760. pad: 0
  761. stride: 2
  762. bias_term: false
  763. }
  764. param {
  765. lr_mult: 1.0
  766. }
  767. }
  768.  
  769. layer {
  770. bottom: "res3a_branch1"
  771. top: "res3a_branch1"
  772. name: "bn3a_branch1"
  773. type: "BatchNorm"
  774. batch_norm_param {
  775. use_global_stats: true
  776. }
  777. param {
  778. lr_mult: 0.0
  779. decay_mult: 0.0
  780. }
  781. param {
  782. lr_mult: 0.0
  783. decay_mult: 0.0
  784. }
  785. param {
  786. lr_mult: 0.0
  787. decay_mult: 0.0
  788. }
  789. }
  790.  
  791. layer {
  792. bottom: "res3a_branch1"
  793. top: "res3a_branch1"
  794. name: "scale3a_branch1"
  795. type: "Scale"
  796. scale_param {
  797. bias_term: true
  798. }
  799. param {
  800. lr_mult: 0.0
  801. decay_mult: 0.0
  802. }
  803. param {
  804. lr_mult: 0.0
  805. decay_mult: 0.0
  806. }
  807. }
  808.  
  809. layer {
  810. bottom: "res2c"
  811. top: "res3a_branch2a"
  812. name: "res3a_branch2a"
  813. type: "Convolution"
  814. convolution_param {
  815. num_output: 128
  816. kernel_size: 1
  817. pad: 0
  818. stride: 2
  819. bias_term: false
  820. }
  821. param {
  822. lr_mult: 1.0
  823. }
  824. }
  825.  
  826. layer {
  827. bottom: "res3a_branch2a"
  828. top: "res3a_branch2a"
  829. name: "bn3a_branch2a"
  830. type: "BatchNorm"
  831. batch_norm_param {
  832. use_global_stats: true
  833. }
  834. param {
  835. lr_mult: 0.0
  836. decay_mult: 0.0
  837. }
  838. param {
  839. lr_mult: 0.0
  840. decay_mult: 0.0
  841. }
  842. param {
  843. lr_mult: 0.0
  844. decay_mult: 0.0
  845. }
  846. }
  847.  
  848. layer {
  849. bottom: "res3a_branch2a"
  850. top: "res3a_branch2a"
  851. name: "scale3a_branch2a"
  852. type: "Scale"
  853. scale_param {
  854. bias_term: true
  855. }
  856. param {
  857. lr_mult: 0.0
  858. decay_mult: 0.0
  859. }
  860. param {
  861. lr_mult: 0.0
  862. decay_mult: 0.0
  863. }
  864. }
  865.  
  866. layer {
  867. bottom: "res3a_branch2a"
  868. top: "res3a_branch2a"
  869. name: "res3a_branch2a_relu"
  870. type: "ReLU"
  871. }
  872.  
  873. layer {
  874. bottom: "res3a_branch2a"
  875. top: "res3a_branch2b"
  876. name: "res3a_branch2b"
  877. type: "Convolution"
  878. convolution_param {
  879. num_output: 128
  880. kernel_size: 3
  881. pad: 1
  882. stride: 1
  883. bias_term: false
  884. }
  885. param {
  886. lr_mult: 1.0
  887. }
  888. }
  889.  
  890. layer {
  891. bottom: "res3a_branch2b"
  892. top: "res3a_branch2b"
  893. name: "bn3a_branch2b"
  894. type: "BatchNorm"
  895. batch_norm_param {
  896. use_global_stats: true
  897. }
  898. param {
  899. lr_mult: 0.0
  900. decay_mult: 0.0
  901. }
  902. param {
  903. lr_mult: 0.0
  904. decay_mult: 0.0
  905. }
  906. param {
  907. lr_mult: 0.0
  908. decay_mult: 0.0
  909. }
  910. }
  911.  
  912. layer {
  913. bottom: "res3a_branch2b"
  914. top: "res3a_branch2b"
  915. name: "scale3a_branch2b"
  916. type: "Scale"
  917. scale_param {
  918. bias_term: true
  919. }
  920. param {
  921. lr_mult: 0.0
  922. decay_mult: 0.0
  923. }
  924. param {
  925. lr_mult: 0.0
  926. decay_mult: 0.0
  927. }
  928. }
  929.  
  930. layer {
  931. bottom: "res3a_branch2b"
  932. top: "res3a_branch2b"
  933. name: "res3a_branch2b_relu"
  934. type: "ReLU"
  935. }
  936.  
  937. layer {
  938. bottom: "res3a_branch2b"
  939. top: "res3a_branch2c"
  940. name: "res3a_branch2c"
  941. type: "Convolution"
  942. convolution_param {
  943. num_output: 512
  944. kernel_size: 1
  945. pad: 0
  946. stride: 1
  947. bias_term: false
  948. }
  949. param {
  950. lr_mult: 1.0
  951. }
  952. }
  953.  
  954. layer {
  955. bottom: "res3a_branch2c"
  956. top: "res3a_branch2c"
  957. name: "bn3a_branch2c"
  958. type: "BatchNorm"
  959. batch_norm_param {
  960. use_global_stats: true
  961. }
  962. param {
  963. lr_mult: 0.0
  964. decay_mult: 0.0
  965. }
  966. param {
  967. lr_mult: 0.0
  968. decay_mult: 0.0
  969. }
  970. param {
  971. lr_mult: 0.0
  972. decay_mult: 0.0
  973. }
  974. }
  975.  
  976. layer {
  977. bottom: "res3a_branch2c"
  978. top: "res3a_branch2c"
  979. name: "scale3a_branch2c"
  980. type: "Scale"
  981. scale_param {
  982. bias_term: true
  983. }
  984. param {
  985. lr_mult: 0.0
  986. decay_mult: 0.0
  987. }
  988. param {
  989. lr_mult: 0.0
  990. decay_mult: 0.0
  991. }
  992. }
  993.  
  994. layer {
  995. bottom: "res3a_branch1"
  996. bottom: "res3a_branch2c"
  997. top: "res3a"
  998. name: "res3a"
  999. type: "Eltwise"
  1000. }
  1001.  
  1002. layer {
  1003. bottom: "res3a"
  1004. top: "res3a"
  1005. name: "res3a_relu"
  1006. type: "ReLU"
  1007. }
  1008.  
  1009. layer {
  1010. bottom: "res3a"
  1011. top: "res3b_branch2a"
  1012. name: "res3b_branch2a"
  1013. type: "Convolution"
  1014. convolution_param {
  1015. num_output: 128
  1016. kernel_size: 1
  1017. pad: 0
  1018. stride: 1
  1019. bias_term: false
  1020. }
  1021. param {
  1022. lr_mult: 1.0
  1023. }
  1024. }
  1025.  
  1026. layer {
  1027. bottom: "res3b_branch2a"
  1028. top: "res3b_branch2a"
  1029. name: "bn3b_branch2a"
  1030. type: "BatchNorm"
  1031. batch_norm_param {
  1032. use_global_stats: true
  1033. }
  1034. param {
  1035. lr_mult: 0.0
  1036. decay_mult: 0.0
  1037. }
  1038. param {
  1039. lr_mult: 0.0
  1040. decay_mult: 0.0
  1041. }
  1042. param {
  1043. lr_mult: 0.0
  1044. decay_mult: 0.0
  1045. }
  1046. }
  1047.  
  1048. layer {
  1049. bottom: "res3b_branch2a"
  1050. top: "res3b_branch2a"
  1051. name: "scale3b_branch2a"
  1052. type: "Scale"
  1053. scale_param {
  1054. bias_term: true
  1055. }
  1056. param {
  1057. lr_mult: 0.0
  1058. decay_mult: 0.0
  1059. }
  1060. param {
  1061. lr_mult: 0.0
  1062. decay_mult: 0.0
  1063. }
  1064. }
  1065.  
  1066. layer {
  1067. bottom: "res3b_branch2a"
  1068. top: "res3b_branch2a"
  1069. name: "res3b_branch2a_relu"
  1070. type: "ReLU"
  1071. }
  1072.  
  1073. layer {
  1074. bottom: "res3b_branch2a"
  1075. top: "res3b_branch2b"
  1076. name: "res3b_branch2b"
  1077. type: "Convolution"
  1078. convolution_param {
  1079. num_output: 128
  1080. kernel_size: 3
  1081. pad: 1
  1082. stride: 1
  1083. bias_term: false
  1084. }
  1085. param {
  1086. lr_mult: 1.0
  1087. }
  1088. }
  1089.  
  1090. layer {
  1091. bottom: "res3b_branch2b"
  1092. top: "res3b_branch2b"
  1093. name: "bn3b_branch2b"
  1094. type: "BatchNorm"
  1095. batch_norm_param {
  1096. use_global_stats: true
  1097. }
  1098. param {
  1099. lr_mult: 0.0
  1100. decay_mult: 0.0
  1101. }
  1102. param {
  1103. lr_mult: 0.0
  1104. decay_mult: 0.0
  1105. }
  1106. param {
  1107. lr_mult: 0.0
  1108. decay_mult: 0.0
  1109. }
  1110. }
  1111.  
  1112. layer {
  1113. bottom: "res3b_branch2b"
  1114. top: "res3b_branch2b"
  1115. name: "scale3b_branch2b"
  1116. type: "Scale"
  1117. scale_param {
  1118. bias_term: true
  1119. }
  1120. param {
  1121. lr_mult: 0.0
  1122. decay_mult: 0.0
  1123. }
  1124. param {
  1125. lr_mult: 0.0
  1126. decay_mult: 0.0
  1127. }
  1128. }
  1129.  
  1130. layer {
  1131. bottom: "res3b_branch2b"
  1132. top: "res3b_branch2b"
  1133. name: "res3b_branch2b_relu"
  1134. type: "ReLU"
  1135. }
  1136.  
  1137. layer {
  1138. bottom: "res3b_branch2b"
  1139. top: "res3b_branch2c"
  1140. name: "res3b_branch2c"
  1141. type: "Convolution"
  1142. convolution_param {
  1143. num_output: 512
  1144. kernel_size: 1
  1145. pad: 0
  1146. stride: 1
  1147. bias_term: false
  1148. }
  1149. param {
  1150. lr_mult: 1.0
  1151. }
  1152. }
  1153.  
  1154. layer {
  1155. bottom: "res3b_branch2c"
  1156. top: "res3b_branch2c"
  1157. name: "bn3b_branch2c"
  1158. type: "BatchNorm"
  1159. batch_norm_param {
  1160. use_global_stats: true
  1161. }
  1162. param {
  1163. lr_mult: 0.0
  1164. decay_mult: 0.0
  1165. }
  1166. param {
  1167. lr_mult: 0.0
  1168. decay_mult: 0.0
  1169. }
  1170. param {
  1171. lr_mult: 0.0
  1172. decay_mult: 0.0
  1173. }
  1174. }
  1175.  
  1176. layer {
  1177. bottom: "res3b_branch2c"
  1178. top: "res3b_branch2c"
  1179. name: "scale3b_branch2c"
  1180. type: "Scale"
  1181. scale_param {
  1182. bias_term: true
  1183. }
  1184. param {
  1185. lr_mult: 0.0
  1186. decay_mult: 0.0
  1187. }
  1188. param {
  1189. lr_mult: 0.0
  1190. decay_mult: 0.0
  1191. }
  1192. }
  1193.  
  1194. layer {
  1195. bottom: "res3a"
  1196. bottom: "res3b_branch2c"
  1197. top: "res3b"
  1198. name: "res3b"
  1199. type: "Eltwise"
  1200. }
  1201.  
  1202. layer {
  1203. bottom: "res3b"
  1204. top: "res3b"
  1205. name: "res3b_relu"
  1206. type: "ReLU"
  1207. }
  1208.  
  1209. layer {
  1210. bottom: "res3b"
  1211. top: "res3c_branch2a"
  1212. name: "res3c_branch2a"
  1213. type: "Convolution"
  1214. convolution_param {
  1215. num_output: 128
  1216. kernel_size: 1
  1217. pad: 0
  1218. stride: 1
  1219. bias_term: false
  1220. }
  1221. param {
  1222. lr_mult: 1.0
  1223. }
  1224. }
  1225.  
  1226. layer {
  1227. bottom: "res3c_branch2a"
  1228. top: "res3c_branch2a"
  1229. name: "bn3c_branch2a"
  1230. type: "BatchNorm"
  1231. batch_norm_param {
  1232. use_global_stats: true
  1233. }
  1234. param {
  1235. lr_mult: 0.0
  1236. decay_mult: 0.0
  1237. }
  1238. param {
  1239. lr_mult: 0.0
  1240. decay_mult: 0.0
  1241. }
  1242. param {
  1243. lr_mult: 0.0
  1244. decay_mult: 0.0
  1245. }
  1246. }
  1247.  
  1248. layer {
  1249. bottom: "res3c_branch2a"
  1250. top: "res3c_branch2a"
  1251. name: "scale3c_branch2a"
  1252. type: "Scale"
  1253. scale_param {
  1254. bias_term: true
  1255. }
  1256. param {
  1257. lr_mult: 0.0
  1258. decay_mult: 0.0
  1259. }
  1260. param {
  1261. lr_mult: 0.0
  1262. decay_mult: 0.0
  1263. }
  1264. }
  1265.  
  1266. layer {
  1267. bottom: "res3c_branch2a"
  1268. top: "res3c_branch2a"
  1269. name: "res3c_branch2a_relu"
  1270. type: "ReLU"
  1271. }
  1272.  
  1273. layer {
  1274. bottom: "res3c_branch2a"
  1275. top: "res3c_branch2b"
  1276. name: "res3c_branch2b"
  1277. type: "Convolution"
  1278. convolution_param {
  1279. num_output: 128
  1280. kernel_size: 3
  1281. pad: 1
  1282. stride: 1
  1283. bias_term: false
  1284. }
  1285. param {
  1286. lr_mult: 1.0
  1287. }
  1288. }
  1289.  
  1290. layer {
  1291. bottom: "res3c_branch2b"
  1292. top: "res3c_branch2b"
  1293. name: "bn3c_branch2b"
  1294. type: "BatchNorm"
  1295. batch_norm_param {
  1296. use_global_stats: true
  1297. }
  1298. param {
  1299. lr_mult: 0.0
  1300. decay_mult: 0.0
  1301. }
  1302. param {
  1303. lr_mult: 0.0
  1304. decay_mult: 0.0
  1305. }
  1306. param {
  1307. lr_mult: 0.0
  1308. decay_mult: 0.0
  1309. }
  1310. }
  1311.  
  1312. layer {
  1313. bottom: "res3c_branch2b"
  1314. top: "res3c_branch2b"
  1315. name: "scale3c_branch2b"
  1316. type: "Scale"
  1317. scale_param {
  1318. bias_term: true
  1319. }
  1320. param {
  1321. lr_mult: 0.0
  1322. decay_mult: 0.0
  1323. }
  1324. param {
  1325. lr_mult: 0.0
  1326. decay_mult: 0.0
  1327. }
  1328. }
  1329.  
  1330. layer {
  1331. bottom: "res3c_branch2b"
  1332. top: "res3c_branch2b"
  1333. name: "res3c_branch2b_relu"
  1334. type: "ReLU"
  1335. }
  1336.  
  1337. layer {
  1338. bottom: "res3c_branch2b"
  1339. top: "res3c_branch2c"
  1340. name: "res3c_branch2c"
  1341. type: "Convolution"
  1342. convolution_param {
  1343. num_output: 512
  1344. kernel_size: 1
  1345. pad: 0
  1346. stride: 1
  1347. bias_term: false
  1348. }
  1349. param {
  1350. lr_mult: 1.0
  1351. }
  1352. }
  1353.  
  1354. layer {
  1355. bottom: "res3c_branch2c"
  1356. top: "res3c_branch2c"
  1357. name: "bn3c_branch2c"
  1358. type: "BatchNorm"
  1359. batch_norm_param {
  1360. use_global_stats: true
  1361. }
  1362. param {
  1363. lr_mult: 0.0
  1364. decay_mult: 0.0
  1365. }
  1366. param {
  1367. lr_mult: 0.0
  1368. decay_mult: 0.0
  1369. }
  1370. param {
  1371. lr_mult: 0.0
  1372. decay_mult: 0.0
  1373. }
  1374. }
  1375.  
  1376. layer {
  1377. bottom: "res3c_branch2c"
  1378. top: "res3c_branch2c"
  1379. name: "scale3c_branch2c"
  1380. type: "Scale"
  1381. scale_param {
  1382. bias_term: true
  1383. }
  1384. param {
  1385. lr_mult: 0.0
  1386. decay_mult: 0.0
  1387. }
  1388. param {
  1389. lr_mult: 0.0
  1390. decay_mult: 0.0
  1391. }
  1392. }
  1393.  
  1394. layer {
  1395. bottom: "res3b"
  1396. bottom: "res3c_branch2c"
  1397. top: "res3c"
  1398. name: "res3c"
  1399. type: "Eltwise"
  1400. }
  1401.  
  1402. layer {
  1403. bottom: "res3c"
  1404. top: "res3c"
  1405. name: "res3c_relu"
  1406. type: "ReLU"
  1407. }
  1408.  
  1409. layer {
  1410. bottom: "res3c"
  1411. top: "res3d_branch2a"
  1412. name: "res3d_branch2a"
  1413. type: "Convolution"
  1414. convolution_param {
  1415. num_output: 128
  1416. kernel_size: 1
  1417. pad: 0
  1418. stride: 1
  1419. bias_term: false
  1420. }
  1421. param {
  1422. lr_mult: 1.0
  1423. }
  1424. }
  1425.  
  1426. layer {
  1427. bottom: "res3d_branch2a"
  1428. top: "res3d_branch2a"
  1429. name: "bn3d_branch2a"
  1430. type: "BatchNorm"
  1431. batch_norm_param {
  1432. use_global_stats: true
  1433. }
  1434. param {
  1435. lr_mult: 0.0
  1436. decay_mult: 0.0
  1437. }
  1438. param {
  1439. lr_mult: 0.0
  1440. decay_mult: 0.0
  1441. }
  1442. param {
  1443. lr_mult: 0.0
  1444. decay_mult: 0.0
  1445. }
  1446. }
  1447.  
  1448. layer {
  1449. bottom: "res3d_branch2a"
  1450. top: "res3d_branch2a"
  1451. name: "scale3d_branch2a"
  1452. type: "Scale"
  1453. scale_param {
  1454. bias_term: true
  1455. }
  1456. param {
  1457. lr_mult: 0.0
  1458. decay_mult: 0.0
  1459. }
  1460. param {
  1461. lr_mult: 0.0
  1462. decay_mult: 0.0
  1463. }
  1464. }
  1465.  
  1466. layer {
  1467. bottom: "res3d_branch2a"
  1468. top: "res3d_branch2a"
  1469. name: "res3d_branch2a_relu"
  1470. type: "ReLU"
  1471. }
  1472.  
  1473. layer {
  1474. bottom: "res3d_branch2a"
  1475. top: "res3d_branch2b"
  1476. name: "res3d_branch2b"
  1477. type: "Convolution"
  1478. convolution_param {
  1479. num_output: 128
  1480. kernel_size: 3
  1481. pad: 1
  1482. stride: 1
  1483. bias_term: false
  1484. }
  1485. param {
  1486. lr_mult: 1.0
  1487. }
  1488. }
  1489.  
  1490. layer {
  1491. bottom: "res3d_branch2b"
  1492. top: "res3d_branch2b"
  1493. name: "bn3d_branch2b"
  1494. type: "BatchNorm"
  1495. batch_norm_param {
  1496. use_global_stats: true
  1497. }
  1498. param {
  1499. lr_mult: 0.0
  1500. decay_mult: 0.0
  1501. }
  1502. param {
  1503. lr_mult: 0.0
  1504. decay_mult: 0.0
  1505. }
  1506. param {
  1507. lr_mult: 0.0
  1508. decay_mult: 0.0
  1509. }
  1510. }
  1511.  
  1512. layer {
  1513. bottom: "res3d_branch2b"
  1514. top: "res3d_branch2b"
  1515. name: "scale3d_branch2b"
  1516. type: "Scale"
  1517. scale_param {
  1518. bias_term: true
  1519. }
  1520. param {
  1521. lr_mult: 0.0
  1522. decay_mult: 0.0
  1523. }
  1524. param {
  1525. lr_mult: 0.0
  1526. decay_mult: 0.0
  1527. }
  1528. }
  1529.  
  1530. layer {
  1531. bottom: "res3d_branch2b"
  1532. top: "res3d_branch2b"
  1533. name: "res3d_branch2b_relu"
  1534. type: "ReLU"
  1535. }
  1536.  
  1537. layer {
  1538. bottom: "res3d_branch2b"
  1539. top: "res3d_branch2c"
  1540. name: "res3d_branch2c"
  1541. type: "Convolution"
  1542. convolution_param {
  1543. num_output: 512
  1544. kernel_size: 1
  1545. pad: 0
  1546. stride: 1
  1547. bias_term: false
  1548. }
  1549. param {
  1550. lr_mult: 1.0
  1551. }
  1552. }
  1553.  
  1554. layer {
  1555. bottom: "res3d_branch2c"
  1556. top: "res3d_branch2c"
  1557. name: "bn3d_branch2c"
  1558. type: "BatchNorm"
  1559. batch_norm_param {
  1560. use_global_stats: true
  1561. }
  1562. param {
  1563. lr_mult: 0.0
  1564. decay_mult: 0.0
  1565. }
  1566. param {
  1567. lr_mult: 0.0
  1568. decay_mult: 0.0
  1569. }
  1570. param {
  1571. lr_mult: 0.0
  1572. decay_mult: 0.0
  1573. }
  1574. }
  1575.  
  1576. layer {
  1577. bottom: "res3d_branch2c"
  1578. top: "res3d_branch2c"
  1579. name: "scale3d_branch2c"
  1580. type: "Scale"
  1581. scale_param {
  1582. bias_term: true
  1583. }
  1584. param {
  1585. lr_mult: 0.0
  1586. decay_mult: 0.0
  1587. }
  1588. param {
  1589. lr_mult: 0.0
  1590. decay_mult: 0.0
  1591. }
  1592. }
  1593.  
  1594. layer {
  1595. bottom: "res3c"
  1596. bottom: "res3d_branch2c"
  1597. top: "res3d"
  1598. name: "res3d"
  1599. type: "Eltwise"
  1600. }
  1601.  
  1602. layer {
  1603. bottom: "res3d"
  1604. top: "res3d"
  1605. name: "res3d_relu"
  1606. type: "ReLU"
  1607. }
  1608.  
  1609. layer {
  1610. bottom: "res3d"
  1611. top: "res4a_branch1"
  1612. name: "res4a_branch1"
  1613. type: "Convolution"
  1614. convolution_param {
  1615. num_output: 1024
  1616. kernel_size: 1
  1617. pad: 0
  1618. stride: 2
  1619. bias_term: false
  1620. }
  1621. param {
  1622. lr_mult: 1.0
  1623. }
  1624. }
  1625.  
  1626. layer {
  1627. bottom: "res4a_branch1"
  1628. top: "res4a_branch1"
  1629. name: "bn4a_branch1"
  1630. type: "BatchNorm"
  1631. batch_norm_param {
  1632. use_global_stats: true
  1633. }
  1634. param {
  1635. lr_mult: 0.0
  1636. decay_mult: 0.0
  1637. }
  1638. param {
  1639. lr_mult: 0.0
  1640. decay_mult: 0.0
  1641. }
  1642. param {
  1643. lr_mult: 0.0
  1644. decay_mult: 0.0
  1645. }
  1646. }
  1647.  
  1648. layer {
  1649. bottom: "res4a_branch1"
  1650. top: "res4a_branch1"
  1651. name: "scale4a_branch1"
  1652. type: "Scale"
  1653. scale_param {
  1654. bias_term: true
  1655. }
  1656. param {
  1657. lr_mult: 0.0
  1658. decay_mult: 0.0
  1659. }
  1660. param {
  1661. lr_mult: 0.0
  1662. decay_mult: 0.0
  1663. }
  1664. }
  1665.  
  1666. layer {
  1667. bottom: "res3d"
  1668. top: "res4a_branch2a"
  1669. name: "res4a_branch2a"
  1670. type: "Convolution"
  1671. convolution_param {
  1672. num_output: 256
  1673. kernel_size: 1
  1674. pad: 0
  1675. stride: 2
  1676. bias_term: false
  1677. }
  1678. param {
  1679. lr_mult: 1.0
  1680. }
  1681. }
  1682.  
  1683. layer {
  1684. bottom: "res4a_branch2a"
  1685. top: "res4a_branch2a"
  1686. name: "bn4a_branch2a"
  1687. type: "BatchNorm"
  1688. batch_norm_param {
  1689. use_global_stats: true
  1690. }
  1691. param {
  1692. lr_mult: 0.0
  1693. decay_mult: 0.0
  1694. }
  1695. param {
  1696. lr_mult: 0.0
  1697. decay_mult: 0.0
  1698. }
  1699. param {
  1700. lr_mult: 0.0
  1701. decay_mult: 0.0
  1702. }
  1703. }
  1704.  
  1705. layer {
  1706. bottom: "res4a_branch2a"
  1707. top: "res4a_branch2a"
  1708. name: "scale4a_branch2a"
  1709. type: "Scale"
  1710. scale_param {
  1711. bias_term: true
  1712. }
  1713. param {
  1714. lr_mult: 0.0
  1715. decay_mult: 0.0
  1716. }
  1717. param {
  1718. lr_mult: 0.0
  1719. decay_mult: 0.0
  1720. }
  1721. }
  1722.  
  1723. layer {
  1724. bottom: "res4a_branch2a"
  1725. top: "res4a_branch2a"
  1726. name: "res4a_branch2a_relu"
  1727. type: "ReLU"
  1728. }
  1729.  
  1730. layer {
  1731. bottom: "res4a_branch2a"
  1732. top: "res4a_branch2b"
  1733. name: "res4a_branch2b"
  1734. type: "Convolution"
  1735. convolution_param {
  1736. num_output: 256
  1737. kernel_size: 3
  1738. pad: 1
  1739. stride: 1
  1740. bias_term: false
  1741. }
  1742. param {
  1743. lr_mult: 1.0
  1744. }
  1745. }
  1746.  
  1747. layer {
  1748. bottom: "res4a_branch2b"
  1749. top: "res4a_branch2b"
  1750. name: "bn4a_branch2b"
  1751. type: "BatchNorm"
  1752. batch_norm_param {
  1753. use_global_stats: true
  1754. }
  1755. param {
  1756. lr_mult: 0.0
  1757. decay_mult: 0.0
  1758. }
  1759. param {
  1760. lr_mult: 0.0
  1761. decay_mult: 0.0
  1762. }
  1763. param {
  1764. lr_mult: 0.0
  1765. decay_mult: 0.0
  1766. }
  1767. }
  1768.  
  1769. layer {
  1770. bottom: "res4a_branch2b"
  1771. top: "res4a_branch2b"
  1772. name: "scale4a_branch2b"
  1773. type: "Scale"
  1774. scale_param {
  1775. bias_term: true
  1776. }
  1777. param {
  1778. lr_mult: 0.0
  1779. decay_mult: 0.0
  1780. }
  1781. param {
  1782. lr_mult: 0.0
  1783. decay_mult: 0.0
  1784. }
  1785. }
  1786.  
  1787. layer {
  1788. bottom: "res4a_branch2b"
  1789. top: "res4a_branch2b"
  1790. name: "res4a_branch2b_relu"
  1791. type: "ReLU"
  1792. }
  1793.  
  1794. layer {
  1795. bottom: "res4a_branch2b"
  1796. top: "res4a_branch2c"
  1797. name: "res4a_branch2c"
  1798. type: "Convolution"
  1799. convolution_param {
  1800. num_output: 1024
  1801. kernel_size: 1
  1802. pad: 0
  1803. stride: 1
  1804. bias_term: false
  1805. }
  1806. param {
  1807. lr_mult: 1.0
  1808. }
  1809. }
  1810.  
  1811. layer {
  1812. bottom: "res4a_branch2c"
  1813. top: "res4a_branch2c"
  1814. name: "bn4a_branch2c"
  1815. type: "BatchNorm"
  1816. batch_norm_param {
  1817. use_global_stats: true
  1818. }
  1819. param {
  1820. lr_mult: 0.0
  1821. decay_mult: 0.0
  1822. }
  1823. param {
  1824. lr_mult: 0.0
  1825. decay_mult: 0.0
  1826. }
  1827. param {
  1828. lr_mult: 0.0
  1829. decay_mult: 0.0
  1830. }
  1831. }
  1832.  
  1833. layer {
  1834. bottom: "res4a_branch2c"
  1835. top: "res4a_branch2c"
  1836. name: "scale4a_branch2c"
  1837. type: "Scale"
  1838. scale_param {
  1839. bias_term: true
  1840. }
  1841. param {
  1842. lr_mult: 0.0
  1843. decay_mult: 0.0
  1844. }
  1845. param {
  1846. lr_mult: 0.0
  1847. decay_mult: 0.0
  1848. }
  1849. }
  1850.  
  1851. layer {
  1852. bottom: "res4a_branch1"
  1853. bottom: "res4a_branch2c"
  1854. top: "res4a"
  1855. name: "res4a"
  1856. type: "Eltwise"
  1857. }
  1858.  
  1859. layer {
  1860. bottom: "res4a"
  1861. top: "res4a"
  1862. name: "res4a_relu"
  1863. type: "ReLU"
  1864. }
  1865.  
  1866. layer {
  1867. bottom: "res4a"
  1868. top: "res4b_branch2a_semi_scratch"
  1869. name: "res4b_branch2a_semi_scratch"
  1870. type: "Convolution"
  1871. convolution_param {
  1872. num_output: 256
  1873. kernel_size: 1
  1874. pad: 0
  1875. stride: 1
  1876. bias_term: false
  1877. }
  1878. param {
  1879. lr_mult: 1.0
  1880. }
  1881. }
  1882.  
  1883. layer {
  1884. bottom: "res4b_branch2a_semi_scratch"
  1885. top: "res4b_branch2a_semi_scratch"
  1886. name: "bn4b_branch2a_semi_scratch"
  1887. type: "BatchNorm"
  1888. batch_norm_param {
  1889. use_global_stats: true
  1890. }
  1891. param {
  1892. lr_mult: 0.0
  1893. decay_mult: 0.0
  1894. }
  1895. param {
  1896. lr_mult: 0.0
  1897. decay_mult: 0.0
  1898. }
  1899. param {
  1900. lr_mult: 0.0
  1901. decay_mult: 0.0
  1902. }
  1903. }
  1904.  
  1905. layer {
  1906. bottom: "res4b_branch2a_semi_scratch"
  1907. top: "res4b_branch2a_semi_scratch"
  1908. name: "scale4b_branch2a_semi_scratch"
  1909. type: "Scale"
  1910. scale_param {
  1911. bias_term: true
  1912. }
  1913. }
  1914.  
  1915. layer {
  1916. bottom: "res4b_branch2a_semi_scratch"
  1917. top: "res4b_branch2a_semi_scratch"
  1918. name: "res4b_branch2a_relu_semi_scratch"
  1919. type: "ReLU"
  1920. }
  1921.  
  1922. layer {
  1923. bottom: "res4b_branch2a_semi_scratch"
  1924. top: "res4b_branch2b_semi_scratch"
  1925. name: "res4b_branch2b_semi_scratch"
  1926. type: "Convolution"
  1927. convolution_param {
  1928. num_output: 256
  1929. kernel_size: 3
  1930. pad: 1
  1931. stride: 1
  1932. bias_term: false
  1933. }
  1934. param {
  1935. lr_mult: 1.0
  1936. }
  1937. }
  1938.  
  1939. layer {
  1940. bottom: "res4b_branch2b_semi_scratch"
  1941. top: "res4b_branch2b_semi_scratch"
  1942. name: "bn4b_branch2b_semi_scratch"
  1943. type: "BatchNorm"
  1944. batch_norm_param {
  1945. use_global_stats: false
  1946. }
  1947. param {
  1948. lr_mult: 0.0
  1949. decay_mult: 0.0
  1950. }
  1951. param {
  1952. lr_mult: 0.0
  1953. decay_mult: 0.0
  1954. }
  1955. param {
  1956. lr_mult: 0.0
  1957. decay_mult: 0.0
  1958. }
  1959. }
  1960.  
  1961. layer {
  1962. bottom: "res4b_branch2b_semi_scratch"
  1963. top: "res4b_branch2b_semi_scratch"
  1964. name: "scale4b_branch2b_semi_scratch"
  1965. type: "Scale"
  1966. scale_param {
  1967. bias_term: true
  1968. }
  1969. }
  1970.  
  1971. layer {
  1972. bottom: "res4b_branch2b_semi_scratch"
  1973. top: "res4b_branch2b_semi_scratch"
  1974. name: "res4b_branch2b_relu_semi_scratch"
  1975. type: "ReLU"
  1976. }
  1977.  
  1978. layer {
  1979. bottom: "res4b_branch2b_semi_scratch"
  1980. top: "res4b_branch2c_semi_scratch"
  1981. name: "res4b_branch2c_semi_scratch"
  1982. type: "Convolution"
  1983. convolution_param {
  1984. num_output: 1024
  1985. kernel_size: 1
  1986. pad: 0
  1987. stride: 1
  1988. bias_term: false
  1989. }
  1990. param {
  1991. lr_mult: 1.0
  1992. }
  1993. }
  1994.  
  1995. layer {
  1996. bottom: "res4b_branch2c_semi_scratch"
  1997. top: "res4b_branch2c_semi_scratch"
  1998. name: "bn4b_branch2c_semi_scratch"
  1999. type: "BatchNorm"
  2000. batch_norm_param {
  2001. use_global_stats: false
  2002. }
  2003. param {
  2004. lr_mult: 0.0
  2005. decay_mult: 0.0
  2006. }
  2007. param {
  2008. lr_mult: 0.0
  2009. decay_mult: 0.0
  2010. }
  2011. param {
  2012. lr_mult: 0.0
  2013. decay_mult: 0.0
  2014. }
  2015. }
  2016.  
  2017. layer {
  2018. bottom: "res4b_branch2c_semi_scratch"
  2019. top: "res4b_branch2c_semi_scratch"
  2020. name: "scale4b_branch2c_semi_scratch"
  2021. type: "Scale"
  2022. scale_param {
  2023. bias_term: true
  2024. }
  2025. }
  2026.  
  2027. layer {
  2028. bottom: "res4a"
  2029. bottom: "res4b_branch2c_semi_scratch"
  2030. top: "res4b_semi_scratch"
  2031. name: "res4b_semi_scratch"
  2032. type: "Eltwise"
  2033. }
  2034.  
  2035. layer {
  2036. bottom: "res4b_semi_scratch"
  2037. top: "res4b_semi_scratch"
  2038. name: "res4b_relu_semi_scratch"
  2039. type: "ReLU"
  2040. }
  2041.  
  2042. layer {
  2043. bottom: "res4b_semi_scratch"
  2044. top: "res4c_branch2a_semi_scratch"
  2045. name: "res4c_branch2a_semi_scratch"
  2046. type: "Convolution"
  2047. convolution_param {
  2048. num_output: 256
  2049. kernel_size: 1
  2050. pad: 0
  2051. stride: 1
  2052. bias_term: false
  2053. }
  2054. param {
  2055. lr_mult: 1.0
  2056. }
  2057. }
  2058.  
  2059. layer {
  2060. bottom: "res4c_branch2a_semi_scratch"
  2061. top: "res4c_branch2a_semi_scratch"
  2062. name: "bn4c_branch2a_semi_scratch"
  2063. type: "BatchNorm"
  2064. batch_norm_param {
  2065. use_global_stats: false
  2066. }
  2067. param {
  2068. lr_mult: 0.0
  2069. decay_mult: 0.0
  2070. }
  2071. param {
  2072. lr_mult: 0.0
  2073. decay_mult: 0.0
  2074. }
  2075. param {
  2076. lr_mult: 0.0
  2077. decay_mult: 0.0
  2078. }
  2079. }
  2080.  
  2081. layer {
  2082. bottom: "res4c_branch2a_semi_scratch"
  2083. top: "res4c_branch2a_semi_scratch"
  2084. name: "scale4c_branch2a_semi_scratch"
  2085. type: "Scale"
  2086. scale_param {
  2087. bias_term: true
  2088. }
  2089. }
  2090.  
  2091. layer {
  2092. bottom: "res4c_branch2a_semi_scratch"
  2093. top: "res4c_branch2a_semi_scratch"
  2094. name: "res4c_branch2a_relu_semi_scratch"
  2095. type: "ReLU"
  2096. }
  2097.  
  2098. layer {
  2099. bottom: "res4c_branch2a_semi_scratch"
  2100. top: "res4c_branch2b_semi_scratch"
  2101. name: "res4c_branch2b_semi_scratch"
  2102. type: "Convolution"
  2103. convolution_param {
  2104. num_output: 256
  2105. kernel_size: 3
  2106. pad: 1
  2107. stride: 1
  2108. bias_term: false
  2109. }
  2110. param {
  2111. lr_mult: 1.0
  2112. }
  2113. }
  2114.  
  2115. layer {
  2116. bottom: "res4c_branch2b_semi_scratch"
  2117. top: "res4c_branch2b_semi_scratch"
  2118. name: "bn4c_branch2b_semi_scratch"
  2119. type: "BatchNorm"
  2120. batch_norm_param {
  2121. use_global_stats: true
  2122. }
  2123. param {
  2124. lr_mult: 0.0
  2125. decay_mult: 0.0
  2126. }
  2127. param {
  2128. lr_mult: 0.0
  2129. decay_mult: 0.0
  2130. }
  2131. param {
  2132. lr_mult: 0.0
  2133. decay_mult: 0.0
  2134. }
  2135. }
  2136.  
  2137. layer {
  2138. bottom: "res4c_branch2b_semi_scratch"
  2139. top: "res4c_branch2b_semi_scratch"
  2140. name: "scale4c_branch2b_semi_scratch"
  2141. type: "Scale"
  2142. scale_param {
  2143. bias_term: true
  2144. }
  2145. }
  2146.  
  2147. layer {
  2148. bottom: "res4c_branch2b_semi_scratch"
  2149. top: "res4c_branch2b_semi_scratch"
  2150. name: "res4c_branch2b_relu_semi_scratch"
  2151. type: "ReLU"
  2152. }
  2153.  
  2154. layer {
  2155. bottom: "res4c_branch2b_semi_scratch"
  2156. top: "res4c_branch2c_semi_scratch"
  2157. name: "res4c_branch2c_semi_scratch"
  2158. type: "Convolution"
  2159. convolution_param {
  2160. num_output: 1024
  2161. kernel_size: 1
  2162. pad: 0
  2163. stride: 1
  2164. bias_term: false
  2165. }
  2166. param {
  2167. lr_mult: 1.0
  2168. }
  2169. }
  2170.  
  2171. layer {
  2172. bottom: "res4c_branch2c_semi_scratch"
  2173. top: "res4c_branch2c_semi_scratch"
  2174. name: "bn4c_branch2c_semi_scratch"
  2175. type: "BatchNorm"
  2176. batch_norm_param {
  2177. use_global_stats: false
  2178. }
  2179. param {
  2180. lr_mult: 0.0
  2181. decay_mult: 0.0
  2182. }
  2183. param {
  2184. lr_mult: 0.0
  2185. decay_mult: 0.0
  2186. }
  2187. param {
  2188. lr_mult: 0.0
  2189. decay_mult: 0.0
  2190. }
  2191. }
  2192.  
  2193. layer {
  2194. bottom: "res4c_branch2c_semi_scratch"
  2195. top: "res4c_branch2c_semi_scratch"
  2196. name: "scale4c_branch2c_semi_scratch"
  2197. type: "Scale"
  2198. scale_param {
  2199. bias_term: true
  2200. }
  2201. }
  2202.  
  2203. layer {
  2204. bottom: "res4b_semi_scratch"
  2205. bottom: "res4c_branch2c_semi_scratch"
  2206. top: "res4c_semi_scratch"
  2207. name: "res4c_semi_scratch"
  2208. type: "Eltwise"
  2209. }
  2210.  
  2211. layer {
  2212. bottom: "res4c_semi_scratch"
  2213. top: "res4c_semi_scratch"
  2214. name: "res4c_relu_semi_scratch"
  2215. type: "ReLU"
  2216. }
  2217.  
  2218. layer {
  2219. bottom: "res4c_semi_scratch"
  2220. top: "res4d_branch2a_semi_scratch"
  2221. name: "res4d_branch2a_semi_scratch"
  2222. type: "Convolution"
  2223. convolution_param {
  2224. num_output: 256
  2225. kernel_size: 1
  2226. pad: 0
  2227. stride: 1
  2228. bias_term: false
  2229. }
  2230. param {
  2231. lr_mult: 1.0
  2232. }
  2233. }
  2234.  
  2235. layer {
  2236. bottom: "res4d_branch2a_semi_scratch"
  2237. top: "res4d_branch2a_semi_scratch"
  2238. name: "bn4d_branch2a_semi_scratch"
  2239. type: "BatchNorm"
  2240. batch_norm_param {
  2241. use_global_stats: false
  2242. }
  2243. param {
  2244. lr_mult: 0.0
  2245. decay_mult: 0.0
  2246. }
  2247. param {
  2248. lr_mult: 0.0
  2249. decay_mult: 0.0
  2250. }
  2251. param {
  2252. lr_mult: 0.0
  2253. decay_mult: 0.0
  2254. }
  2255. }
  2256.  
  2257. layer {
  2258. bottom: "res4d_branch2a_semi_scratch"
  2259. top: "res4d_branch2a_semi_scratch"
  2260. name: "scale4d_branch2a_semi_scratch"
  2261. type: "Scale"
  2262. scale_param {
  2263. bias_term: true
  2264. }
  2265. }
  2266.  
  2267. layer {
  2268. bottom: "res4d_branch2a_semi_scratch"
  2269. top: "res4d_branch2a_semi_scratch"
  2270. name: "res4d_branch2a_relu_semi_scratch"
  2271. type: "ReLU"
  2272. }
  2273.  
  2274. layer {
  2275. bottom: "res4d_branch2a_semi_scratch"
  2276. top: "res4d_branch2b_semi_scratch"
  2277. name: "res4d_branch2b_semi_scratch"
  2278. type: "Convolution"
  2279. convolution_param {
  2280. num_output: 256
  2281. kernel_size: 3
  2282. pad: 1
  2283. stride: 1
  2284. bias_term: false
  2285. }
  2286. param {
  2287. lr_mult: 1.0
  2288. }
  2289. }
  2290.  
  2291. layer {
  2292. bottom: "res4d_branch2b_semi_scratch"
  2293. top: "res4d_branch2b_semi_scratch"
  2294. name: "bn4d_branch2b_semi_scratch"
  2295. type: "BatchNorm"
  2296. batch_norm_param {
  2297. use_global_stats: false
  2298. }
  2299. param {
  2300. lr_mult: 0.0
  2301. decay_mult: 0.0
  2302. }
  2303. param {
  2304. lr_mult: 0.0
  2305. decay_mult: 0.0
  2306. }
  2307. param {
  2308. lr_mult: 0.0
  2309. decay_mult: 0.0
  2310. }
  2311. }
  2312.  
  2313. layer {
  2314. bottom: "res4d_branch2b_semi_scratch"
  2315. top: "res4d_branch2b_semi_scratch"
  2316. name: "scale4d_branch2b_semi_scratch"
  2317. type: "Scale"
  2318. scale_param {
  2319. bias_term: true
  2320. }
  2321. }
  2322.  
  2323. layer {
  2324. bottom: "res4d_branch2b_semi_scratch"
  2325. top: "res4d_branch2b_semi_scratch"
  2326. name: "res4d_branch2b_relu_semi_scratch"
  2327. type: "ReLU"
  2328. }
  2329.  
  2330. layer {
  2331. bottom: "res4d_branch2b_semi_scratch"
  2332. top: "res4d_branch2c_semi_scratch"
  2333. name: "res4d_branch2c_semi_scratch"
  2334. type: "Convolution"
  2335. convolution_param {
  2336. num_output: 1024
  2337. kernel_size: 1
  2338. pad: 0
  2339. stride: 1
  2340. bias_term: false
  2341. }
  2342. param {
  2343. lr_mult: 1.0
  2344. }
  2345. }
  2346.  
  2347. layer {
  2348. bottom: "res4d_branch2c_semi_scratch"
  2349. top: "res4d_branch2c_semi_scratch"
  2350. name: "bn4d_branch2c_semi_scratch"
  2351. type: "BatchNorm"
  2352. batch_norm_param {
  2353. use_global_stats: false
  2354. }
  2355. param {
  2356. lr_mult: 0.0
  2357. decay_mult: 0.0
  2358. }
  2359. param {
  2360. lr_mult: 0.0
  2361. decay_mult: 0.0
  2362. }
  2363. param {
  2364. lr_mult: 0.0
  2365. decay_mult: 0.0
  2366. }
  2367. }
  2368.  
  2369. layer {
  2370. bottom: "res4d_branch2c_semi_scratch"
  2371. top: "res4d_branch2c_semi_scratch"
  2372. name: "scale4d_branch2c_semi_scratch"
  2373. type: "Scale"
  2374. scale_param {
  2375. bias_term: true
  2376. }
  2377. }
  2378.  
  2379. layer {
  2380. bottom: "res4c_semi_scratch"
  2381. bottom: "res4d_branch2c_semi_scratch"
  2382. top: "res4d_semi_scratch"
  2383. name: "res4d_semi_scratch"
  2384. type: "Eltwise"
  2385. }
  2386.  
  2387. layer {
  2388. bottom: "res4d_semi_scratch"
  2389. top: "res4d_semi_scratch"
  2390. name: "res4d_relu_semi_scratch"
  2391. type: "ReLU"
  2392. }
  2393.  
  2394. layer {
  2395. bottom: "res4d_semi_scratch"
  2396. top: "res4e_branch2a_semi_scratch"
  2397. name: "res4e_branch2a_semi_scratch"
  2398. type: "Convolution"
  2399. convolution_param {
  2400. num_output: 256
  2401. kernel_size: 1
  2402. pad: 0
  2403. stride: 1
  2404. bias_term: false
  2405. }
  2406. param {
  2407. lr_mult: 1.0
  2408. }
  2409. }
  2410.  
  2411. layer {
  2412. bottom: "res4e_branch2a_semi_scratch"
  2413. top: "res4e_branch2a_semi_scratch"
  2414. name: "bn4e_branch2a_semi_scratch"
  2415. type: "BatchNorm"
  2416. batch_norm_param {
  2417. use_global_stats: false
  2418. }
  2419. param {
  2420. lr_mult: 0.0
  2421. decay_mult: 0.0
  2422. }
  2423. param {
  2424. lr_mult: 0.0
  2425. decay_mult: 0.0
  2426. }
  2427. param {
  2428. lr_mult: 0.0
  2429. decay_mult: 0.0
  2430. }
  2431. }
  2432.  
  2433. layer {
  2434. bottom: "res4e_branch2a_semi_scratch"
  2435. top: "res4e_branch2a_semi_scratch"
  2436. name: "scale4e_branch2a_semi_scratch"
  2437. type: "Scale"
  2438. scale_param {
  2439. bias_term: true
  2440. }
  2441. }
  2442.  
  2443. layer {
  2444. bottom: "res4e_branch2a_semi_scratch"
  2445. top: "res4e_branch2a_semi_scratch"
  2446. name: "res4e_branch2a_relu_semi_scratch"
  2447. type: "ReLU"
  2448. }
  2449.  
  2450. layer {
  2451. bottom: "res4e_branch2a_semi_scratch"
  2452. top: "res4e_branch2b_semi_scratch"
  2453. name: "res4e_branch2b_semi_scratch"
  2454. type: "Convolution"
  2455. convolution_param {
  2456. num_output: 256
  2457. kernel_size: 3
  2458. pad: 1
  2459. stride: 1
  2460. bias_term: false
  2461. }
  2462. param {
  2463. lr_mult: 1.0
  2464. }
  2465. }
  2466.  
  2467. layer {
  2468. bottom: "res4e_branch2b_semi_scratch"
  2469. top: "res4e_branch2b_semi_scratch"
  2470. name: "bn4e_branch2b_semi_scratch"
  2471. type: "BatchNorm"
  2472. batch_norm_param {
  2473. use_global_stats: false
  2474. }
  2475. param {
  2476. lr_mult: 0.0
  2477. decay_mult: 0.0
  2478. }
  2479. param {
  2480. lr_mult: 0.0
  2481. decay_mult: 0.0
  2482. }
  2483. param {
  2484. lr_mult: 0.0
  2485. decay_mult: 0.0
  2486. }
  2487. }
  2488.  
  2489. layer {
  2490. bottom: "res4e_branch2b_semi_scratch"
  2491. top: "res4e_branch2b_semi_scratch"
  2492. name: "scale4e_branch2b_semi_scratch"
  2493. type: "Scale"
  2494. scale_param {
  2495. bias_term: true
  2496. }
  2497. }
  2498.  
  2499. layer {
  2500. bottom: "res4e_branch2b_semi_scratch"
  2501. top: "res4e_branch2b_semi_scratch"
  2502. name: "res4e_branch2b_relu_semi_scratch"
  2503. type: "ReLU"
  2504. }
  2505.  
  2506. layer {
  2507. bottom: "res4e_branch2b_semi_scratch"
  2508. top: "res4e_branch2c_semi_scratch"
  2509. name: "res4e_branch2c_semi_scratch"
  2510. type: "Convolution"
  2511. convolution_param {
  2512. num_output: 1024
  2513. kernel_size: 1
  2514. pad: 0
  2515. stride: 1
  2516. bias_term: false
  2517. }
  2518. param {
  2519. lr_mult: 1.0
  2520. }
  2521. }
  2522.  
  2523. layer {
  2524. bottom: "res4e_branch2c_semi_scratch"
  2525. top: "res4e_branch2c_semi_scratch"
  2526. name: "bn4e_branch2c_semi_scratch"
  2527. type: "BatchNorm"
  2528. batch_norm_param {
  2529. use_global_stats: false
  2530. }
  2531. param {
  2532. lr_mult: 0.0
  2533. decay_mult: 0.0
  2534. }
  2535. param {
  2536. lr_mult: 0.0
  2537. decay_mult: 0.0
  2538. }
  2539. param {
  2540. lr_mult: 0.0
  2541. decay_mult: 0.0
  2542. }
  2543. }
  2544.  
  2545. layer {
  2546. bottom: "res4e_branch2c_semi_scratch"
  2547. top: "res4e_branch2c_semi_scratch"
  2548. name: "scale4e_branch2c_semi_scratch"
  2549. type: "Scale"
  2550. scale_param {
  2551. bias_term: true
  2552. }
  2553. }
  2554.  
  2555. layer {
  2556. bottom: "res4d_semi_scratch"
  2557. bottom: "res4e_branch2c_semi_scratch"
  2558. top: "res4e_semi_scratch"
  2559. name: "res4e_semi_scratch"
  2560. type: "Eltwise"
  2561. }
  2562.  
  2563. layer {
  2564. bottom: "res4e_semi_scratch"
  2565. top: "res4e_semi_scratch"
  2566. name: "res4e_relu_semi_scratch"
  2567. type: "ReLU"
  2568. }
  2569.  
  2570. layer {
  2571. bottom: "res4e_semi_scratch"
  2572. top: "res4f_branch2a_semi_scratch"
  2573. name: "res4f_branch2a_semi_scratch"
  2574. type: "Convolution"
  2575. convolution_param {
  2576. num_output: 256
  2577. kernel_size: 1
  2578. pad: 0
  2579. stride: 1
  2580. bias_term: false
  2581. }
  2582. param {
  2583. lr_mult: 1.0
  2584. }
  2585. }
  2586.  
  2587. layer {
  2588. bottom: "res4f_branch2a_semi_scratch"
  2589. top: "res4f_branch2a_semi_scratch"
  2590. name: "bn4f_branch2a_semi_scratch"
  2591. type: "BatchNorm"
  2592. batch_norm_param {
  2593. use_global_stats: false
  2594. }
  2595. param {
  2596. lr_mult: 0.0
  2597. decay_mult: 0.0
  2598. }
  2599. param {
  2600. lr_mult: 0.0
  2601. decay_mult: 0.0
  2602. }
  2603. param {
  2604. lr_mult: 0.0
  2605. decay_mult: 0.0
  2606. }
  2607. }
  2608.  
  2609. layer {
  2610. bottom: "res4f_branch2a_semi_scratch"
  2611. top: "res4f_branch2a_semi_scratch"
  2612. name: "scale4f_branch2a_semi_scratch"
  2613. type: "Scale"
  2614. scale_param {
  2615. bias_term: true
  2616. }
  2617. }
  2618.  
  2619. layer {
  2620. bottom: "res4f_branch2a_semi_scratch"
  2621. top: "res4f_branch2a_semi_scratch"
  2622. name: "res4f_branch2a_relu_semi_scratch"
  2623. type: "ReLU"
  2624. }
  2625.  
  2626. layer {
  2627. bottom: "res4f_branch2a_semi_scratch"
  2628. top: "res4f_branch2b_semi_scratch"
  2629. name: "res4f_branch2b_semi_scratch"
  2630. type: "Convolution"
  2631. convolution_param {
  2632. num_output: 256
  2633. kernel_size: 3
  2634. pad: 1
  2635. stride: 1
  2636. bias_term: false
  2637. }
  2638. param {
  2639. lr_mult: 1.0
  2640. }
  2641. }
  2642.  
  2643. layer {
  2644. bottom: "res4f_branch2b_semi_scratch"
  2645. top: "res4f_branch2b_semi_scratch"
  2646. name: "bn4f_branch2b_semi_scratch"
  2647. type: "BatchNorm"
  2648. batch_norm_param {
  2649. use_global_stats: false
  2650. }
  2651. param {
  2652. lr_mult: 0.0
  2653. decay_mult: 0.0
  2654. }
  2655. param {
  2656. lr_mult: 0.0
  2657. decay_mult: 0.0
  2658. }
  2659. param {
  2660. lr_mult: 0.0
  2661. decay_mult: 0.0
  2662. }
  2663. }
  2664.  
  2665. layer {
  2666. bottom: "res4f_branch2b_semi_scratch"
  2667. top: "res4f_branch2b_semi_scratch"
  2668. name: "scale4f_branch2b_semi_scratch"
  2669. type: "Scale"
  2670. scale_param {
  2671. bias_term: true
  2672. }
  2673. }
  2674.  
  2675. layer {
  2676. bottom: "res4f_branch2b_semi_scratch"
  2677. top: "res4f_branch2b_semi_scratch"
  2678. name: "res4f_branch2b_relu_semi_scratch"
  2679. type: "ReLU"
  2680. }
  2681.  
  2682. layer {
  2683. bottom: "res4f_branch2b_semi_scratch"
  2684. top: "res4f_branch2c_semi_scratch"
  2685. name: "res4f_branch2c_semi_scratch"
  2686. type: "Convolution"
  2687. convolution_param {
  2688. num_output: 1024
  2689. kernel_size: 1
  2690. pad: 0
  2691. stride: 1
  2692. bias_term: false
  2693. }
  2694. param {
  2695. lr_mult: 1.0
  2696. }
  2697. }
  2698.  
  2699. layer {
  2700. bottom: "res4f_branch2c_semi_scratch"
  2701. top: "res4f_branch2c_semi_scratch"
  2702. name: "bn4f_branch2c_semi_scratch"
  2703. type: "BatchNorm"
  2704. batch_norm_param {
  2705. use_global_stats: false
  2706. }
  2707. param {
  2708. lr_mult: 0.0
  2709. decay_mult: 0.0
  2710. }
  2711. param {
  2712. lr_mult: 0.0
  2713. decay_mult: 0.0
  2714. }
  2715. param {
  2716. lr_mult: 0.0
  2717. decay_mult: 0.0
  2718. }
  2719. }
  2720.  
  2721. layer {
  2722. bottom: "res4f_branch2c_semi_scratch"
  2723. top: "res4f_branch2c_semi_scratch"
  2724. name: "scale4f_branch2c_semi_scratch"
  2725. type: "Scale"
  2726. scale_param {
  2727. bias_term: true
  2728. }
  2729. }
  2730.  
  2731. layer {
  2732. bottom: "res4e_semi_scratch"
  2733. bottom: "res4f_branch2c_semi_scratch"
  2734. top: "res4f_semi_scratch"
  2735. name: "res4f_semi_scratch"
  2736. type: "Eltwise"
  2737. }
  2738.  
  2739. layer {
  2740. bottom: "res4f_semi_scratch"
  2741. top: "res4f_semi_scratch"
  2742. name: "res4f_relu_semi_scratch"
  2743. type: "ReLU"
  2744. }
  2745.  
  2746. layer {
  2747. bottom: "res4f_semi_scratch"
  2748. top: "res5a_branch1_semi_scratch"
  2749. name: "res5a_branch1_semi_scratch"
  2750. type: "Convolution"
  2751. convolution_param {
  2752. num_output: 2048
  2753. kernel_size: 1
  2754. pad: 0
  2755. stride: 1
  2756. bias_term: false
  2757. }
  2758. param {
  2759. lr_mult: 1.0
  2760. }
  2761. }
  2762.  
  2763. layer {
  2764. bottom: "res5a_branch1_semi_scratch"
  2765. top: "res5a_branch1_semi_scratch"
  2766. name: "bn5a_branch1_semi_scratch"
  2767. type: "BatchNorm"
  2768. batch_norm_param {
  2769. use_global_stats: false
  2770. }
  2771. param {
  2772. lr_mult: 0.0
  2773. decay_mult: 0.0
  2774. }
  2775. param {
  2776. lr_mult: 0.0
  2777. decay_mult: 0.0
  2778. }
  2779. param {
  2780. lr_mult: 0.0
  2781. decay_mult: 0.0
  2782. }
  2783. }
  2784.  
  2785. layer {
  2786. bottom: "res5a_branch1_semi_scratch"
  2787. top: "res5a_branch1_semi_scratch"
  2788. name: "scale5a_branch1_semi_scratch"
  2789. type: "Scale"
  2790. scale_param {
  2791. bias_term: true
  2792. }
  2793. }
  2794.  
  2795. layer {
  2796. bottom: "res4f_semi_scratch"
  2797. top: "res5a_branch2a_semi_scratch"
  2798. name: "res5a_branch2a_semi_scratch"
  2799. type: "Convolution"
  2800. convolution_param {
  2801. num_output: 512
  2802. kernel_size: 1
  2803. pad: 0
  2804. stride: 1
  2805. bias_term: false
  2806. }
  2807. param {
  2808. lr_mult: 1.0
  2809. }
  2810. }
  2811.  
  2812. layer {
  2813. bottom: "res5a_branch2a_semi_scratch"
  2814. top: "res5a_branch2a_semi_scratch"
  2815. name: "bn5a_branch2a_semi_scratch"
  2816. type: "BatchNorm"
  2817. batch_norm_param {
  2818. use_global_stats: false
  2819. }
  2820. param {
  2821. lr_mult: 0.0
  2822. decay_mult: 0.0
  2823. }
  2824. param {
  2825. lr_mult: 0.0
  2826. decay_mult: 0.0
  2827. }
  2828. param {
  2829. lr_mult: 0.0
  2830. decay_mult: 0.0
  2831. }
  2832. }
  2833.  
  2834. layer {
  2835. bottom: "res5a_branch2a_semi_scratch"
  2836. top: "res5a_branch2a_semi_scratch"
  2837. name: "scale5a_branch2a_semi_scratch"
  2838. type: "Scale"
  2839. scale_param {
  2840. bias_term: true
  2841. }
  2842. }
  2843.  
  2844. layer {
  2845. bottom: "res5a_branch2a_semi_scratch"
  2846. top: "res5a_branch2a_semi_scratch"
  2847. name: "res5a_branch2a_relu_semi_scratch"
  2848. type: "ReLU"
  2849. }
  2850.  
  2851. layer {
  2852. bottom: "res5a_branch2a_semi_scratch"
  2853. top: "res5a_branch2b_semi_scratch"
  2854. name: "res5a_branch2b_semi_scratch"
  2855. type: "Convolution"
  2856. convolution_param {
  2857. num_output: 512
  2858. kernel_size: 3
  2859. dilation: 2
  2860. pad: 2
  2861. stride: 1
  2862. bias_term: false
  2863. }
  2864. param {
  2865. lr_mult: 1.0
  2866. }
  2867. }
  2868.  
  2869. layer {
  2870. bottom: "res5a_branch2b_semi_scratch"
  2871. top: "res5a_branch2b_semi_scratch"
  2872. name: "bn5a_branch2b_semi_scratch"
  2873. type: "BatchNorm"
  2874. batch_norm_param {
  2875. use_global_stats: false
  2876. }
  2877. param {
  2878. lr_mult: 0.0
  2879. decay_mult: 0.0
  2880. }
  2881. param {
  2882. lr_mult: 0.0
  2883. decay_mult: 0.0
  2884. }
  2885. param {
  2886. lr_mult: 0.0
  2887. decay_mult: 0.0
  2888. }
  2889. }
  2890.  
  2891. layer {
  2892. bottom: "res5a_branch2b_semi_scratch"
  2893. top: "res5a_branch2b_semi_scratch"
  2894. name: "scale5a_branch2b_semi_scratch"
  2895. type: "Scale"
  2896. scale_param {
  2897. bias_term: true
  2898. }
  2899. }
  2900.  
  2901. layer {
  2902. bottom: "res5a_branch2b_semi_scratch"
  2903. top: "res5a_branch2b_semi_scratch"
  2904. name: "res5a_branch2b_relu_semi_scratch"
  2905. type: "ReLU"
  2906. }
  2907.  
  2908. layer {
  2909. bottom: "res5a_branch2b_semi_scratch"
  2910. top: "res5a_branch2c_semi_scratch"
  2911. name: "res5a_branch2c_semi_scratch"
  2912. type: "Convolution"
  2913. convolution_param {
  2914. num_output: 2048
  2915. kernel_size: 1
  2916. pad: 0
  2917. stride: 1
  2918. bias_term: false
  2919. }
  2920. param {
  2921. lr_mult: 1.0
  2922. }
  2923. }
  2924.  
  2925. layer {
  2926. bottom: "res5a_branch2c_semi_scratch"
  2927. top: "res5a_branch2c_semi_scratch"
  2928. name: "bn5a_branch2c_semi_scratch"
  2929. type: "BatchNorm"
  2930. batch_norm_param {
  2931. use_global_stats: false
  2932. }
  2933. param {
  2934. lr_mult: 0.0
  2935. decay_mult: 0.0
  2936. }
  2937. param {
  2938. lr_mult: 0.0
  2939. decay_mult: 0.0
  2940. }
  2941. param {
  2942. lr_mult: 0.0
  2943. decay_mult: 0.0
  2944. }
  2945. }
  2946.  
  2947. layer {
  2948. bottom: "res5a_branch2c_semi_scratch"
  2949. top: "res5a_branch2c_semi_scratch"
  2950. name: "scale5a_branch2c_semi_scratch"
  2951. type: "Scale"
  2952. scale_param {
  2953. bias_term: true
  2954. }
  2955. }
  2956.  
  2957. layer {
  2958. bottom: "res5a_branch1_semi_scratch"
  2959. bottom: "res5a_branch2c_semi_scratch"
  2960. top: "res5a_semi_scratch"
  2961. name: "res5a_semi_scratch"
  2962. type: "Eltwise"
  2963. }
  2964.  
  2965. layer {
  2966. bottom: "res5a_semi_scratch"
  2967. top: "res5a_semi_scratch"
  2968. name: "res5a_relu_semi_scratch"
  2969. type: "ReLU"
  2970. }
  2971.  
  2972. layer {
  2973. bottom: "res5a_semi_scratch"
  2974. top: "res5b_branch2a_semi_scratch"
  2975. name: "res5b_branch2a_semi_scratch"
  2976. type: "Convolution"
  2977. convolution_param {
  2978. num_output: 512
  2979. kernel_size: 1
  2980. pad: 0
  2981. stride: 1
  2982. bias_term: false
  2983. }
  2984. param {
  2985. lr_mult: 1.0
  2986. }
  2987. }
  2988.  
  2989. layer {
  2990. bottom: "res5b_branch2a_semi_scratch"
  2991. top: "res5b_branch2a_semi_scratch"
  2992. name: "bn5b_branch2a_semi_scratch"
  2993. type: "BatchNorm"
  2994. batch_norm_param {
  2995. use_global_stats: false
  2996. }
  2997. param {
  2998. lr_mult: 0.0
  2999. decay_mult: 0.0
  3000. }
  3001. param {
  3002. lr_mult: 0.0
  3003. decay_mult: 0.0
  3004. }
  3005. param {
  3006. lr_mult: 0.0
  3007. decay_mult: 0.0
  3008. }
  3009. }
  3010.  
  3011. layer {
  3012. bottom: "res5b_branch2a_semi_scratch"
  3013. top: "res5b_branch2a_semi_scratch"
  3014. name: "scale5b_branch2a_semi_scratch"
  3015. type: "Scale"
  3016. scale_param {
  3017. bias_term: true
  3018. }
  3019. }
  3020.  
  3021. layer {
  3022. bottom: "res5b_branch2a_semi_scratch"
  3023. top: "res5b_branch2a_semi_scratch"
  3024. name: "res5b_branch2a_relu_semi_scratch"
  3025. type: "ReLU"
  3026. }
  3027.  
  3028. layer {
  3029. bottom: "res5b_branch2a_semi_scratch"
  3030. top: "res5b_branch2b_semi_scratch"
  3031. name: "res5b_branch2b_semi_scratch"
  3032. type: "Convolution"
  3033. convolution_param {
  3034. num_output: 512
  3035. kernel_size: 3
  3036. dilation: 2
  3037. pad: 2
  3038. stride: 1
  3039. bias_term: false
  3040. }
  3041. param {
  3042. lr_mult: 1.0
  3043. }
  3044. }
  3045.  
  3046. layer {
  3047. bottom: "res5b_branch2b_semi_scratch"
  3048. top: "res5b_branch2b_semi_scratch"
  3049. name: "bn5b_branch2b_semi_scratch"
  3050. type: "BatchNorm"
  3051. batch_norm_param {
  3052. use_global_stats: false
  3053. }
  3054. param {
  3055. lr_mult: 0.0
  3056. decay_mult: 0.0
  3057. }
  3058. param {
  3059. lr_mult: 0.0
  3060. decay_mult: 0.0
  3061. }
  3062. param {
  3063. lr_mult: 0.0
  3064. decay_mult: 0.0
  3065. }
  3066. }
  3067.  
  3068. layer {
  3069. bottom: "res5b_branch2b_semi_scratch"
  3070. top: "res5b_branch2b_semi_scratch"
  3071. name: "scale5b_branch2b_semi_scratch"
  3072. type: "Scale"
  3073. scale_param {
  3074. bias_term: true
  3075. }
  3076. }
  3077.  
  3078. layer {
  3079. bottom: "res5b_branch2b_semi_scratch"
  3080. top: "res5b_branch2b_semi_scratch"
  3081. name: "res5b_branch2b_relu_semi_scratch"
  3082. type: "ReLU"
  3083. }
  3084.  
  3085. layer {
  3086. bottom: "res5b_branch2b_semi_scratch"
  3087. top: "res5b_branch2c_semi_scratch"
  3088. name: "res5b_branch2c_semi_scratch"
  3089. type: "Convolution"
  3090. convolution_param {
  3091. num_output: 2048
  3092. kernel_size: 1
  3093. pad: 0
  3094. stride: 1
  3095. bias_term: false
  3096. }
  3097. param {
  3098. lr_mult: 1.0
  3099. }
  3100. }
  3101.  
  3102. layer {
  3103. bottom: "res5b_branch2c_semi_scratch"
  3104. top: "res5b_branch2c_semi_scratch"
  3105. name: "bn5b_branch2c_semi_scratch"
  3106. type: "BatchNorm"
  3107. batch_norm_param {
  3108. use_global_stats: false
  3109. }
  3110. param {
  3111. lr_mult: 0.0
  3112. decay_mult: 0.0
  3113. }
  3114. param {
  3115. lr_mult: 0.0
  3116. decay_mult: 0.0
  3117. }
  3118. param {
  3119. lr_mult: 0.0
  3120. decay_mult: 0.0
  3121. }
  3122. }
  3123.  
  3124. layer {
  3125. bottom: "res5b_branch2c_semi_scratch"
  3126. top: "res5b_branch2c_semi_scratch"
  3127. name: "scale5b_branch2c_semi_scratch"
  3128. type: "Scale"
  3129. scale_param {
  3130. bias_term: true
  3131. }
  3132. }
  3133.  
  3134. layer {
  3135. bottom: "res5a_semi_scratch"
  3136. bottom: "res5b_branch2c_semi_scratch"
  3137. top: "res5b_semi_scratch"
  3138. name: "res5b_semi_scratch"
  3139. type: "Eltwise"
  3140. }
  3141.  
  3142. layer {
  3143. bottom: "res5b_semi_scratch"
  3144. top: "res5b_semi_scratch"
  3145. name: "res5b_relu_semi_scratch"
  3146. type: "ReLU"
  3147. }
  3148.  
  3149. layer {
  3150. bottom: "res5b_semi_scratch"
  3151. top: "res5c_branch2a_semi_scratch"
  3152. name: "res5c_branch2a_semi_scratch"
  3153. type: "Convolution"
  3154. convolution_param {
  3155. num_output: 512
  3156. kernel_size: 1
  3157. pad: 0
  3158. stride: 1
  3159. bias_term: false
  3160. }
  3161. param {
  3162. lr_mult: 1.0
  3163. }
  3164. }
  3165.  
  3166. layer {
  3167. bottom: "res5c_branch2a_semi_scratch"
  3168. top: "res5c_branch2a_semi_scratch"
  3169. name: "bn5c_branch2a_semi_scratch"
  3170. type: "BatchNorm"
  3171. batch_norm_param {
  3172. use_global_stats: false
  3173. }
  3174. param {
  3175. lr_mult: 0.0
  3176. decay_mult: 0.0
  3177. }
  3178. param {
  3179. lr_mult: 0.0
  3180. decay_mult: 0.0
  3181. }
  3182. param {
  3183. lr_mult: 0.0
  3184. decay_mult: 0.0
  3185. }
  3186. }
  3187.  
  3188. layer {
  3189. bottom: "res5c_branch2a_semi_scratch"
  3190. top: "res5c_branch2a_semi_scratch"
  3191. name: "scale5c_branch2a_semi_scratch"
  3192. type: "Scale"
  3193. scale_param {
  3194. bias_term: true
  3195. }
  3196. }
  3197.  
  3198. layer {
  3199. bottom: "res5c_branch2a_semi_scratch"
  3200. top: "res5c_branch2a_semi_scratch"
  3201. name: "res5c_branch2a_relu_semi_scratch"
  3202. type: "ReLU"
  3203. }
  3204.  
  3205. layer {
  3206. bottom: "res5c_branch2a_semi_scratch"
  3207. top: "res5c_branch2b_semi_scratch"
  3208. name: "res5c_branch2b_semi_scratch"
  3209. type: "Convolution"
  3210. convolution_param {
  3211. num_output: 512
  3212. kernel_size: 3
  3213. dilation: 2
  3214. pad: 2
  3215. stride: 1
  3216. bias_term: false
  3217. }
  3218. param {
  3219. lr_mult: 1.0
  3220. }
  3221. }
  3222.  
  3223. layer {
  3224. bottom: "res5c_branch2b_semi_scratch"
  3225. top: "res5c_branch2b_semi_scratch"
  3226. name: "bn5c_branch2b_semi_scratch"
  3227. type: "BatchNorm"
  3228. batch_norm_param {
  3229. use_global_stats: false
  3230. }
  3231. param {
  3232. lr_mult: 0.0
  3233. decay_mult: 0.0
  3234. }
  3235. param {
  3236. lr_mult: 0.0
  3237. decay_mult: 0.0
  3238. }
  3239. param {
  3240. lr_mult: 0.0
  3241. decay_mult: 0.0
  3242. }
  3243. }
  3244.  
  3245. layer {
  3246. bottom: "res5c_branch2b_semi_scratch"
  3247. top: "res5c_branch2b_semi_scratch"
  3248. name: "scale5c_branch2b_semi_scratch"
  3249. type: "Scale"
  3250. scale_param {
  3251. bias_term: true
  3252. }
  3253. }
  3254.  
  3255. layer {
  3256. bottom: "res5c_branch2b_semi_scratch"
  3257. top: "res5c_branch2b_semi_scratch"
  3258. name: "res5c_branch2b_relu_semi_scratch"
  3259. type: "ReLU"
  3260. }
  3261.  
  3262. layer {
  3263. bottom: "res5c_branch2b_semi_scratch"
  3264. top: "res5c_branch2c_semi_scratch"
  3265. name: "res5c_branch2c_semi_scratch"
  3266. type: "Convolution"
  3267. convolution_param {
  3268. num_output: 2048
  3269. kernel_size: 1
  3270. pad: 0
  3271. stride: 1
  3272. bias_term: false
  3273. }
  3274. param {
  3275. lr_mult: 1.0
  3276. }
  3277. }
  3278.  
  3279. layer {
  3280. bottom: "res5c_branch2c_semi_scratch"
  3281. top: "res5c_branch2c_semi_scratch"
  3282. name: "bn5c_branch2c_semi_scratch"
  3283. type: "BatchNorm"
  3284. batch_norm_param {
  3285. use_global_stats: false
  3286. }
  3287. param {
  3288. lr_mult: 0.0
  3289. decay_mult: 0.0
  3290. }
  3291. param {
  3292. lr_mult: 0.0
  3293. decay_mult: 0.0
  3294. }
  3295. param {
  3296. lr_mult: 0.0
  3297. decay_mult: 0.0
  3298. }
  3299. }
  3300.  
  3301. layer {
  3302. bottom: "res5c_branch2c_semi_scratch"
  3303. top: "res5c_branch2c_semi_scratch"
  3304. name: "scale5c_branch2c_semi_scratch"
  3305. type: "Scale"
  3306. scale_param {
  3307. bias_term: true
  3308. }
  3309. }
  3310.  
  3311. layer {
  3312. bottom: "res5b_semi_scratch"
  3313. bottom: "res5c_branch2c_semi_scratch"
  3314. top: "res5c_semi_scratch"
  3315. name: "res5c_semi_scratch"
  3316. type: "Eltwise"
  3317. }
  3318.  
  3319. layer {
  3320. bottom: "res5c_semi_scratch"
  3321. top: "res5c_semi_scratch"
  3322. name: "res5c_relu_semi_scratch"
  3323. type: "ReLU"
  3324. }
  3325.  
  3326.  
  3327. #========= RPN ============
  3328.  
  3329. layer {
  3330. name: "rpn_conv/3x3"
  3331. type: "Convolution"
  3332. bottom: "res4f_semi_scratch"
  3333. top: "rpn/output"
  3334. param { lr_mult: 1.0 }
  3335. param { lr_mult: 2.0 }
  3336. convolution_param {
  3337. num_output: 512
  3338. kernel_size: 3 pad: 1 stride: 1
  3339. weight_filler { type: "gaussian" std: 0.01 }
  3340. bias_filler { type: "constant" value: 0 }
  3341. }
  3342. }
  3343. layer {
  3344. name: "rpn_relu/3x3"
  3345. type: "ReLU"
  3346. bottom: "rpn/output"
  3347. top: "rpn/output"
  3348. }
  3349.  
  3350. layer {
  3351. name: "rpn_cls_score"
  3352. type: "Convolution"
  3353. bottom: "rpn/output"
  3354. top: "rpn_cls_score"
  3355. param { lr_mult: 1.0 }
  3356. param { lr_mult: 2.0 }
  3357. convolution_param {
  3358. num_output: 18 # 2(bg/fg) * 9(anchors)
  3359. kernel_size: 1 pad: 0 stride: 1
  3360. weight_filler { type: "gaussian" std: 0.01 }
  3361. bias_filler { type: "constant" value: 0 }
  3362. }
  3363. }
  3364.  
  3365. layer {
  3366. name: "rpn_bbox_pred"
  3367. type: "Convolution"
  3368. bottom: "rpn/output"
  3369. top: "rpn_bbox_pred"
  3370. param { lr_mult: 1.0 }
  3371. param { lr_mult: 2.0 }
  3372. convolution_param {
  3373. num_output: 36 # 4 * 9(anchors)
  3374. kernel_size: 1 pad: 0 stride: 1
  3375. weight_filler { type: "gaussian" std: 0.01 }
  3376. bias_filler { type: "constant" value: 0 }
  3377. }
  3378. }
  3379.  
  3380. layer {
  3381. bottom: "rpn_cls_score"
  3382. top: "rpn_cls_score_reshape"
  3383. name: "rpn_cls_score_reshape"
  3384. type: "Reshape"
  3385. reshape_param { shape { dim: 0 dim: 2 dim: -1 dim: 0 } }
  3386. }
  3387.  
  3388. layer {
  3389. name: 'rpn-data'
  3390. type: 'Python'
  3391. bottom: 'rpn_cls_score'
  3392. bottom: 'gt_boxes'
  3393. bottom: 'im_info'
  3394. bottom: 'data'
  3395. top: 'rpn_labels'
  3396. top: 'rpn_bbox_targets'
  3397. top: 'rpn_bbox_inside_weights'
  3398. top: 'rpn_bbox_outside_weights'
  3399. python_param {
  3400. module: 'rpn.anchor_target_layer'
  3401. layer: 'AnchorTargetLayer'
  3402. param_str: "'feat_stride': 16"
  3403. }
  3404. }
  3405.  
  3406. layer {
  3407. name: "rpn_loss_cls"
  3408. type: "SoftmaxWithLoss"
  3409. bottom: "rpn_cls_score_reshape"
  3410. bottom: "rpn_labels"
  3411. propagate_down: 1
  3412. propagate_down: 0
  3413. top: "rpn_cls_loss"
  3414. loss_weight: 1
  3415. loss_param {
  3416. ignore_label: -1
  3417. normalize: true
  3418. }
  3419. }
  3420.  
  3421. layer {
  3422. name: "rpn_loss_bbox"
  3423. type: "SmoothL1Loss"
  3424. bottom: "rpn_bbox_pred"
  3425. bottom: "rpn_bbox_targets"
  3426. bottom: 'rpn_bbox_inside_weights'
  3427. bottom: 'rpn_bbox_outside_weights'
  3428. top: "rpn_loss_bbox"
  3429. loss_weight: 1
  3430. smooth_l1_loss_param { sigma: 3.0 }
  3431. }
  3432.  
  3433. #========= RoI Proposal ============
  3434.  
  3435. layer {
  3436. name: "rpn_cls_prob"
  3437. type: "Softmax"
  3438. bottom: "rpn_cls_score_reshape"
  3439. top: "rpn_cls_prob"
  3440. }
  3441.  
  3442. layer {
  3443. name: 'rpn_cls_prob_reshape'
  3444. type: 'Reshape'
  3445. bottom: 'rpn_cls_prob'
  3446. top: 'rpn_cls_prob_reshape'
  3447. reshape_param { shape { dim: 0 dim: 18 dim: -1 dim: 0 } }
  3448. }
  3449.  
  3450. layer {
  3451. name: 'proposal'
  3452. type: 'Python'
  3453. bottom: 'rpn_cls_prob_reshape'
  3454. bottom: 'rpn_bbox_pred'
  3455. bottom: 'im_info'
  3456. top: 'rpn_rois'
  3457. # top: 'rpn_scores'
  3458. python_param {
  3459. module: 'rpn.proposal_layer'
  3460. layer: 'ProposalLayer'
  3461. param_str: "'feat_stride': 16"
  3462. }
  3463. }
  3464.  
  3465. #layer {
  3466. # name: 'debug-data'
  3467. # type: 'Python'
  3468. # bottom: 'data'
  3469. # bottom: 'rpn_rois'
  3470. # bottom: 'rpn_scores'
  3471. # python_param {
  3472. # module: 'rpn.debug_layer'
  3473. # layer: 'RPNDebugLayer'
  3474. # }
  3475. #}
  3476.  
  3477. layer {
  3478. name: 'roi-data'
  3479. type: 'Python'
  3480. bottom: 'rpn_rois'
  3481. bottom: 'gt_boxes'
  3482. top: 'rois'
  3483. top: 'labels'
  3484. top: 'bbox_targets'
  3485. top: 'bbox_inside_weights'
  3486. top: 'bbox_outside_weights'
  3487. python_param {
  3488. module: 'rpn.proposal_target_layer'
  3489. layer: 'ProposalTargetLayer'
  3490. param_str: "'num_classes': 2"
  3491. }
  3492. }
  3493.  
  3494. #----------------------new conv layer------------------
  3495. layer {
  3496. bottom: "res5c_semi_scratch"
  3497. top: "conv_new_1"
  3498. name: "conv_new_1"
  3499. type: "Convolution"
  3500. convolution_param {
  3501. num_output: 1024
  3502. kernel_size: 1
  3503. pad: 0
  3504. weight_filler {
  3505. type: "gaussian"
  3506. std: 0.01
  3507. }
  3508. bias_filler {
  3509. type: "constant"
  3510. value: 0
  3511. }
  3512. }
  3513. param {
  3514. lr_mult: 1.0
  3515. }
  3516. param {
  3517. lr_mult: 2.0
  3518. }
  3519. }
  3520.  
  3521. layer {
  3522. bottom: "conv_new_1"
  3523. top: "conv_new_1"
  3524. name: "conv_new_1_relu"
  3525. type: "ReLU"
  3526. }
  3527.  
  3528. layer {
  3529. bottom: "conv_new_1"
  3530. top: "rfcn_cls"
  3531. name: "rfcn_cls"
  3532. type: "Convolution"
  3533. convolution_param {
  3534. num_output: 98 #2*(7^2) cls_num*(score_maps_size^2)
  3535. kernel_size: 1
  3536. pad: 0
  3537. weight_filler {
  3538. type: "gaussian"
  3539. std: 0.01
  3540. }
  3541. bias_filler {
  3542. type: "constant"
  3543. value: 0
  3544. }
  3545. }
  3546. param {
  3547. lr_mult: 1.0
  3548. }
  3549. param {
  3550. lr_mult: 2.0
  3551. }
  3552. }
  3553. layer {
  3554. bottom: "conv_new_1"
  3555. top: "rfcn_bbox"
  3556. name: "rfcn_bbox"
  3557. type: "Convolution"
  3558. convolution_param {
  3559. num_output: 392 #8*(7^2) cls_num*(score_maps_size^2)
  3560. kernel_size: 1
  3561. pad: 0
  3562. weight_filler {
  3563. type: "gaussian"
  3564. std: 0.01
  3565. }
  3566. bias_filler {
  3567. type: "constant"
  3568. value: 0
  3569. }
  3570. }
  3571. param {
  3572. lr_mult: 1.0
  3573. }
  3574. param {
  3575. lr_mult: 2.0
  3576. }
  3577. }
  3578.  
  3579. #--------------position sensitive RoI pooling--------------
  3580. layer {
  3581. bottom: "rfcn_cls"
  3582. bottom: "rois"
  3583. top: "psroipooled_cls_rois"
  3584. name: "psroipooled_cls_rois"
  3585. type: "PSROIPooling"
  3586. psroi_pooling_param {
  3587. spatial_scale: 0.0625
  3588. output_dim: 2
  3589. group_size: 7
  3590. }
  3591. }
  3592.  
  3593. layer {
  3594. bottom: "psroipooled_cls_rois"
  3595. top: "cls_score"
  3596. name: "ave_cls_score_rois"
  3597. type: "Pooling"
  3598. pooling_param {
  3599. pool: AVE
  3600. kernel_size: 7
  3601. stride: 7
  3602. }
  3603. }
  3604.  
  3605.  
  3606. layer {
  3607. bottom: "rfcn_bbox"
  3608. bottom: "rois"
  3609. top: "psroipooled_loc_rois"
  3610. name: "psroipooled_loc_rois"
  3611. type: "PSROIPooling"
  3612. psroi_pooling_param {
  3613. spatial_scale: 0.0625
  3614. output_dim: 8
  3615. group_size: 7
  3616. }
  3617. }
  3618.  
  3619. layer {
  3620. bottom: "psroipooled_loc_rois"
  3621. top: "bbox_pred"
  3622. name: "ave_bbox_pred_rois"
  3623. type: "Pooling"
  3624. pooling_param {
  3625. pool: AVE
  3626. kernel_size: 7
  3627. stride: 7
  3628. }
  3629. }
  3630.  
  3631.  
  3632. #-----------------------output------------------------
  3633. layer {
  3634. name: "loss"
  3635. type: "SoftmaxWithLoss"
  3636. bottom: "cls_score"
  3637. bottom: "labels"
  3638. top: "loss_cls"
  3639. loss_weight: 1
  3640. propagate_down: true
  3641. propagate_down: false
  3642. }
  3643.  
  3644. layer {
  3645. name: "accuarcy"
  3646. type: "Accuracy"
  3647. bottom: "cls_score"
  3648. bottom: "labels"
  3649. top: "accuarcy"
  3650. #include: { phase: TEST }
  3651. propagate_down: false
  3652. propagate_down: false
  3653. }
  3654.  
  3655. layer {
  3656. name: "loss_bbox"
  3657. type: "SmoothL1LossOHEM"
  3658. bottom: "bbox_pred"
  3659. bottom: "bbox_targets"
  3660. bottom: 'bbox_inside_weights'
  3661. top: "loss_bbox"
  3662. loss_weight: 1
  3663. loss_param {
  3664. normalization: PRE_FIXED
  3665. pre_fixed_normalizer: 128
  3666. }
  3667. propagate_down: true
  3668. propagate_down: false
  3669. propagate_down: false
  3670. }
  3671.  
  3672. layer {
  3673. name: "silence"
  3674. type: "Silence"
  3675. bottom: "bbox_outside_weights"
  3676. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement