Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.96 KB | None | 0 0
  1. # DetectNet network
  2.  
  3. # Data/Input layers
  4. name: "DetectNet"
  5. layer {
  6. name: "train_data"
  7. type: "Data"
  8. top: "data"
  9. include: { phase: TRAIN }
  10. }
  11. layer {
  12. name: "train_label"
  13. type: "Data"
  14. top: "label"
  15. include: { phase: TRAIN }
  16. }
  17. layer {
  18. name: "val_data"
  19. type: "Data"
  20. top: "data"
  21. include: { phase: TEST stage: "val" }
  22. }
  23. layer {
  24. name: "val_label"
  25. type: "Data"
  26. top: "label"
  27. include: { phase: TEST stage: "val" }
  28. }
  29. layer {
  30. name: "deploy_data"
  31. type: "Input"
  32. top: "data"
  33. input_param {
  34. shape {
  35. dim: 1
  36. dim: 3
  37. dim: 512
  38. dim: 704
  39. }
  40. }
  41. include: { phase: TEST not_stage: "val" }
  42. }
  43.  
  44. # Data transformation layers
  45. layer {
  46. name: "train_transform"
  47. type: "DetectNetTransformation"
  48. bottom: "data"
  49. bottom: "label"
  50. top: "transformed_data"
  51. top: "transformed_label"
  52. detectnet_groundtruth_param: {
  53. stride: 16
  54. scale_cvg: 0.4
  55. gridbox_type: GRIDBOX_MIN
  56. coverage_type: RECTANGULAR
  57. min_cvg_len: 20
  58. obj_norm: true
  59. image_size_x: 704
  60. image_size_y: 512
  61. crop_bboxes: true
  62. object_class: { src: 1 dst: 0} # obj class 1 -> cvg index 0
  63. }
  64. detectnet_augmentation_param: {
  65. crop_prob: 1
  66. shift_x: 32
  67. shift_y: 32
  68. flip_prob: 0.5
  69. rotation_prob: 0
  70. max_rotate_degree: 5
  71. scale_prob: 0.4
  72. scale_min: 0.8
  73. scale_max: 1.2
  74. hue_rotation_prob: 0.8
  75. hue_rotation: 30
  76. desaturation_prob: 0.8
  77. desaturation_max: 0.8
  78. }
  79. transform_param: {
  80. mean_value: 127
  81. }
  82. include: { phase: TRAIN }
  83. }
  84. layer {
  85. name: "val_transform"
  86. type: "DetectNetTransformation"
  87. bottom: "data"
  88. bottom: "label"
  89. top: "transformed_data"
  90. top: "transformed_label"
  91. detectnet_groundtruth_param: {
  92. stride: 16
  93. scale_cvg: 0.4
  94. gridbox_type: GRIDBOX_MIN
  95. coverage_type: RECTANGULAR
  96. min_cvg_len: 20
  97. obj_norm: true
  98. image_size_x: 704
  99. image_size_y: 512
  100. crop_bboxes: false
  101. object_class: { src: 1 dst: 0} # obj class 1 -> cvg index 0
  102. }
  103. transform_param: {
  104. mean_value: 127
  105. }
  106. include: { phase: TEST stage: "val" }
  107. }
  108. layer {
  109. name: "deploy_transform"
  110. type: "Power"
  111. bottom: "data"
  112. top: "transformed_data"
  113. power_param {
  114. shift: -127
  115. }
  116. include: { phase: TEST not_stage: "val" }
  117. }
  118.  
  119. # Label conversion layers
  120. layer {
  121. name: "slice-label"
  122. type: "Slice"
  123. bottom: "transformed_label"
  124. top: "foreground-label"
  125. top: "bbox-label"
  126. top: "size-label"
  127. top: "obj-label"
  128. top: "coverage-label"
  129. slice_param {
  130. slice_dim: 1
  131. slice_point: 1
  132. slice_point: 5
  133. slice_point: 7
  134. slice_point: 8
  135. }
  136. include { phase: TRAIN }
  137. include { phase: TEST stage: "val" }
  138. }
  139. layer {
  140. name: "coverage-block"
  141. type: "Concat"
  142. bottom: "foreground-label"
  143. bottom: "foreground-label"
  144. bottom: "foreground-label"
  145. bottom: "foreground-label"
  146. top: "coverage-block"
  147. concat_param {
  148. concat_dim: 1
  149. }
  150. include { phase: TRAIN }
  151. include { phase: TEST stage: "val" }
  152. }
  153. layer {
  154. name: "size-block"
  155. type: "Concat"
  156. bottom: "size-label"
  157. bottom: "size-label"
  158. top: "size-block"
  159. concat_param {
  160. concat_dim: 1
  161. }
  162. include { phase: TRAIN }
  163. include { phase: TEST stage: "val" }
  164. }
  165. layer {
  166. name: "obj-block"
  167. type: "Concat"
  168. bottom: "obj-label"
  169. bottom: "obj-label"
  170. bottom: "obj-label"
  171. bottom: "obj-label"
  172. top: "obj-block"
  173. concat_param {
  174. concat_dim: 1
  175. }
  176. include { phase: TRAIN }
  177. include { phase: TEST stage: "val" }
  178. }
  179. layer {
  180. name: "bb-label-norm"
  181. type: "Eltwise"
  182. bottom: "bbox-label"
  183. bottom: "size-block"
  184. top: "bbox-label-norm"
  185. eltwise_param {
  186. operation: PROD
  187. }
  188. include { phase: TRAIN }
  189. include { phase: TEST stage: "val" }
  190. }
  191. layer {
  192. name: "bb-obj-norm"
  193. type: "Eltwise"
  194. bottom: "bbox-label-norm"
  195. bottom: "obj-block"
  196. top: "bbox-obj-label-norm"
  197. eltwise_param {
  198. operation: PROD
  199. }
  200. include { phase: TRAIN }
  201. include { phase: TEST stage: "val" }
  202. }
  203.  
  204. ######################################################################
  205. # Start of convolutional network
  206. ######################################################################
  207.  
  208. layer {
  209. name: "conv1/7x7_s2"
  210. type: "Convolution"
  211. bottom: "transformed_data"
  212. top: "conv1/7x7_s2"
  213. param {
  214. lr_mult: 1
  215. decay_mult: 1
  216. }
  217. param {
  218. lr_mult: 2
  219. decay_mult: 0
  220. }
  221. convolution_param {
  222. num_output: 64
  223. pad: 3
  224. kernel_size: 7
  225. stride: 2
  226. weight_filler {
  227. type: "xavier"
  228. std: 0.1
  229. }
  230. bias_filler {
  231. type: "constant"
  232. value: 0.2
  233. }
  234. }
  235. }
  236.  
  237. layer {
  238. name: "conv1/relu_7x7"
  239. type: "ReLU"
  240. bottom: "conv1/7x7_s2"
  241. top: "conv1/7x7_s2"
  242. }
  243.  
  244. layer {
  245. name: "pool1/3x3_s2"
  246. type: "Pooling"
  247. bottom: "conv1/7x7_s2"
  248. top: "pool1/3x3_s2"
  249. pooling_param {
  250. pool: MAX
  251. kernel_size: 3
  252. stride: 2
  253. }
  254. }
  255.  
  256. layer {
  257. name: "pool1/norm1"
  258. type: "LRN"
  259. bottom: "pool1/3x3_s2"
  260. top: "pool1/norm1"
  261. lrn_param {
  262. local_size: 5
  263. alpha: 0.0001
  264. beta: 0.75
  265. }
  266. }
  267.  
  268. layer {
  269. name: "conv2/3x3_reduce"
  270. type: "Convolution"
  271. bottom: "pool1/norm1"
  272. top: "conv2/3x3_reduce"
  273. param {
  274. lr_mult: 1
  275. decay_mult: 1
  276. }
  277. param {
  278. lr_mult: 2
  279. decay_mult: 0
  280. }
  281. convolution_param {
  282. num_output: 64
  283. kernel_size: 1
  284. weight_filler {
  285. type: "xavier"
  286. std: 0.1
  287. }
  288. bias_filler {
  289. type: "constant"
  290. value: 0.2
  291. }
  292. }
  293. }
  294.  
  295. layer {
  296. name: "conv2/relu_3x3_reduce"
  297. type: "ReLU"
  298. bottom: "conv2/3x3_reduce"
  299. top: "conv2/3x3_reduce"
  300. }
  301.  
  302. layer {
  303. name: "conv2/3x3"
  304. type: "Convolution"
  305. bottom: "conv2/3x3_reduce"
  306. top: "conv2/3x3"
  307. param {
  308. lr_mult: 1
  309. decay_mult: 1
  310. }
  311. param {
  312. lr_mult: 2
  313. decay_mult: 0
  314. }
  315. convolution_param {
  316. num_output: 192
  317. pad: 1
  318. kernel_size: 3
  319. weight_filler {
  320. type: "xavier"
  321. std: 0.03
  322. }
  323. bias_filler {
  324. type: "constant"
  325. value: 0.2
  326. }
  327. }
  328. }
  329.  
  330. layer {
  331. name: "conv2/relu_3x3"
  332. type: "ReLU"
  333. bottom: "conv2/3x3"
  334. top: "conv2/3x3"
  335. }
  336.  
  337. layer {
  338. name: "conv2/norm2"
  339. type: "LRN"
  340. bottom: "conv2/3x3"
  341. top: "conv2/norm2"
  342. lrn_param {
  343. local_size: 5
  344. alpha: 0.0001
  345. beta: 0.75
  346. }
  347. }
  348.  
  349. layer {
  350. name: "pool2/3x3_s2"
  351. type: "Pooling"
  352. bottom: "conv2/norm2"
  353. top: "pool2/3x3_s2"
  354. pooling_param {
  355. pool: MAX
  356. kernel_size: 3
  357. stride: 2
  358. }
  359. }
  360.  
  361. layer {
  362. name: "inception_3a/1x1"
  363. type: "Convolution"
  364. bottom: "pool2/3x3_s2"
  365. top: "inception_3a/1x1"
  366. param {
  367. lr_mult: 1
  368. decay_mult: 1
  369. }
  370. param {
  371. lr_mult: 2
  372. decay_mult: 0
  373. }
  374. convolution_param {
  375. num_output: 64
  376. kernel_size: 1
  377. weight_filler {
  378. type: "xavier"
  379. std: 0.03
  380. }
  381. bias_filler {
  382. type: "constant"
  383. value: 0.2
  384. }
  385. }
  386. }
  387.  
  388. layer {
  389. name: "inception_3a/relu_1x1"
  390. type: "ReLU"
  391. bottom: "inception_3a/1x1"
  392. top: "inception_3a/1x1"
  393. }
  394.  
  395. layer {
  396. name: "inception_3a/3x3_reduce"
  397. type: "Convolution"
  398. bottom: "pool2/3x3_s2"
  399. top: "inception_3a/3x3_reduce"
  400. param {
  401. lr_mult: 1
  402. decay_mult: 1
  403. }
  404. param {
  405. lr_mult: 2
  406. decay_mult: 0
  407. }
  408. convolution_param {
  409. num_output: 96
  410. kernel_size: 1
  411. weight_filler {
  412. type: "xavier"
  413. std: 0.09
  414. }
  415. bias_filler {
  416. type: "constant"
  417. value: 0.2
  418. }
  419. }
  420. }
  421.  
  422. layer {
  423. name: "inception_3a/relu_3x3_reduce"
  424. type: "ReLU"
  425. bottom: "inception_3a/3x3_reduce"
  426. top: "inception_3a/3x3_reduce"
  427. }
  428.  
  429. layer {
  430. name: "inception_3a/3x3"
  431. type: "Convolution"
  432. bottom: "inception_3a/3x3_reduce"
  433. top: "inception_3a/3x3"
  434. param {
  435. lr_mult: 1
  436. decay_mult: 1
  437. }
  438. param {
  439. lr_mult: 2
  440. decay_mult: 0
  441. }
  442. convolution_param {
  443. num_output: 128
  444. pad: 1
  445. kernel_size: 3
  446. weight_filler {
  447. type: "xavier"
  448. std: 0.03
  449. }
  450. bias_filler {
  451. type: "constant"
  452. value: 0.2
  453. }
  454. }
  455. }
  456.  
  457. layer {
  458. name: "inception_3a/relu_3x3"
  459. type: "ReLU"
  460. bottom: "inception_3a/3x3"
  461. top: "inception_3a/3x3"
  462. }
  463.  
  464. layer {
  465. name: "inception_3a/5x5_reduce"
  466. type: "Convolution"
  467. bottom: "pool2/3x3_s2"
  468. top: "inception_3a/5x5_reduce"
  469. param {
  470. lr_mult: 1
  471. decay_mult: 1
  472. }
  473. param {
  474. lr_mult: 2
  475. decay_mult: 0
  476. }
  477. convolution_param {
  478. num_output: 16
  479. kernel_size: 1
  480. weight_filler {
  481. type: "xavier"
  482. std: 0.2
  483. }
  484. bias_filler {
  485. type: "constant"
  486. value: 0.2
  487. }
  488. }
  489. }
  490. layer {
  491. name: "inception_3a/relu_5x5_reduce"
  492. type: "ReLU"
  493. bottom: "inception_3a/5x5_reduce"
  494. top: "inception_3a/5x5_reduce"
  495. }
  496. layer {
  497. name: "inception_3a/5x5"
  498. type: "Convolution"
  499. bottom: "inception_3a/5x5_reduce"
  500. top: "inception_3a/5x5"
  501. param {
  502. lr_mult: 1
  503. decay_mult: 1
  504. }
  505. param {
  506. lr_mult: 2
  507. decay_mult: 0
  508. }
  509. convolution_param {
  510. num_output: 32
  511. pad: 2
  512. kernel_size: 5
  513. weight_filler {
  514. type: "xavier"
  515. std: 0.03
  516. }
  517. bias_filler {
  518. type: "constant"
  519. value: 0.2
  520. }
  521. }
  522. }
  523. layer {
  524. name: "inception_3a/relu_5x5"
  525. type: "ReLU"
  526. bottom: "inception_3a/5x5"
  527. top: "inception_3a/5x5"
  528. }
  529.  
  530. layer {
  531. name: "inception_3a/pool"
  532. type: "Pooling"
  533. bottom: "pool2/3x3_s2"
  534. top: "inception_3a/pool"
  535. pooling_param {
  536. pool: MAX
  537. kernel_size: 3
  538. stride: 1
  539. pad: 1
  540. }
  541. }
  542.  
  543. layer {
  544. name: "inception_3a/pool_proj"
  545. type: "Convolution"
  546. bottom: "inception_3a/pool"
  547. top: "inception_3a/pool_proj"
  548. param {
  549. lr_mult: 1
  550. decay_mult: 1
  551. }
  552. param {
  553. lr_mult: 2
  554. decay_mult: 0
  555. }
  556. convolution_param {
  557. num_output: 32
  558. kernel_size: 1
  559. weight_filler {
  560. type: "xavier"
  561. std: 0.1
  562. }
  563. bias_filler {
  564. type: "constant"
  565. value: 0.2
  566. }
  567. }
  568. }
  569. layer {
  570. name: "inception_3a/relu_pool_proj"
  571. type: "ReLU"
  572. bottom: "inception_3a/pool_proj"
  573. top: "inception_3a/pool_proj"
  574. }
  575.  
  576. layer {
  577. name: "inception_3a/output"
  578. type: "Concat"
  579. bottom: "inception_3a/1x1"
  580. bottom: "inception_3a/3x3"
  581. bottom: "inception_3a/5x5"
  582. bottom: "inception_3a/pool_proj"
  583. top: "inception_3a/output"
  584. }
  585.  
  586. layer {
  587. name: "inception_3b/1x1"
  588. type: "Convolution"
  589. bottom: "inception_3a/output"
  590. top: "inception_3b/1x1"
  591. param {
  592. lr_mult: 1
  593. decay_mult: 1
  594. }
  595. param {
  596. lr_mult: 2
  597. decay_mult: 0
  598. }
  599. convolution_param {
  600. num_output: 128
  601. kernel_size: 1
  602. weight_filler {
  603. type: "xavier"
  604. std: 0.03
  605. }
  606. bias_filler {
  607. type: "constant"
  608. value: 0.2
  609. }
  610. }
  611. }
  612.  
  613. layer {
  614. name: "inception_3b/relu_1x1"
  615. type: "ReLU"
  616. bottom: "inception_3b/1x1"
  617. top: "inception_3b/1x1"
  618. }
  619.  
  620. layer {
  621. name: "inception_3b/3x3_reduce"
  622. type: "Convolution"
  623. bottom: "inception_3a/output"
  624. top: "inception_3b/3x3_reduce"
  625. param {
  626. lr_mult: 1
  627. decay_mult: 1
  628. }
  629. param {
  630. lr_mult: 2
  631. decay_mult: 0
  632. }
  633. convolution_param {
  634. num_output: 128
  635. kernel_size: 1
  636. weight_filler {
  637. type: "xavier"
  638. std: 0.09
  639. }
  640. bias_filler {
  641. type: "constant"
  642. value: 0.2
  643. }
  644. }
  645. }
  646. layer {
  647. name: "inception_3b/relu_3x3_reduce"
  648. type: "ReLU"
  649. bottom: "inception_3b/3x3_reduce"
  650. top: "inception_3b/3x3_reduce"
  651. }
  652. layer {
  653. name: "inception_3b/3x3"
  654. type: "Convolution"
  655. bottom: "inception_3b/3x3_reduce"
  656. top: "inception_3b/3x3"
  657. param {
  658. lr_mult: 1
  659. decay_mult: 1
  660. }
  661. param {
  662. lr_mult: 2
  663. decay_mult: 0
  664. }
  665. convolution_param {
  666. num_output: 192
  667. pad: 1
  668. kernel_size: 3
  669. weight_filler {
  670. type: "xavier"
  671. std: 0.03
  672. }
  673. bias_filler {
  674. type: "constant"
  675. value: 0.2
  676. }
  677. }
  678. }
  679. layer {
  680. name: "inception_3b/relu_3x3"
  681. type: "ReLU"
  682. bottom: "inception_3b/3x3"
  683. top: "inception_3b/3x3"
  684. }
  685.  
  686. layer {
  687. name: "inception_3b/5x5_reduce"
  688. type: "Convolution"
  689. bottom: "inception_3a/output"
  690. top: "inception_3b/5x5_reduce"
  691. param {
  692. lr_mult: 1
  693. decay_mult: 1
  694. }
  695. param {
  696. lr_mult: 2
  697. decay_mult: 0
  698. }
  699. convolution_param {
  700. num_output: 32
  701. kernel_size: 1
  702. weight_filler {
  703. type: "xavier"
  704. std: 0.2
  705. }
  706. bias_filler {
  707. type: "constant"
  708. value: 0.2
  709. }
  710. }
  711. }
  712. layer {
  713. name: "inception_3b/relu_5x5_reduce"
  714. type: "ReLU"
  715. bottom: "inception_3b/5x5_reduce"
  716. top: "inception_3b/5x5_reduce"
  717. }
  718. layer {
  719. name: "inception_3b/5x5"
  720. type: "Convolution"
  721. bottom: "inception_3b/5x5_reduce"
  722. top: "inception_3b/5x5"
  723. param {
  724. lr_mult: 1
  725. decay_mult: 1
  726. }
  727. param {
  728. lr_mult: 2
  729. decay_mult: 0
  730. }
  731. convolution_param {
  732. num_output: 96
  733. pad: 2
  734. kernel_size: 5
  735. weight_filler {
  736. type: "xavier"
  737. std: 0.03
  738. }
  739. bias_filler {
  740. type: "constant"
  741. value: 0.2
  742. }
  743. }
  744. }
  745. layer {
  746. name: "inception_3b/relu_5x5"
  747. type: "ReLU"
  748. bottom: "inception_3b/5x5"
  749. top: "inception_3b/5x5"
  750. }
  751.  
  752. layer {
  753. name: "inception_3b/pool"
  754. type: "Pooling"
  755. bottom: "inception_3a/output"
  756. top: "inception_3b/pool"
  757. pooling_param {
  758. pool: MAX
  759. kernel_size: 3
  760. stride: 1
  761. pad: 1
  762. }
  763. }
  764. layer {
  765. name: "inception_3b/pool_proj"
  766. type: "Convolution"
  767. bottom: "inception_3b/pool"
  768. top: "inception_3b/pool_proj"
  769. param {
  770. lr_mult: 1
  771. decay_mult: 1
  772. }
  773. param {
  774. lr_mult: 2
  775. decay_mult: 0
  776. }
  777. convolution_param {
  778. num_output: 64
  779. kernel_size: 1
  780. weight_filler {
  781. type: "xavier"
  782. std: 0.1
  783. }
  784. bias_filler {
  785. type: "constant"
  786. value: 0.2
  787. }
  788. }
  789. }
  790. layer {
  791. name: "inception_3b/relu_pool_proj"
  792. type: "ReLU"
  793. bottom: "inception_3b/pool_proj"
  794. top: "inception_3b/pool_proj"
  795. }
  796. layer {
  797. name: "inception_3b/output"
  798. type: "Concat"
  799. bottom: "inception_3b/1x1"
  800. bottom: "inception_3b/3x3"
  801. bottom: "inception_3b/5x5"
  802. bottom: "inception_3b/pool_proj"
  803. top: "inception_3b/output"
  804. }
  805.  
  806. layer {
  807. name: "pool3/3x3_s2"
  808. type: "Pooling"
  809. bottom: "inception_3b/output"
  810. top: "pool3/3x3_s2"
  811. pooling_param {
  812. pool: MAX
  813. kernel_size: 3
  814. stride: 2
  815. }
  816. }
  817.  
  818. layer {
  819. name: "inception_4a/1x1"
  820. type: "Convolution"
  821. bottom: "pool3/3x3_s2"
  822. top: "inception_4a/1x1"
  823. param {
  824. lr_mult: 1
  825. decay_mult: 1
  826. }
  827. param {
  828. lr_mult: 2
  829. decay_mult: 0
  830. }
  831. convolution_param {
  832. num_output: 192
  833. kernel_size: 1
  834. weight_filler {
  835. type: "xavier"
  836. std: 0.03
  837. }
  838. bias_filler {
  839. type: "constant"
  840. value: 0.2
  841. }
  842. }
  843. }
  844.  
  845. layer {
  846. name: "inception_4a/relu_1x1"
  847. type: "ReLU"
  848. bottom: "inception_4a/1x1"
  849. top: "inception_4a/1x1"
  850. }
  851.  
  852. layer {
  853. name: "inception_4a/3x3_reduce"
  854. type: "Convolution"
  855. bottom: "pool3/3x3_s2"
  856. top: "inception_4a/3x3_reduce"
  857. param {
  858. lr_mult: 1
  859. decay_mult: 1
  860. }
  861. param {
  862. lr_mult: 2
  863. decay_mult: 0
  864. }
  865. convolution_param {
  866. num_output: 96
  867. kernel_size: 1
  868. weight_filler {
  869. type: "xavier"
  870. std: 0.09
  871. }
  872. bias_filler {
  873. type: "constant"
  874. value: 0.2
  875. }
  876. }
  877. }
  878.  
  879. layer {
  880. name: "inception_4a/relu_3x3_reduce"
  881. type: "ReLU"
  882. bottom: "inception_4a/3x3_reduce"
  883. top: "inception_4a/3x3_reduce"
  884. }
  885.  
  886. layer {
  887. name: "inception_4a/3x3"
  888. type: "Convolution"
  889. bottom: "inception_4a/3x3_reduce"
  890. top: "inception_4a/3x3"
  891. param {
  892. lr_mult: 1
  893. decay_mult: 1
  894. }
  895. param {
  896. lr_mult: 2
  897. decay_mult: 0
  898. }
  899. convolution_param {
  900. num_output: 208
  901. pad: 1
  902. kernel_size: 3
  903. weight_filler {
  904. type: "xavier"
  905. std: 0.03
  906. }
  907. bias_filler {
  908. type: "constant"
  909. value: 0.2
  910. }
  911. }
  912. }
  913.  
  914. layer {
  915. name: "inception_4a/relu_3x3"
  916. type: "ReLU"
  917. bottom: "inception_4a/3x3"
  918. top: "inception_4a/3x3"
  919. }
  920.  
  921. layer {
  922. name: "inception_4a/5x5_reduce"
  923. type: "Convolution"
  924. bottom: "pool3/3x3_s2"
  925. top: "inception_4a/5x5_reduce"
  926. param {
  927. lr_mult: 1
  928. decay_mult: 1
  929. }
  930. param {
  931. lr_mult: 2
  932. decay_mult: 0
  933. }
  934. convolution_param {
  935. num_output: 16
  936. kernel_size: 1
  937. weight_filler {
  938. type: "xavier"
  939. std: 0.2
  940. }
  941. bias_filler {
  942. type: "constant"
  943. value: 0.2
  944. }
  945. }
  946. }
  947. layer {
  948. name: "inception_4a/relu_5x5_reduce"
  949. type: "ReLU"
  950. bottom: "inception_4a/5x5_reduce"
  951. top: "inception_4a/5x5_reduce"
  952. }
  953. layer {
  954. name: "inception_4a/5x5"
  955. type: "Convolution"
  956. bottom: "inception_4a/5x5_reduce"
  957. top: "inception_4a/5x5"
  958. param {
  959. lr_mult: 1
  960. decay_mult: 1
  961. }
  962. param {
  963. lr_mult: 2
  964. decay_mult: 0
  965. }
  966. convolution_param {
  967. num_output: 48
  968. pad: 2
  969. kernel_size: 5
  970. weight_filler {
  971. type: "xavier"
  972. std: 0.03
  973. }
  974. bias_filler {
  975. type: "constant"
  976. value: 0.2
  977. }
  978. }
  979. }
  980. layer {
  981. name: "inception_4a/relu_5x5"
  982. type: "ReLU"
  983. bottom: "inception_4a/5x5"
  984. top: "inception_4a/5x5"
  985. }
  986. layer {
  987. name: "inception_4a/pool"
  988. type: "Pooling"
  989. bottom: "pool3/3x3_s2"
  990. top: "inception_4a/pool"
  991. pooling_param {
  992. pool: MAX
  993. kernel_size: 3
  994. stride: 1
  995. pad: 1
  996. }
  997. }
  998. layer {
  999. name: "inception_4a/pool_proj"
  1000. type: "Convolution"
  1001. bottom: "inception_4a/pool"
  1002. top: "inception_4a/pool_proj"
  1003. param {
  1004. lr_mult: 1
  1005. decay_mult: 1
  1006. }
  1007. param {
  1008. lr_mult: 2
  1009. decay_mult: 0
  1010. }
  1011. convolution_param {
  1012. num_output: 64
  1013. kernel_size: 1
  1014. weight_filler {
  1015. type: "xavier"
  1016. std: 0.1
  1017. }
  1018. bias_filler {
  1019. type: "constant"
  1020. value: 0.2
  1021. }
  1022. }
  1023. }
  1024. layer {
  1025. name: "inception_4a/relu_pool_proj"
  1026. type: "ReLU"
  1027. bottom: "inception_4a/pool_proj"
  1028. top: "inception_4a/pool_proj"
  1029. }
  1030. layer {
  1031. name: "inception_4a/output"
  1032. type: "Concat"
  1033. bottom: "inception_4a/1x1"
  1034. bottom: "inception_4a/3x3"
  1035. bottom: "inception_4a/5x5"
  1036. bottom: "inception_4a/pool_proj"
  1037. top: "inception_4a/output"
  1038. }
  1039.  
  1040. layer {
  1041. name: "inception_4b/1x1"
  1042. type: "Convolution"
  1043. bottom: "inception_4a/output"
  1044. top: "inception_4b/1x1"
  1045. param {
  1046. lr_mult: 1
  1047. decay_mult: 1
  1048. }
  1049. param {
  1050. lr_mult: 2
  1051. decay_mult: 0
  1052. }
  1053. convolution_param {
  1054. num_output: 160
  1055. kernel_size: 1
  1056. weight_filler {
  1057. type: "xavier"
  1058. std: 0.03
  1059. }
  1060. bias_filler {
  1061. type: "constant"
  1062. value: 0.2
  1063. }
  1064. }
  1065. }
  1066.  
  1067. layer {
  1068. name: "inception_4b/relu_1x1"
  1069. type: "ReLU"
  1070. bottom: "inception_4b/1x1"
  1071. top: "inception_4b/1x1"
  1072. }
  1073. layer {
  1074. name: "inception_4b/3x3_reduce"
  1075. type: "Convolution"
  1076. bottom: "inception_4a/output"
  1077. top: "inception_4b/3x3_reduce"
  1078. param {
  1079. lr_mult: 1
  1080. decay_mult: 1
  1081. }
  1082. param {
  1083. lr_mult: 2
  1084. decay_mult: 0
  1085. }
  1086. convolution_param {
  1087. num_output: 112
  1088. kernel_size: 1
  1089. weight_filler {
  1090. type: "xavier"
  1091. std: 0.09
  1092. }
  1093. bias_filler {
  1094. type: "constant"
  1095. value: 0.2
  1096. }
  1097. }
  1098. }
  1099. layer {
  1100. name: "inception_4b/relu_3x3_reduce"
  1101. type: "ReLU"
  1102. bottom: "inception_4b/3x3_reduce"
  1103. top: "inception_4b/3x3_reduce"
  1104. }
  1105. layer {
  1106. name: "inception_4b/3x3"
  1107. type: "Convolution"
  1108. bottom: "inception_4b/3x3_reduce"
  1109. top: "inception_4b/3x3"
  1110. param {
  1111. lr_mult: 1
  1112. decay_mult: 1
  1113. }
  1114. param {
  1115. lr_mult: 2
  1116. decay_mult: 0
  1117. }
  1118. convolution_param {
  1119. num_output: 224
  1120. pad: 1
  1121. kernel_size: 3
  1122. weight_filler {
  1123. type: "xavier"
  1124. std: 0.03
  1125. }
  1126. bias_filler {
  1127. type: "constant"
  1128. value: 0.2
  1129. }
  1130. }
  1131. }
  1132. layer {
  1133. name: "inception_4b/relu_3x3"
  1134. type: "ReLU"
  1135. bottom: "inception_4b/3x3"
  1136. top: "inception_4b/3x3"
  1137. }
  1138. layer {
  1139. name: "inception_4b/5x5_reduce"
  1140. type: "Convolution"
  1141. bottom: "inception_4a/output"
  1142. top: "inception_4b/5x5_reduce"
  1143. param {
  1144. lr_mult: 1
  1145. decay_mult: 1
  1146. }
  1147. param {
  1148. lr_mult: 2
  1149. decay_mult: 0
  1150. }
  1151. convolution_param {
  1152. num_output: 24
  1153. kernel_size: 1
  1154. weight_filler {
  1155. type: "xavier"
  1156. std: 0.2
  1157. }
  1158. bias_filler {
  1159. type: "constant"
  1160. value: 0.2
  1161. }
  1162. }
  1163. }
  1164. layer {
  1165. name: "inception_4b/relu_5x5_reduce"
  1166. type: "ReLU"
  1167. bottom: "inception_4b/5x5_reduce"
  1168. top: "inception_4b/5x5_reduce"
  1169. }
  1170. layer {
  1171. name: "inception_4b/5x5"
  1172. type: "Convolution"
  1173. bottom: "inception_4b/5x5_reduce"
  1174. top: "inception_4b/5x5"
  1175. param {
  1176. lr_mult: 1
  1177. decay_mult: 1
  1178. }
  1179. param {
  1180. lr_mult: 2
  1181. decay_mult: 0
  1182. }
  1183. convolution_param {
  1184. num_output: 64
  1185. pad: 2
  1186. kernel_size: 5
  1187. weight_filler {
  1188. type: "xavier"
  1189. std: 0.03
  1190. }
  1191. bias_filler {
  1192. type: "constant"
  1193. value: 0.2
  1194. }
  1195. }
  1196. }
  1197. layer {
  1198. name: "inception_4b/relu_5x5"
  1199. type: "ReLU"
  1200. bottom: "inception_4b/5x5"
  1201. top: "inception_4b/5x5"
  1202. }
  1203. layer {
  1204. name: "inception_4b/pool"
  1205. type: "Pooling"
  1206. bottom: "inception_4a/output"
  1207. top: "inception_4b/pool"
  1208. pooling_param {
  1209. pool: MAX
  1210. kernel_size: 3
  1211. stride: 1
  1212. pad: 1
  1213. }
  1214. }
  1215. layer {
  1216. name: "inception_4b/pool_proj"
  1217. type: "Convolution"
  1218. bottom: "inception_4b/pool"
  1219. top: "inception_4b/pool_proj"
  1220. param {
  1221. lr_mult: 1
  1222. decay_mult: 1
  1223. }
  1224. param {
  1225. lr_mult: 2
  1226. decay_mult: 0
  1227. }
  1228. convolution_param {
  1229. num_output: 64
  1230. kernel_size: 1
  1231. weight_filler {
  1232. type: "xavier"
  1233. std: 0.1
  1234. }
  1235. bias_filler {
  1236. type: "constant"
  1237. value: 0.2
  1238. }
  1239. }
  1240. }
  1241. layer {
  1242. name: "inception_4b/relu_pool_proj"
  1243. type: "ReLU"
  1244. bottom: "inception_4b/pool_proj"
  1245. top: "inception_4b/pool_proj"
  1246. }
  1247. layer {
  1248. name: "inception_4b/output"
  1249. type: "Concat"
  1250. bottom: "inception_4b/1x1"
  1251. bottom: "inception_4b/3x3"
  1252. bottom: "inception_4b/5x5"
  1253. bottom: "inception_4b/pool_proj"
  1254. top: "inception_4b/output"
  1255. }
  1256.  
  1257. layer {
  1258. name: "inception_4c/1x1"
  1259. type: "Convolution"
  1260. bottom: "inception_4b/output"
  1261. top: "inception_4c/1x1"
  1262. param {
  1263. lr_mult: 1
  1264. decay_mult: 1
  1265. }
  1266. param {
  1267. lr_mult: 2
  1268. decay_mult: 0
  1269. }
  1270. convolution_param {
  1271. num_output: 128
  1272. kernel_size: 1
  1273. weight_filler {
  1274. type: "xavier"
  1275. std: 0.03
  1276. }
  1277. bias_filler {
  1278. type: "constant"
  1279. value: 0.2
  1280. }
  1281. }
  1282. }
  1283.  
  1284. layer {
  1285. name: "inception_4c/relu_1x1"
  1286. type: "ReLU"
  1287. bottom: "inception_4c/1x1"
  1288. top: "inception_4c/1x1"
  1289. }
  1290.  
  1291. layer {
  1292. name: "inception_4c/3x3_reduce"
  1293. type: "Convolution"
  1294. bottom: "inception_4b/output"
  1295. top: "inception_4c/3x3_reduce"
  1296. param {
  1297. lr_mult: 1
  1298. decay_mult: 1
  1299. }
  1300. param {
  1301. lr_mult: 2
  1302. decay_mult: 0
  1303. }
  1304. convolution_param {
  1305. num_output: 128
  1306. kernel_size: 1
  1307. weight_filler {
  1308. type: "xavier"
  1309. std: 0.09
  1310. }
  1311. bias_filler {
  1312. type: "constant"
  1313. value: 0.2
  1314. }
  1315. }
  1316. }
  1317.  
  1318. layer {
  1319. name: "inception_4c/relu_3x3_reduce"
  1320. type: "ReLU"
  1321. bottom: "inception_4c/3x3_reduce"
  1322. top: "inception_4c/3x3_reduce"
  1323. }
  1324. layer {
  1325. name: "inception_4c/3x3"
  1326. type: "Convolution"
  1327. bottom: "inception_4c/3x3_reduce"
  1328. top: "inception_4c/3x3"
  1329. param {
  1330. lr_mult: 1
  1331. decay_mult: 1
  1332. }
  1333. param {
  1334. lr_mult: 2
  1335. decay_mult: 0
  1336. }
  1337. convolution_param {
  1338. num_output: 256
  1339. pad: 1
  1340. kernel_size: 3
  1341. weight_filler {
  1342. type: "xavier"
  1343. std: 0.03
  1344. }
  1345. bias_filler {
  1346. type: "constant"
  1347. value: 0.2
  1348. }
  1349. }
  1350. }
  1351. layer {
  1352. name: "inception_4c/relu_3x3"
  1353. type: "ReLU"
  1354. bottom: "inception_4c/3x3"
  1355. top: "inception_4c/3x3"
  1356. }
  1357. layer {
  1358. name: "inception_4c/5x5_reduce"
  1359. type: "Convolution"
  1360. bottom: "inception_4b/output"
  1361. top: "inception_4c/5x5_reduce"
  1362. param {
  1363. lr_mult: 1
  1364. decay_mult: 1
  1365. }
  1366. param {
  1367. lr_mult: 2
  1368. decay_mult: 0
  1369. }
  1370. convolution_param {
  1371. num_output: 24
  1372. kernel_size: 1
  1373. weight_filler {
  1374. type: "xavier"
  1375. std: 0.2
  1376. }
  1377. bias_filler {
  1378. type: "constant"
  1379. value: 0.2
  1380. }
  1381. }
  1382. }
  1383. layer {
  1384. name: "inception_4c/relu_5x5_reduce"
  1385. type: "ReLU"
  1386. bottom: "inception_4c/5x5_reduce"
  1387. top: "inception_4c/5x5_reduce"
  1388. }
  1389. layer {
  1390. name: "inception_4c/5x5"
  1391. type: "Convolution"
  1392. bottom: "inception_4c/5x5_reduce"
  1393. top: "inception_4c/5x5"
  1394. param {
  1395. lr_mult: 1
  1396. decay_mult: 1
  1397. }
  1398. param {
  1399. lr_mult: 2
  1400. decay_mult: 0
  1401. }
  1402. convolution_param {
  1403. num_output: 64
  1404. pad: 2
  1405. kernel_size: 5
  1406. weight_filler {
  1407. type: "xavier"
  1408. std: 0.03
  1409. }
  1410. bias_filler {
  1411. type: "constant"
  1412. value: 0.2
  1413. }
  1414. }
  1415. }
  1416. layer {
  1417. name: "inception_4c/relu_5x5"
  1418. type: "ReLU"
  1419. bottom: "inception_4c/5x5"
  1420. top: "inception_4c/5x5"
  1421. }
  1422. layer {
  1423. name: "inception_4c/pool"
  1424. type: "Pooling"
  1425. bottom: "inception_4b/output"
  1426. top: "inception_4c/pool"
  1427. pooling_param {
  1428. pool: MAX
  1429. kernel_size: 3
  1430. stride: 1
  1431. pad: 1
  1432. }
  1433. }
  1434. layer {
  1435. name: "inception_4c/pool_proj"
  1436. type: "Convolution"
  1437. bottom: "inception_4c/pool"
  1438. top: "inception_4c/pool_proj"
  1439. param {
  1440. lr_mult: 1
  1441. decay_mult: 1
  1442. }
  1443. param {
  1444. lr_mult: 2
  1445. decay_mult: 0
  1446. }
  1447. convolution_param {
  1448. num_output: 64
  1449. kernel_size: 1
  1450. weight_filler {
  1451. type: "xavier"
  1452. std: 0.1
  1453. }
  1454. bias_filler {
  1455. type: "constant"
  1456. value: 0.2
  1457. }
  1458. }
  1459. }
  1460. layer {
  1461. name: "inception_4c/relu_pool_proj"
  1462. type: "ReLU"
  1463. bottom: "inception_4c/pool_proj"
  1464. top: "inception_4c/pool_proj"
  1465. }
  1466. layer {
  1467. name: "inception_4c/output"
  1468. type: "Concat"
  1469. bottom: "inception_4c/1x1"
  1470. bottom: "inception_4c/3x3"
  1471. bottom: "inception_4c/5x5"
  1472. bottom: "inception_4c/pool_proj"
  1473. top: "inception_4c/output"
  1474. }
  1475.  
  1476. layer {
  1477. name: "inception_4d/1x1"
  1478. type: "Convolution"
  1479. bottom: "inception_4c/output"
  1480. top: "inception_4d/1x1"
  1481. param {
  1482. lr_mult: 1
  1483. decay_mult: 1
  1484. }
  1485. param {
  1486. lr_mult: 2
  1487. decay_mult: 0
  1488. }
  1489. convolution_param {
  1490. num_output: 112
  1491. kernel_size: 1
  1492. weight_filler {
  1493. type: "xavier"
  1494. std: 0.1
  1495. }
  1496. bias_filler {
  1497. type: "constant"
  1498. value: 0.2
  1499. }
  1500. }
  1501. }
  1502. layer {
  1503. name: "inception_4d/relu_1x1"
  1504. type: "ReLU"
  1505. bottom: "inception_4d/1x1"
  1506. top: "inception_4d/1x1"
  1507. }
  1508. layer {
  1509. name: "inception_4d/3x3_reduce"
  1510. type: "Convolution"
  1511. bottom: "inception_4c/output"
  1512. top: "inception_4d/3x3_reduce"
  1513. param {
  1514. lr_mult: 1
  1515. decay_mult: 1
  1516. }
  1517. param {
  1518. lr_mult: 2
  1519. decay_mult: 0
  1520. }
  1521. convolution_param {
  1522. num_output: 144
  1523. kernel_size: 1
  1524. weight_filler {
  1525. type: "xavier"
  1526. std: 0.1
  1527. }
  1528. bias_filler {
  1529. type: "constant"
  1530. value: 0.2
  1531. }
  1532. }
  1533. }
  1534. layer {
  1535. name: "inception_4d/relu_3x3_reduce"
  1536. type: "ReLU"
  1537. bottom: "inception_4d/3x3_reduce"
  1538. top: "inception_4d/3x3_reduce"
  1539. }
  1540. layer {
  1541. name: "inception_4d/3x3"
  1542. type: "Convolution"
  1543. bottom: "inception_4d/3x3_reduce"
  1544. top: "inception_4d/3x3"
  1545. param {
  1546. lr_mult: 1
  1547. decay_mult: 1
  1548. }
  1549. param {
  1550. lr_mult: 2
  1551. decay_mult: 0
  1552. }
  1553. convolution_param {
  1554. num_output: 288
  1555. pad: 1
  1556. kernel_size: 3
  1557. weight_filler {
  1558. type: "xavier"
  1559. std: 0.1
  1560. }
  1561. bias_filler {
  1562. type: "constant"
  1563. value: 0.2
  1564. }
  1565. }
  1566. }
  1567. layer {
  1568. name: "inception_4d/relu_3x3"
  1569. type: "ReLU"
  1570. bottom: "inception_4d/3x3"
  1571. top: "inception_4d/3x3"
  1572. }
  1573. layer {
  1574. name: "inception_4d/5x5_reduce"
  1575. type: "Convolution"
  1576. bottom: "inception_4c/output"
  1577. top: "inception_4d/5x5_reduce"
  1578. param {
  1579. lr_mult: 1
  1580. decay_mult: 1
  1581. }
  1582. param {
  1583. lr_mult: 2
  1584. decay_mult: 0
  1585. }
  1586. convolution_param {
  1587. num_output: 32
  1588. kernel_size: 1
  1589. weight_filler {
  1590. type: "xavier"
  1591. std: 0.1
  1592. }
  1593. bias_filler {
  1594. type: "constant"
  1595. value: 0.2
  1596. }
  1597. }
  1598. }
  1599. layer {
  1600. name: "inception_4d/relu_5x5_reduce"
  1601. type: "ReLU"
  1602. bottom: "inception_4d/5x5_reduce"
  1603. top: "inception_4d/5x5_reduce"
  1604. }
  1605. layer {
  1606. name: "inception_4d/5x5"
  1607. type: "Convolution"
  1608. bottom: "inception_4d/5x5_reduce"
  1609. top: "inception_4d/5x5"
  1610. param {
  1611. lr_mult: 1
  1612. decay_mult: 1
  1613. }
  1614. param {
  1615. lr_mult: 2
  1616. decay_mult: 0
  1617. }
  1618. convolution_param {
  1619. num_output: 64
  1620. pad: 2
  1621. kernel_size: 5
  1622. weight_filler {
  1623. type: "xavier"
  1624. std: 0.1
  1625. }
  1626. bias_filler {
  1627. type: "constant"
  1628. value: 0.2
  1629. }
  1630. }
  1631. }
  1632. layer {
  1633. name: "inception_4d/relu_5x5"
  1634. type: "ReLU"
  1635. bottom: "inception_4d/5x5"
  1636. top: "inception_4d/5x5"
  1637. }
  1638. layer {
  1639. name: "inception_4d/pool"
  1640. type: "Pooling"
  1641. bottom: "inception_4c/output"
  1642. top: "inception_4d/pool"
  1643. pooling_param {
  1644. pool: MAX
  1645. kernel_size: 3
  1646. stride: 1
  1647. pad: 1
  1648. }
  1649. }
  1650. layer {
  1651. name: "inception_4d/pool_proj"
  1652. type: "Convolution"
  1653. bottom: "inception_4d/pool"
  1654. top: "inception_4d/pool_proj"
  1655. param {
  1656. lr_mult: 1
  1657. decay_mult: 1
  1658. }
  1659. param {
  1660. lr_mult: 2
  1661. decay_mult: 0
  1662. }
  1663. convolution_param {
  1664. num_output: 64
  1665. kernel_size: 1
  1666. weight_filler {
  1667. type: "xavier"
  1668. std: 0.1
  1669. }
  1670. bias_filler {
  1671. type: "constant"
  1672. value: 0.2
  1673. }
  1674. }
  1675. }
  1676. layer {
  1677. name: "inception_4d/relu_pool_proj"
  1678. type: "ReLU"
  1679. bottom: "inception_4d/pool_proj"
  1680. top: "inception_4d/pool_proj"
  1681. }
  1682. layer {
  1683. name: "inception_4d/output"
  1684. type: "Concat"
  1685. bottom: "inception_4d/1x1"
  1686. bottom: "inception_4d/3x3"
  1687. bottom: "inception_4d/5x5"
  1688. bottom: "inception_4d/pool_proj"
  1689. top: "inception_4d/output"
  1690. }
  1691.  
  1692. layer {
  1693. name: "inception_4e/1x1"
  1694. type: "Convolution"
  1695. bottom: "inception_4d/output"
  1696. top: "inception_4e/1x1"
  1697. param {
  1698. lr_mult: 1
  1699. decay_mult: 1
  1700. }
  1701. param {
  1702. lr_mult: 2
  1703. decay_mult: 0
  1704. }
  1705. convolution_param {
  1706. num_output: 256
  1707. kernel_size: 1
  1708. weight_filler {
  1709. type: "xavier"
  1710. std: 0.03
  1711. }
  1712. bias_filler {
  1713. type: "constant"
  1714. value: 0.2
  1715. }
  1716. }
  1717. }
  1718. layer {
  1719. name: "inception_4e/relu_1x1"
  1720. type: "ReLU"
  1721. bottom: "inception_4e/1x1"
  1722. top: "inception_4e/1x1"
  1723. }
  1724. layer {
  1725. name: "inception_4e/3x3_reduce"
  1726. type: "Convolution"
  1727. bottom: "inception_4d/output"
  1728. top: "inception_4e/3x3_reduce"
  1729. param {
  1730. lr_mult: 1
  1731. decay_mult: 1
  1732. }
  1733. param {
  1734. lr_mult: 2
  1735. decay_mult: 0
  1736. }
  1737. convolution_param {
  1738. num_output: 160
  1739. kernel_size: 1
  1740. weight_filler {
  1741. type: "xavier"
  1742. std: 0.09
  1743. }
  1744. bias_filler {
  1745. type: "constant"
  1746. value: 0.2
  1747. }
  1748. }
  1749. }
  1750. layer {
  1751. name: "inception_4e/relu_3x3_reduce"
  1752. type: "ReLU"
  1753. bottom: "inception_4e/3x3_reduce"
  1754. top: "inception_4e/3x3_reduce"
  1755. }
  1756. layer {
  1757. name: "inception_4e/3x3"
  1758. type: "Convolution"
  1759. bottom: "inception_4e/3x3_reduce"
  1760. top: "inception_4e/3x3"
  1761. param {
  1762. lr_mult: 1
  1763. decay_mult: 1
  1764. }
  1765. param {
  1766. lr_mult: 2
  1767. decay_mult: 0
  1768. }
  1769. convolution_param {
  1770. num_output: 320
  1771. pad: 1
  1772. kernel_size: 3
  1773. weight_filler {
  1774. type: "xavier"
  1775. std: 0.03
  1776. }
  1777. bias_filler {
  1778. type: "constant"
  1779. value: 0.2
  1780. }
  1781. }
  1782. }
  1783. layer {
  1784. name: "inception_4e/relu_3x3"
  1785. type: "ReLU"
  1786. bottom: "inception_4e/3x3"
  1787. top: "inception_4e/3x3"
  1788. }
  1789. layer {
  1790. name: "inception_4e/5x5_reduce"
  1791. type: "Convolution"
  1792. bottom: "inception_4d/output"
  1793. top: "inception_4e/5x5_reduce"
  1794. param {
  1795. lr_mult: 1
  1796. decay_mult: 1
  1797. }
  1798. param {
  1799. lr_mult: 2
  1800. decay_mult: 0
  1801. }
  1802. convolution_param {
  1803. num_output: 32
  1804. kernel_size: 1
  1805. weight_filler {
  1806. type: "xavier"
  1807. std: 0.2
  1808. }
  1809. bias_filler {
  1810. type: "constant"
  1811. value: 0.2
  1812. }
  1813. }
  1814. }
  1815. layer {
  1816. name: "inception_4e/relu_5x5_reduce"
  1817. type: "ReLU"
  1818. bottom: "inception_4e/5x5_reduce"
  1819. top: "inception_4e/5x5_reduce"
  1820. }
  1821. layer {
  1822. name: "inception_4e/5x5"
  1823. type: "Convolution"
  1824. bottom: "inception_4e/5x5_reduce"
  1825. top: "inception_4e/5x5"
  1826. param {
  1827. lr_mult: 1
  1828. decay_mult: 1
  1829. }
  1830. param {
  1831. lr_mult: 2
  1832. decay_mult: 0
  1833. }
  1834. convolution_param {
  1835. num_output: 128
  1836. pad: 2
  1837. kernel_size: 5
  1838. weight_filler {
  1839. type: "xavier"
  1840. std: 0.03
  1841. }
  1842. bias_filler {
  1843. type: "constant"
  1844. value: 0.2
  1845. }
  1846. }
  1847. }
  1848. layer {
  1849. name: "inception_4e/relu_5x5"
  1850. type: "ReLU"
  1851. bottom: "inception_4e/5x5"
  1852. top: "inception_4e/5x5"
  1853. }
  1854. layer {
  1855. name: "inception_4e/pool"
  1856. type: "Pooling"
  1857. bottom: "inception_4d/output"
  1858. top: "inception_4e/pool"
  1859. pooling_param {
  1860. pool: MAX
  1861. kernel_size: 3
  1862. stride: 1
  1863. pad: 1
  1864. }
  1865. }
  1866. layer {
  1867. name: "inception_4e/pool_proj"
  1868. type: "Convolution"
  1869. bottom: "inception_4e/pool"
  1870. top: "inception_4e/pool_proj"
  1871. param {
  1872. lr_mult: 1
  1873. decay_mult: 1
  1874. }
  1875. param {
  1876. lr_mult: 2
  1877. decay_mult: 0
  1878. }
  1879. convolution_param {
  1880. num_output: 128
  1881. kernel_size: 1
  1882. weight_filler {
  1883. type: "xavier"
  1884. std: 0.1
  1885. }
  1886. bias_filler {
  1887. type: "constant"
  1888. value: 0.2
  1889. }
  1890. }
  1891. }
  1892. layer {
  1893. name: "inception_4e/relu_pool_proj"
  1894. type: "ReLU"
  1895. bottom: "inception_4e/pool_proj"
  1896. top: "inception_4e/pool_proj"
  1897. }
  1898. layer {
  1899. name: "inception_4e/output"
  1900. type: "Concat"
  1901. bottom: "inception_4e/1x1"
  1902. bottom: "inception_4e/3x3"
  1903. bottom: "inception_4e/5x5"
  1904. bottom: "inception_4e/pool_proj"
  1905. top: "inception_4e/output"
  1906. }
  1907.  
  1908.  
  1909.  
  1910. layer {
  1911. name: "inception_5a/1x1"
  1912. type: "Convolution"
  1913. bottom: "inception_4e/output"
  1914. top: "inception_5a/1x1"
  1915. param {
  1916. lr_mult: 1
  1917. decay_mult: 1
  1918. }
  1919. param {
  1920. lr_mult: 2
  1921. decay_mult: 0
  1922. }
  1923. convolution_param {
  1924. num_output: 256
  1925. kernel_size: 1
  1926. weight_filler {
  1927. type: "xavier"
  1928. std: 0.03
  1929. }
  1930. bias_filler {
  1931. type: "constant"
  1932. value: 0.2
  1933. }
  1934. }
  1935. }
  1936. layer {
  1937. name: "inception_5a/relu_1x1"
  1938. type: "ReLU"
  1939. bottom: "inception_5a/1x1"
  1940. top: "inception_5a/1x1"
  1941. }
  1942.  
  1943. layer {
  1944. name: "inception_5a/3x3_reduce"
  1945. type: "Convolution"
  1946. bottom: "inception_4e/output"
  1947. top: "inception_5a/3x3_reduce"
  1948. param {
  1949. lr_mult: 1
  1950. decay_mult: 1
  1951. }
  1952. param {
  1953. lr_mult: 2
  1954. decay_mult: 0
  1955. }
  1956. convolution_param {
  1957. num_output: 160
  1958. kernel_size: 1
  1959. weight_filler {
  1960. type: "xavier"
  1961. std: 0.09
  1962. }
  1963. bias_filler {
  1964. type: "constant"
  1965. value: 0.2
  1966. }
  1967. }
  1968. }
  1969. layer {
  1970. name: "inception_5a/relu_3x3_reduce"
  1971. type: "ReLU"
  1972. bottom: "inception_5a/3x3_reduce"
  1973. top: "inception_5a/3x3_reduce"
  1974. }
  1975.  
  1976. layer {
  1977. name: "inception_5a/3x3"
  1978. type: "Convolution"
  1979. bottom: "inception_5a/3x3_reduce"
  1980. top: "inception_5a/3x3"
  1981. param {
  1982. lr_mult: 1
  1983. decay_mult: 1
  1984. }
  1985. param {
  1986. lr_mult: 2
  1987. decay_mult: 0
  1988. }
  1989. convolution_param {
  1990. num_output: 320
  1991. pad: 1
  1992. kernel_size: 3
  1993. weight_filler {
  1994. type: "xavier"
  1995. std: 0.03
  1996. }
  1997. bias_filler {
  1998. type: "constant"
  1999. value: 0.2
  2000. }
  2001. }
  2002. }
  2003. layer {
  2004. name: "inception_5a/relu_3x3"
  2005. type: "ReLU"
  2006. bottom: "inception_5a/3x3"
  2007. top: "inception_5a/3x3"
  2008. }
  2009. layer {
  2010. name: "inception_5a/5x5_reduce"
  2011. type: "Convolution"
  2012. bottom: "inception_4e/output"
  2013. top: "inception_5a/5x5_reduce"
  2014. param {
  2015. lr_mult: 1
  2016. decay_mult: 1
  2017. }
  2018. param {
  2019. lr_mult: 2
  2020. decay_mult: 0
  2021. }
  2022. convolution_param {
  2023. num_output: 32
  2024. kernel_size: 1
  2025. weight_filler {
  2026. type: "xavier"
  2027. std: 0.2
  2028. }
  2029. bias_filler {
  2030. type: "constant"
  2031. value: 0.2
  2032. }
  2033. }
  2034. }
  2035. layer {
  2036. name: "inception_5a/relu_5x5_reduce"
  2037. type: "ReLU"
  2038. bottom: "inception_5a/5x5_reduce"
  2039. top: "inception_5a/5x5_reduce"
  2040. }
  2041. layer {
  2042. name: "inception_5a/5x5"
  2043. type: "Convolution"
  2044. bottom: "inception_5a/5x5_reduce"
  2045. top: "inception_5a/5x5"
  2046. param {
  2047. lr_mult: 1
  2048. decay_mult: 1
  2049. }
  2050. param {
  2051. lr_mult: 2
  2052. decay_mult: 0
  2053. }
  2054. convolution_param {
  2055. num_output: 128
  2056. pad: 2
  2057. kernel_size: 5
  2058. weight_filler {
  2059. type: "xavier"
  2060. std: 0.03
  2061. }
  2062. bias_filler {
  2063. type: "constant"
  2064. value: 0.2
  2065. }
  2066. }
  2067. }
  2068. layer {
  2069. name: "inception_5a/relu_5x5"
  2070. type: "ReLU"
  2071. bottom: "inception_5a/5x5"
  2072. top: "inception_5a/5x5"
  2073. }
  2074. layer {
  2075. name: "inception_5a/pool"
  2076. type: "Pooling"
  2077. bottom: "inception_4e/output"
  2078. top: "inception_5a/pool"
  2079. pooling_param {
  2080. pool: MAX
  2081. kernel_size: 3
  2082. stride: 1
  2083. pad: 1
  2084. }
  2085. }
  2086. layer {
  2087. name: "inception_5a/pool_proj"
  2088. type: "Convolution"
  2089. bottom: "inception_5a/pool"
  2090. top: "inception_5a/pool_proj"
  2091. param {
  2092. lr_mult: 1
  2093. decay_mult: 1
  2094. }
  2095. param {
  2096. lr_mult: 2
  2097. decay_mult: 0
  2098. }
  2099. convolution_param {
  2100. num_output: 128
  2101. kernel_size: 1
  2102. weight_filler {
  2103. type: "xavier"
  2104. std: 0.1
  2105. }
  2106. bias_filler {
  2107. type: "constant"
  2108. value: 0.2
  2109. }
  2110. }
  2111. }
  2112. layer {
  2113. name: "inception_5a/relu_pool_proj"
  2114. type: "ReLU"
  2115. bottom: "inception_5a/pool_proj"
  2116. top: "inception_5a/pool_proj"
  2117. }
  2118. layer {
  2119. name: "inception_5a/output"
  2120. type: "Concat"
  2121. bottom: "inception_5a/1x1"
  2122. bottom: "inception_5a/3x3"
  2123. bottom: "inception_5a/5x5"
  2124. bottom: "inception_5a/pool_proj"
  2125. top: "inception_5a/output"
  2126. }
  2127.  
  2128. layer {
  2129. name: "inception_5b/1x1"
  2130. type: "Convolution"
  2131. bottom: "inception_5a/output"
  2132. top: "inception_5b/1x1"
  2133. param {
  2134. lr_mult: 1
  2135. decay_mult: 1
  2136. }
  2137. param {
  2138. lr_mult: 2
  2139. decay_mult: 0
  2140. }
  2141. convolution_param {
  2142. num_output: 384
  2143. kernel_size: 1
  2144. weight_filler {
  2145. type: "xavier"
  2146. std: 0.1
  2147. }
  2148. bias_filler {
  2149. type: "constant"
  2150. value: 0.2
  2151. }
  2152. }
  2153. }
  2154. layer {
  2155. name: "inception_5b/relu_1x1"
  2156. type: "ReLU"
  2157. bottom: "inception_5b/1x1"
  2158. top: "inception_5b/1x1"
  2159. }
  2160. layer {
  2161. name: "inception_5b/3x3_reduce"
  2162. type: "Convolution"
  2163. bottom: "inception_5a/output"
  2164. top: "inception_5b/3x3_reduce"
  2165. param {
  2166. lr_mult: 1
  2167. decay_mult: 1
  2168. }
  2169. param {
  2170. lr_mult: 1
  2171. decay_mult: 0
  2172. }
  2173. convolution_param {
  2174. num_output: 192
  2175. kernel_size: 1
  2176. weight_filler {
  2177. type: "xavier"
  2178. std: 0.1
  2179. }
  2180. bias_filler {
  2181. type: "constant"
  2182. value: 0.2
  2183. }
  2184. }
  2185. }
  2186. layer {
  2187. name: "inception_5b/relu_3x3_reduce"
  2188. type: "ReLU"
  2189. bottom: "inception_5b/3x3_reduce"
  2190. top: "inception_5b/3x3_reduce"
  2191. }
  2192. layer {
  2193. name: "inception_5b/3x3"
  2194. type: "Convolution"
  2195. bottom: "inception_5b/3x3_reduce"
  2196. top: "inception_5b/3x3"
  2197. param {
  2198. lr_mult: 1
  2199. decay_mult: 1
  2200. }
  2201. param {
  2202. lr_mult: 2
  2203. decay_mult: 0
  2204. }
  2205. convolution_param {
  2206. num_output: 384
  2207. pad: 1
  2208. kernel_size: 3
  2209. weight_filler {
  2210. type: "xavier"
  2211. std: 0.1
  2212. }
  2213. bias_filler {
  2214. type: "constant"
  2215. value: 0.2
  2216. }
  2217. }
  2218. }
  2219. layer {
  2220. name: "inception_5b/relu_3x3"
  2221. type: "ReLU"
  2222. bottom: "inception_5b/3x3"
  2223. top: "inception_5b/3x3"
  2224. }
  2225. layer {
  2226. name: "inception_5b/5x5_reduce"
  2227. type: "Convolution"
  2228. bottom: "inception_5a/output"
  2229. top: "inception_5b/5x5_reduce"
  2230. param {
  2231. lr_mult: 1
  2232. decay_mult: 1
  2233. }
  2234. param {
  2235. lr_mult: 2
  2236. decay_mult: 0
  2237. }
  2238. convolution_param {
  2239. num_output: 48
  2240. kernel_size: 1
  2241. weight_filler {
  2242. type: "xavier"
  2243. std: 0.1
  2244. }
  2245. bias_filler {
  2246. type: "constant"
  2247. value: 0.2
  2248. }
  2249. }
  2250. }
  2251. layer {
  2252. name: "inception_5b/relu_5x5_reduce"
  2253. type: "ReLU"
  2254. bottom: "inception_5b/5x5_reduce"
  2255. top: "inception_5b/5x5_reduce"
  2256. }
  2257. layer {
  2258. name: "inception_5b/5x5"
  2259. type: "Convolution"
  2260. bottom: "inception_5b/5x5_reduce"
  2261. top: "inception_5b/5x5"
  2262. param {
  2263. lr_mult: 1
  2264. decay_mult: 1
  2265. }
  2266. param {
  2267. lr_mult: 2
  2268. decay_mult: 0
  2269. }
  2270. convolution_param {
  2271. num_output: 128
  2272. pad: 2
  2273. kernel_size: 5
  2274. weight_filler {
  2275. type: "xavier"
  2276. std: 0.1
  2277. }
  2278. bias_filler {
  2279. type: "constant"
  2280. value: 0.2
  2281. }
  2282. }
  2283. }
  2284. layer {
  2285. name: "inception_5b/relu_5x5"
  2286. type: "ReLU"
  2287. bottom: "inception_5b/5x5"
  2288. top: "inception_5b/5x5"
  2289. }
  2290. layer {
  2291. name: "inception_5b/pool"
  2292. type: "Pooling"
  2293. bottom: "inception_5a/output"
  2294. top: "inception_5b/pool"
  2295. pooling_param {
  2296. pool: MAX
  2297. kernel_size: 3
  2298. stride: 1
  2299. pad: 1
  2300. }
  2301. }
  2302. layer {
  2303. name: "inception_5b/pool_proj"
  2304. type: "Convolution"
  2305. bottom: "inception_5b/pool"
  2306. top: "inception_5b/pool_proj"
  2307. param {
  2308. lr_mult: 1
  2309. decay_mult: 1
  2310. }
  2311. param {
  2312. lr_mult: 2
  2313. decay_mult: 0
  2314. }
  2315. convolution_param {
  2316. num_output: 128
  2317. kernel_size: 1
  2318. weight_filler {
  2319. type: "xavier"
  2320. std: 0.1
  2321. }
  2322. bias_filler {
  2323. type: "constant"
  2324. value: 0.2
  2325. }
  2326. }
  2327. }
  2328. layer {
  2329. name: "inception_5b/relu_pool_proj"
  2330. type: "ReLU"
  2331. bottom: "inception_5b/pool_proj"
  2332. top: "inception_5b/pool_proj"
  2333. }
  2334. layer {
  2335. name: "inception_5b/output"
  2336. type: "Concat"
  2337. bottom: "inception_5b/1x1"
  2338. bottom: "inception_5b/3x3"
  2339. bottom: "inception_5b/5x5"
  2340. bottom: "inception_5b/pool_proj"
  2341. top: "inception_5b/output"
  2342. }
  2343. layer {
  2344. name: "pool5/drop_s1"
  2345. type: "Dropout"
  2346. bottom: "inception_5b/output"
  2347. top: "pool5/drop_s1"
  2348. dropout_param {
  2349. dropout_ratio: 0.4
  2350. }
  2351. }
  2352. layer {
  2353. name: "cvg/classifier"
  2354. type: "Convolution"
  2355. bottom: "pool5/drop_s1"
  2356. top: "cvg/classifier"
  2357. param {
  2358. lr_mult: 1
  2359. decay_mult: 1
  2360. }
  2361. param {
  2362. lr_mult: 2
  2363. decay_mult: 0
  2364. }
  2365. convolution_param {
  2366. num_output: 1
  2367. kernel_size: 1
  2368. weight_filler {
  2369. type: "xavier"
  2370. std: 0.03
  2371. }
  2372. bias_filler {
  2373. type: "constant"
  2374. value: 0.
  2375. }
  2376. }
  2377. }
  2378. layer {
  2379. name: "coverage/sig"
  2380. type: "Sigmoid"
  2381. bottom: "cvg/classifier"
  2382. top: "coverage"
  2383. }
  2384. layer {
  2385. name: "bbox/regressor"
  2386. type: "Convolution"
  2387. bottom: "pool5/drop_s1"
  2388. top: "bboxes"
  2389. param {
  2390. lr_mult: 1
  2391. decay_mult: 1
  2392. }
  2393. param {
  2394. lr_mult: 2
  2395. decay_mult: 0
  2396. }
  2397. convolution_param {
  2398. num_output: 4
  2399. kernel_size: 1
  2400. weight_filler {
  2401. type: "xavier"
  2402. std: 0.03
  2403. }
  2404. bias_filler {
  2405. type: "constant"
  2406. value: 0.
  2407. }
  2408. }
  2409. }
  2410.  
  2411. ######################################################################
  2412. # End of convolutional network
  2413. ######################################################################
  2414.  
  2415. # Convert bboxes
  2416. layer {
  2417. name: "bbox_mask"
  2418. type: "Eltwise"
  2419. bottom: "bboxes"
  2420. bottom: "coverage-block"
  2421. top: "bboxes-masked"
  2422. eltwise_param {
  2423. operation: PROD
  2424. }
  2425. include { phase: TRAIN }
  2426. include { phase: TEST stage: "val" }
  2427. }
  2428. layer {
  2429. name: "bbox-norm"
  2430. type: "Eltwise"
  2431. bottom: "bboxes-masked"
  2432. bottom: "size-block"
  2433. top: "bboxes-masked-norm"
  2434. eltwise_param {
  2435. operation: PROD
  2436. }
  2437. include { phase: TRAIN }
  2438. include { phase: TEST stage: "val" }
  2439. }
  2440. layer {
  2441. name: "bbox-obj-norm"
  2442. type: "Eltwise"
  2443. bottom: "bboxes-masked-norm"
  2444. bottom: "obj-block"
  2445. top: "bboxes-obj-masked-norm"
  2446. eltwise_param {
  2447. operation: PROD
  2448. }
  2449. include { phase: TRAIN }
  2450. include { phase: TEST stage: "val" }
  2451. }
  2452.  
  2453. # Loss layers
  2454. layer {
  2455. name: "bbox_loss"
  2456. type: "L1Loss"
  2457. bottom: "bboxes-obj-masked-norm"
  2458. bottom: "bbox-obj-label-norm"
  2459. top: "loss_bbox"
  2460. loss_weight: 2
  2461. include { phase: TRAIN }
  2462. include { phase: TEST stage: "val" }
  2463. }
  2464. layer {
  2465. name: "coverage_loss"
  2466. type: "EuclideanLoss"
  2467. bottom: "coverage"
  2468. bottom: "coverage-label"
  2469. top: "loss_coverage"
  2470. include { phase: TRAIN }
  2471. include { phase: TEST stage: "val" }
  2472. }
  2473.  
  2474. # Cluster bboxes
  2475. layer {
  2476. type: 'Python'
  2477. name: 'cluster'
  2478. bottom: 'coverage'
  2479. bottom: 'bboxes'
  2480. top: 'bbox-list'
  2481. python_param {
  2482. module: 'caffe.layers.detectnet.clustering'
  2483. layer: 'ClusterDetections'
  2484. param_str : '704, 512, 16, 0.6, 3, 0.02, 22, 1'
  2485. }
  2486. include: { phase: TEST }
  2487. }
  2488.  
  2489. # Calculate mean average precision
  2490. layer {
  2491. type: 'Python'
  2492. name: 'cluster_gt'
  2493. bottom: 'coverage-label'
  2494. bottom: 'bbox-label'
  2495. top: 'bbox-list-label'
  2496. python_param {
  2497. module: 'caffe.layers.detectnet.clustering'
  2498. layer: 'ClusterGroundtruth'
  2499. param_str : '704, 512, 16, 1'
  2500. }
  2501. include: { phase: TEST stage: "val" }
  2502. }
  2503. layer {
  2504. type: 'Python'
  2505. name: 'score'
  2506. bottom: 'bbox-list-label'
  2507. bottom: 'bbox-list'
  2508. top: 'bbox-list-scored'
  2509. python_param {
  2510. module: 'caffe.layers.detectnet.mean_ap'
  2511. layer: 'ScoreDetections'
  2512. }
  2513. include: { phase: TEST stage: "val" }
  2514. }
  2515. layer {
  2516. type: 'Python'
  2517. name: 'mAP'
  2518. bottom: 'bbox-list-scored'
  2519. top: 'mAP'
  2520. top: 'precision'
  2521. top: 'recall'
  2522. python_param {
  2523. module: 'caffe.layers.detectnet.mean_ap'
  2524. layer: 'mAP'
  2525. param_str : '704, 512, 16'
  2526. }
  2527. include: { phase: TEST stage: "val" }
  2528. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement