Guest User

Untitled

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