Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 116.38 KB | None | 0 0
  1. name: "sknet50_basic"
  2. layer {
  3. name: "input"
  4. type: "Input"
  5. top: "data"
  6. top: "label"
  7. input_param {
  8. shape: {
  9. dim: 32
  10. dim: 3
  11. dim: 224
  12. dim: 224
  13. }
  14. shape: {
  15. dim: 32
  16. }
  17. }
  18. }
  19.  
  20. layer {
  21. name: "conv1/7x7_s2"
  22. type: "Convolution"
  23. bottom: "data"
  24. top: "conv1/7x7_s2"
  25. param {
  26. lr_mult: 1.0
  27. decay_mult: 1.0
  28. }
  29. convolution_param {
  30. num_output: 64
  31. bias_term: false
  32. pad: 3
  33. kernel_size: 7
  34. stride: 2
  35. weight_filler {
  36. type: "msra"
  37. }
  38. }
  39. }
  40. layer {
  41. name: "conv1/7x7_s2/bn"
  42. type: "CuDNNBatchNorm"
  43. bottom: "conv1/7x7_s2"
  44. top: "conv1/7x7_s2/bn"
  45. param {
  46. lr_mult: 1.0
  47. decay_mult: 0.0
  48. }
  49. param {
  50. lr_mult: 1.0
  51. decay_mult: 0.0
  52. }
  53. param {
  54. lr_mult: 0.0
  55. decay_mult: 0.0
  56. }
  57. param {
  58. lr_mult: 0.0
  59. decay_mult: 0.0
  60. }
  61. batch_norm_param {
  62. frozen: false
  63. momentum: 0.95
  64. scale_filler {
  65. type: "constant"
  66. value: 1.0
  67. }
  68. bias_filler {
  69. type: "constant"
  70. value: 0.0
  71. }
  72. }
  73. }
  74. layer {
  75. name: "conv1/7x7_s2/relu"
  76. type: "ReLU"
  77. bottom: "conv1/7x7_s2/bn"
  78. top: "conv1/7x7_s2/bn"
  79. }
  80. layer {
  81. name: "pool1/3x3_s2"
  82. type: "Pooling"
  83. bottom: "conv1/7x7_s2/bn"
  84. top: "pool1/3x3_s2"
  85. pooling_param {
  86. pool: MAX
  87. kernel_size: 3
  88. stride: 2
  89. }
  90. }
  91. layer {
  92. name: "conv2_1/1x1_reduce"
  93. type: "Convolution"
  94. bottom: "pool1/3x3_s2"
  95. top: "conv2_1/1x1_reduce"
  96. param {
  97. lr_mult: 1.0
  98. decay_mult: 1.0
  99. }
  100. convolution_param {
  101. num_output: 128
  102. bias_term: false
  103. kernel_size: 1
  104. stride: 1
  105. weight_filler {
  106. type: "msra"
  107. }
  108. }
  109. }
  110. layer {
  111. name: "conv2_1/1x1_reduce/bn"
  112. type: "CuDNNBatchNorm"
  113. bottom: "conv2_1/1x1_reduce"
  114. top: "conv2_1/1x1_reduce/bn"
  115. param {
  116. lr_mult: 1.0
  117. decay_mult: 0.0
  118. }
  119. param {
  120. lr_mult: 1.0
  121. decay_mult: 0.0
  122. }
  123. param {
  124. lr_mult: 0.0
  125. decay_mult: 0.0
  126. }
  127. param {
  128. lr_mult: 0.0
  129. decay_mult: 0.0
  130. }
  131. batch_norm_param {
  132. frozen: false
  133. momentum: 0.95
  134. scale_filler {
  135. type: "constant"
  136. value: 1.0
  137. }
  138. bias_filler {
  139. type: "constant"
  140. value: 0.0
  141. }
  142. }
  143. }
  144. layer {
  145. name: "conv2_1/1x1_reduce/relu"
  146. type: "ReLU"
  147. bottom: "conv2_1/1x1_reduce/bn"
  148. top: "conv2_1/1x1_reduce/bn"
  149. }
  150. layer {
  151. name: "conv2_1/3x3g32"
  152. type: "Convolution"
  153. bottom: "conv2_1/1x1_reduce/bn"
  154. top: "conv2_1/3x3g32"
  155. param {
  156. lr_mult: 1.0
  157. decay_mult: 1.0
  158. }
  159. convolution_param {
  160. num_output: 128
  161. bias_term: false
  162. pad: 1
  163. kernel_size: 3
  164. group: 32
  165. stride: 1
  166. weight_filler {
  167. type: "msra"
  168. }
  169. }
  170. }
  171. layer {
  172. name: "conv2_1/3x3g32/bn"
  173. type: "CuDNNBatchNorm"
  174. bottom: "conv2_1/3x3g32"
  175. top: "conv2_1/3x3g32/bn"
  176. param {
  177. lr_mult: 1.0
  178. decay_mult: 0.0
  179. }
  180. param {
  181. lr_mult: 1.0
  182. decay_mult: 0.0
  183. }
  184. param {
  185. lr_mult: 0.0
  186. decay_mult: 0.0
  187. }
  188. param {
  189. lr_mult: 0.0
  190. decay_mult: 0.0
  191. }
  192. batch_norm_param {
  193. frozen: false
  194. momentum: 0.95
  195. scale_filler {
  196. type: "constant"
  197. value: 1.0
  198. }
  199. bias_filler {
  200. type: "constant"
  201. value: 0.0
  202. }
  203. }
  204. }
  205. layer {
  206. name: "conv2_1/3x3g32/relu"
  207. type: "ReLU"
  208. bottom: "conv2_1/3x3g32/bn"
  209. top: "conv2_1/3x3g32/bn"
  210. }
  211. layer {
  212. name: "conv2_1/3x3g32d2"
  213. type: "Convolution"
  214. bottom: "conv2_1/1x1_reduce/bn"
  215. top: "conv2_1/3x3g32d2"
  216. param {
  217. lr_mult: 1.0
  218. decay_mult: 1.0
  219. }
  220. convolution_param {
  221. num_output: 128
  222. bias_term: false
  223. pad: 2
  224. kernel_size: 3
  225. group: 32
  226. stride: 1
  227. weight_filler {
  228. type: "msra"
  229. }
  230. dilation: 2
  231. }
  232. }
  233. layer {
  234. name: "conv2_1/3x3g32d2/bn"
  235. type: "CuDNNBatchNorm"
  236. bottom: "conv2_1/3x3g32d2"
  237. top: "conv2_1/3x3g32d2/bn"
  238. param {
  239. lr_mult: 1.0
  240. decay_mult: 0.0
  241. }
  242. param {
  243. lr_mult: 1.0
  244. decay_mult: 0.0
  245. }
  246. param {
  247. lr_mult: 0.0
  248. decay_mult: 0.0
  249. }
  250. param {
  251. lr_mult: 0.0
  252. decay_mult: 0.0
  253. }
  254. batch_norm_param {
  255. frozen: false
  256. momentum: 0.95
  257. scale_filler {
  258. type: "constant"
  259. value: 1.0
  260. }
  261. bias_filler {
  262. type: "constant"
  263. value: 0.0
  264. }
  265. }
  266. }
  267. layer {
  268. name: "conv2_1/3x3g32d2/relu"
  269. type: "ReLU"
  270. bottom: "conv2_1/3x3g32d2/bn"
  271. top: "conv2_1/3x3g32d2/bn"
  272. }
  273. layer {
  274. name: "conv2_1_3x3"
  275. type: "Eltwise"
  276. bottom: "conv2_1/3x3g32/bn"
  277. bottom: "conv2_1/3x3g32d2/bn"
  278. top: "conv2_1_3x3"
  279. eltwise_param {
  280. operation: SUM
  281. }
  282. }
  283. layer {
  284. name: "conv2_1/B_global_pool"
  285. type: "Pooling"
  286. bottom: "conv2_1_3x3"
  287. top: "conv2_1/B_global_pool"
  288. pooling_param {
  289. pool: AVE
  290. engine: CAFFE
  291. global_pooling: true
  292. }
  293. }
  294. layer {
  295. name: "conv2_1/B_fc1"
  296. type: "Convolution"
  297. bottom: "conv2_1/B_global_pool"
  298. top: "conv2_1/B_fc1"
  299. param {
  300. lr_mult: 1.0
  301. decay_mult: 1.0
  302. }
  303. convolution_param {
  304. num_output: 32
  305. bias_term: false
  306. kernel_size: 1
  307. stride: 1
  308. weight_filler {
  309. type: "gaussian"
  310. std: 0.01
  311. }
  312. }
  313. }
  314. layer {
  315. name: "conv2_1/B_fc1/bn"
  316. type: "CuDNNBatchNorm"
  317. bottom: "conv2_1/B_fc1"
  318. top: "conv2_1/B_fc1/bn"
  319. param {
  320. lr_mult: 1.0
  321. decay_mult: 0.0
  322. }
  323. param {
  324. lr_mult: 1.0
  325. decay_mult: 0.0
  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. batch_norm_param {
  336. frozen: false
  337. momentum: 0.95
  338. scale_filler {
  339. type: "constant"
  340. value: 1.0
  341. }
  342. bias_filler {
  343. type: "constant"
  344. value: 0.0
  345. }
  346. }
  347. }
  348. layer {
  349. name: "conv2_1/B_fc1/relu"
  350. type: "ReLU"
  351. bottom: "conv2_1/B_fc1/bn"
  352. top: "conv2_1/B_fc1/bn"
  353. }
  354. layer {
  355. name: "conv2_1/B_fc2"
  356. type: "Convolution"
  357. bottom: "conv2_1/B_fc1/bn"
  358. top: "conv2_1/B_fc2"
  359. param {
  360. lr_mult: 1.0
  361. decay_mult: 1.0
  362. }
  363. convolution_param {
  364. num_output: 256
  365. bias_term: false
  366. kernel_size: 1
  367. stride: 1
  368. weight_filler {
  369. type: "gaussian"
  370. std: 0.01
  371. }
  372. }
  373. }
  374. layer {
  375. name: "conv2_1/B_re"
  376. type: "Reshape"
  377. bottom: "conv2_1/B_fc2"
  378. top: "conv2_1/B_re"
  379. reshape_param {
  380. shape {
  381. dim: 0
  382. dim: 2
  383. dim: -1
  384. dim: 0
  385. }
  386. }
  387. }
  388. layer {
  389. name: "conv2_1/B_softmax"
  390. type: "Softmax"
  391. bottom: "conv2_1/B_re"
  392. top: "conv2_1/B_softmax"
  393. softmax_param {
  394. axis: 1
  395. }
  396. }
  397. layer {
  398. name: "conv2_1/B_slice"
  399. type: "Slice"
  400. bottom: "conv2_1/B_softmax"
  401. top: "conv2_1/B_slice0_"
  402. top: "conv2_1/B_slice1_"
  403. slice_param {
  404. slice_point: 1
  405. axis: 1
  406. }
  407. }
  408. layer {
  409. name: "conv2_1/B_slice1"
  410. type: "Reshape"
  411. bottom: "conv2_1/B_slice1_"
  412. top: "conv2_1/B_slice1"
  413. reshape_param {
  414. shape {
  415. dim: 0
  416. dim: 128
  417. dim: -1
  418. dim: 0
  419. }
  420. }
  421. }
  422. layer {
  423. name: "conv2_1/B_slice0"
  424. type: "Reshape"
  425. bottom: "conv2_1/B_slice0_"
  426. top: "conv2_1/B_slice0"
  427. reshape_param {
  428. shape {
  429. dim: 0
  430. dim: 128
  431. dim: -1
  432. dim: 0
  433. }
  434. }
  435. }
  436. layer {
  437. name: "conv2_1/B_w0/reshape"
  438. type: "Reshape"
  439. bottom: "conv2_1/B_slice0"
  440. top: "conv2_1/B_w0/reshape"
  441. reshape_param {
  442. shape {
  443. dim: 0
  444. dim: 0
  445. }
  446. }
  447. }
  448. layer {
  449. name: "conv2_1/scale"
  450. type: "Scale"
  451. bottom: "conv2_1/3x3g32/bn"
  452. bottom: "conv2_1/B_w0/reshape"
  453. top: "conv2_1/scale"
  454. scale_param {
  455. axis: 0
  456. bias_term: false
  457. }
  458. }
  459. layer {
  460. name: "conv2_1/B_axpy"
  461. type: "Axpy"
  462. bottom: "conv2_1/B_slice1"
  463. bottom: "conv2_1/3x3g32d2/bn"
  464. bottom: "conv2_1/scale"
  465. top: "conv2_1/B_axpy"
  466. }
  467. layer {
  468. name: "conv2_1/1x1_increase"
  469. type: "Convolution"
  470. bottom: "conv2_1/B_axpy"
  471. top: "conv2_1/1x1_increase"
  472. param {
  473. lr_mult: 1.0
  474. decay_mult: 1.0
  475. }
  476. convolution_param {
  477. num_output: 256
  478. bias_term: false
  479. kernel_size: 1
  480. stride: 1
  481. weight_filler {
  482. type: "msra"
  483. }
  484. }
  485. }
  486. layer {
  487. name: "conv2_1/1x1_increase/bn"
  488. type: "CuDNNBatchNorm"
  489. bottom: "conv2_1/1x1_increase"
  490. top: "conv2_1/1x1_increase/bn"
  491. param {
  492. lr_mult: 1.0
  493. decay_mult: 0.0
  494. }
  495. param {
  496. lr_mult: 1.0
  497. decay_mult: 0.0
  498. }
  499. param {
  500. lr_mult: 0.0
  501. decay_mult: 0.0
  502. }
  503. param {
  504. lr_mult: 0.0
  505. decay_mult: 0.0
  506. }
  507. batch_norm_param {
  508. frozen: false
  509. momentum: 0.95
  510. scale_filler {
  511. type: "constant"
  512. value: 1.0
  513. }
  514. bias_filler {
  515. type: "constant"
  516. value: 0.0
  517. }
  518. }
  519. }
  520. layer {
  521. name: "conv2_1/1x1_proj"
  522. type: "Convolution"
  523. bottom: "pool1/3x3_s2"
  524. top: "conv2_1/1x1_proj"
  525. param {
  526. lr_mult: 1.0
  527. decay_mult: 1.0
  528. }
  529. convolution_param {
  530. num_output: 256
  531. bias_term: false
  532. kernel_size: 1
  533. stride: 1
  534. weight_filler {
  535. type: "msra"
  536. }
  537. }
  538. }
  539. layer {
  540. name: "conv2_1/1x1_proj/bn"
  541. type: "CuDNNBatchNorm"
  542. bottom: "conv2_1/1x1_proj"
  543. top: "conv2_1/1x1_proj/bn"
  544. param {
  545. lr_mult: 1.0
  546. decay_mult: 0.0
  547. }
  548. param {
  549. lr_mult: 1.0
  550. decay_mult: 0.0
  551. }
  552. param {
  553. lr_mult: 0.0
  554. decay_mult: 0.0
  555. }
  556. param {
  557. lr_mult: 0.0
  558. decay_mult: 0.0
  559. }
  560. batch_norm_param {
  561. frozen: false
  562. momentum: 0.95
  563. scale_filler {
  564. type: "constant"
  565. value: 1.0
  566. }
  567. bias_filler {
  568. type: "constant"
  569. value: 0.0
  570. }
  571. }
  572. }
  573. layer {
  574. name: "conv2_1"
  575. type: "Eltwise"
  576. bottom: "conv2_1/1x1_increase/bn"
  577. bottom: "conv2_1/1x1_proj/bn"
  578. top: "conv2_1"
  579. eltwise_param {
  580. operation: SUM
  581. }
  582. }
  583. layer {
  584. name: "conv2_1/relu"
  585. type: "ReLU"
  586. bottom: "conv2_1"
  587. top: "conv2_1"
  588. }
  589. layer {
  590. name: "conv2_2/1x1_reduce"
  591. type: "Convolution"
  592. bottom: "conv2_1"
  593. top: "conv2_2/1x1_reduce"
  594. param {
  595. lr_mult: 1.0
  596. decay_mult: 1.0
  597. }
  598. convolution_param {
  599. num_output: 128
  600. bias_term: false
  601. kernel_size: 1
  602. stride: 1
  603. weight_filler {
  604. type: "msra"
  605. }
  606. }
  607. }
  608. layer {
  609. name: "conv2_2/1x1_reduce/bn"
  610. type: "CuDNNBatchNorm"
  611. bottom: "conv2_2/1x1_reduce"
  612. top: "conv2_2/1x1_reduce/bn"
  613. param {
  614. lr_mult: 1.0
  615. decay_mult: 0.0
  616. }
  617. param {
  618. lr_mult: 1.0
  619. decay_mult: 0.0
  620. }
  621. param {
  622. lr_mult: 0.0
  623. decay_mult: 0.0
  624. }
  625. param {
  626. lr_mult: 0.0
  627. decay_mult: 0.0
  628. }
  629. batch_norm_param {
  630. frozen: false
  631. momentum: 0.95
  632. scale_filler {
  633. type: "constant"
  634. value: 1.0
  635. }
  636. bias_filler {
  637. type: "constant"
  638. value: 0.0
  639. }
  640. }
  641. }
  642. layer {
  643. name: "conv2_2/1x1_reduce/relu"
  644. type: "ReLU"
  645. bottom: "conv2_2/1x1_reduce/bn"
  646. top: "conv2_2/1x1_reduce/bn"
  647. }
  648. layer {
  649. name: "conv2_2/3x3g32"
  650. type: "Convolution"
  651. bottom: "conv2_2/1x1_reduce/bn"
  652. top: "conv2_2/3x3g32"
  653. param {
  654. lr_mult: 1.0
  655. decay_mult: 1.0
  656. }
  657. convolution_param {
  658. num_output: 128
  659. bias_term: false
  660. pad: 1
  661. kernel_size: 3
  662. group: 32
  663. stride: 1
  664. weight_filler {
  665. type: "msra"
  666. }
  667. }
  668. }
  669. layer {
  670. name: "conv2_2/3x3g32/bn"
  671. type: "CuDNNBatchNorm"
  672. bottom: "conv2_2/3x3g32"
  673. top: "conv2_2/3x3g32/bn"
  674. param {
  675. lr_mult: 1.0
  676. decay_mult: 0.0
  677. }
  678. param {
  679. lr_mult: 1.0
  680. decay_mult: 0.0
  681. }
  682. param {
  683. lr_mult: 0.0
  684. decay_mult: 0.0
  685. }
  686. param {
  687. lr_mult: 0.0
  688. decay_mult: 0.0
  689. }
  690. batch_norm_param {
  691. frozen: false
  692. momentum: 0.95
  693. scale_filler {
  694. type: "constant"
  695. value: 1.0
  696. }
  697. bias_filler {
  698. type: "constant"
  699. value: 0.0
  700. }
  701. }
  702. }
  703. layer {
  704. name: "conv2_2/3x3g32/relu"
  705. type: "ReLU"
  706. bottom: "conv2_2/3x3g32/bn"
  707. top: "conv2_2/3x3g32/bn"
  708. }
  709. layer {
  710. name: "conv2_2/3x3g32d2"
  711. type: "Convolution"
  712. bottom: "conv2_2/1x1_reduce/bn"
  713. top: "conv2_2/3x3g32d2"
  714. param {
  715. lr_mult: 1.0
  716. decay_mult: 1.0
  717. }
  718. convolution_param {
  719. num_output: 128
  720. bias_term: false
  721. pad: 2
  722. kernel_size: 3
  723. group: 32
  724. stride: 1
  725. weight_filler {
  726. type: "msra"
  727. }
  728. dilation: 2
  729. }
  730. }
  731. layer {
  732. name: "conv2_2/3x3g32d2/bn"
  733. type: "CuDNNBatchNorm"
  734. bottom: "conv2_2/3x3g32d2"
  735. top: "conv2_2/3x3g32d2/bn"
  736. param {
  737. lr_mult: 1.0
  738. decay_mult: 0.0
  739. }
  740. param {
  741. lr_mult: 1.0
  742. decay_mult: 0.0
  743. }
  744. param {
  745. lr_mult: 0.0
  746. decay_mult: 0.0
  747. }
  748. param {
  749. lr_mult: 0.0
  750. decay_mult: 0.0
  751. }
  752. batch_norm_param {
  753. frozen: false
  754. momentum: 0.95
  755. scale_filler {
  756. type: "constant"
  757. value: 1.0
  758. }
  759. bias_filler {
  760. type: "constant"
  761. value: 0.0
  762. }
  763. }
  764. }
  765. layer {
  766. name: "conv2_2/3x3g32d2/relu"
  767. type: "ReLU"
  768. bottom: "conv2_2/3x3g32d2/bn"
  769. top: "conv2_2/3x3g32d2/bn"
  770. }
  771. layer {
  772. name: "conv2_2_3x3"
  773. type: "Eltwise"
  774. bottom: "conv2_2/3x3g32/bn"
  775. bottom: "conv2_2/3x3g32d2/bn"
  776. top: "conv2_2_3x3"
  777. eltwise_param {
  778. operation: SUM
  779. }
  780. }
  781. layer {
  782. name: "conv2_2/B_global_pool"
  783. type: "Pooling"
  784. bottom: "conv2_2_3x3"
  785. top: "conv2_2/B_global_pool"
  786. pooling_param {
  787. pool: AVE
  788. engine: CAFFE
  789. global_pooling: true
  790. }
  791. }
  792. layer {
  793. name: "conv2_2/B_fc1"
  794. type: "Convolution"
  795. bottom: "conv2_2/B_global_pool"
  796. top: "conv2_2/B_fc1"
  797. param {
  798. lr_mult: 1.0
  799. decay_mult: 1.0
  800. }
  801. convolution_param {
  802. num_output: 32
  803. bias_term: false
  804. kernel_size: 1
  805. stride: 1
  806. weight_filler {
  807. type: "gaussian"
  808. std: 0.01
  809. }
  810. }
  811. }
  812. layer {
  813. name: "conv2_2/B_fc1/bn"
  814. type: "CuDNNBatchNorm"
  815. bottom: "conv2_2/B_fc1"
  816. top: "conv2_2/B_fc1/bn"
  817. param {
  818. lr_mult: 1.0
  819. decay_mult: 0.0
  820. }
  821. param {
  822. lr_mult: 1.0
  823. decay_mult: 0.0
  824. }
  825. param {
  826. lr_mult: 0.0
  827. decay_mult: 0.0
  828. }
  829. param {
  830. lr_mult: 0.0
  831. decay_mult: 0.0
  832. }
  833. batch_norm_param {
  834. frozen: false
  835. momentum: 0.95
  836. scale_filler {
  837. type: "constant"
  838. value: 1.0
  839. }
  840. bias_filler {
  841. type: "constant"
  842. value: 0.0
  843. }
  844. }
  845. }
  846. layer {
  847. name: "conv2_2/B_fc1/relu"
  848. type: "ReLU"
  849. bottom: "conv2_2/B_fc1/bn"
  850. top: "conv2_2/B_fc1/bn"
  851. }
  852. layer {
  853. name: "conv2_2/B_fc2"
  854. type: "Convolution"
  855. bottom: "conv2_2/B_fc1/bn"
  856. top: "conv2_2/B_fc2"
  857. param {
  858. lr_mult: 1.0
  859. decay_mult: 1.0
  860. }
  861. convolution_param {
  862. num_output: 256
  863. bias_term: false
  864. kernel_size: 1
  865. stride: 1
  866. weight_filler {
  867. type: "gaussian"
  868. std: 0.01
  869. }
  870. }
  871. }
  872. layer {
  873. name: "conv2_2/B_re"
  874. type: "Reshape"
  875. bottom: "conv2_2/B_fc2"
  876. top: "conv2_2/B_re"
  877. reshape_param {
  878. shape {
  879. dim: 0
  880. dim: 2
  881. dim: -1
  882. dim: 0
  883. }
  884. }
  885. }
  886. layer {
  887. name: "conv2_2/B_softmax"
  888. type: "Softmax"
  889. bottom: "conv2_2/B_re"
  890. top: "conv2_2/B_softmax"
  891. softmax_param {
  892. axis: 1
  893. }
  894. }
  895. layer {
  896. name: "conv2_2/B_slice"
  897. type: "Slice"
  898. bottom: "conv2_2/B_softmax"
  899. top: "conv2_2/B_slice0_"
  900. top: "conv2_2/B_slice1_"
  901. slice_param {
  902. slice_point: 1
  903. axis: 1
  904. }
  905. }
  906. layer {
  907. name: "conv2_2/B_slice1"
  908. type: "Reshape"
  909. bottom: "conv2_2/B_slice1_"
  910. top: "conv2_2/B_slice1"
  911. reshape_param {
  912. shape {
  913. dim: 0
  914. dim: 128
  915. dim: -1
  916. dim: 0
  917. }
  918. }
  919. }
  920. layer {
  921. name: "conv2_2/B_slice0"
  922. type: "Reshape"
  923. bottom: "conv2_2/B_slice0_"
  924. top: "conv2_2/B_slice0"
  925. reshape_param {
  926. shape {
  927. dim: 0
  928. dim: 128
  929. dim: -1
  930. dim: 0
  931. }
  932. }
  933. }
  934. layer {
  935. name: "conv2_2/B_w0/reshape"
  936. type: "Reshape"
  937. bottom: "conv2_2/B_slice0"
  938. top: "conv2_2/B_w0/reshape"
  939. reshape_param {
  940. shape {
  941. dim: 0
  942. dim: 0
  943. }
  944. }
  945. }
  946. layer {
  947. name: "conv2_2/scale"
  948. type: "Scale"
  949. bottom: "conv2_2/3x3g32/bn"
  950. bottom: "conv2_2/B_w0/reshape"
  951. top: "conv2_2/scale"
  952. scale_param {
  953. axis: 0
  954. bias_term: false
  955. }
  956. }
  957. layer {
  958. name: "conv2_2/B_axpy"
  959. type: "Axpy"
  960. bottom: "conv2_2/B_slice1"
  961. bottom: "conv2_2/3x3g32d2/bn"
  962. bottom: "conv2_2/scale"
  963. top: "conv2_2/B_axpy"
  964. }
  965. layer {
  966. name: "conv2_2/1x1_increase"
  967. type: "Convolution"
  968. bottom: "conv2_2/B_axpy"
  969. top: "conv2_2/1x1_increase"
  970. param {
  971. lr_mult: 1.0
  972. decay_mult: 1.0
  973. }
  974. convolution_param {
  975. num_output: 256
  976. bias_term: false
  977. kernel_size: 1
  978. stride: 1
  979. weight_filler {
  980. type: "msra"
  981. }
  982. }
  983. }
  984. layer {
  985. name: "conv2_2/1x1_increase/bn"
  986. type: "CuDNNBatchNorm"
  987. bottom: "conv2_2/1x1_increase"
  988. top: "conv2_2/1x1_increase/bn"
  989. param {
  990. lr_mult: 1.0
  991. decay_mult: 0.0
  992. }
  993. param {
  994. lr_mult: 1.0
  995. decay_mult: 0.0
  996. }
  997. param {
  998. lr_mult: 0.0
  999. decay_mult: 0.0
  1000. }
  1001. param {
  1002. lr_mult: 0.0
  1003. decay_mult: 0.0
  1004. }
  1005. batch_norm_param {
  1006. frozen: false
  1007. momentum: 0.95
  1008. scale_filler {
  1009. type: "constant"
  1010. value: 1.0
  1011. }
  1012. bias_filler {
  1013. type: "constant"
  1014. value: 0.0
  1015. }
  1016. }
  1017. }
  1018. layer {
  1019. name: "conv2_2"
  1020. type: "Eltwise"
  1021. bottom: "conv2_2/1x1_increase/bn"
  1022. bottom: "conv2_1"
  1023. top: "conv2_2"
  1024. eltwise_param {
  1025. operation: SUM
  1026. }
  1027. }
  1028. layer {
  1029. name: "conv2_2/relu"
  1030. type: "ReLU"
  1031. bottom: "conv2_2"
  1032. top: "conv2_2"
  1033. }
  1034. layer {
  1035. name: "conv2_3/1x1_reduce"
  1036. type: "Convolution"
  1037. bottom: "conv2_2"
  1038. top: "conv2_3/1x1_reduce"
  1039. param {
  1040. lr_mult: 1.0
  1041. decay_mult: 1.0
  1042. }
  1043. convolution_param {
  1044. num_output: 128
  1045. bias_term: false
  1046. kernel_size: 1
  1047. stride: 1
  1048. weight_filler {
  1049. type: "msra"
  1050. }
  1051. }
  1052. }
  1053. layer {
  1054. name: "conv2_3/1x1_reduce/bn"
  1055. type: "CuDNNBatchNorm"
  1056. bottom: "conv2_3/1x1_reduce"
  1057. top: "conv2_3/1x1_reduce/bn"
  1058. param {
  1059. lr_mult: 1.0
  1060. decay_mult: 0.0
  1061. }
  1062. param {
  1063. lr_mult: 1.0
  1064. decay_mult: 0.0
  1065. }
  1066. param {
  1067. lr_mult: 0.0
  1068. decay_mult: 0.0
  1069. }
  1070. param {
  1071. lr_mult: 0.0
  1072. decay_mult: 0.0
  1073. }
  1074. batch_norm_param {
  1075. frozen: false
  1076. momentum: 0.95
  1077. scale_filler {
  1078. type: "constant"
  1079. value: 1.0
  1080. }
  1081. bias_filler {
  1082. type: "constant"
  1083. value: 0.0
  1084. }
  1085. }
  1086. }
  1087. layer {
  1088. name: "conv2_3/1x1_reduce/relu"
  1089. type: "ReLU"
  1090. bottom: "conv2_3/1x1_reduce/bn"
  1091. top: "conv2_3/1x1_reduce/bn"
  1092. }
  1093. layer {
  1094. name: "conv2_3/3x3g32"
  1095. type: "Convolution"
  1096. bottom: "conv2_3/1x1_reduce/bn"
  1097. top: "conv2_3/3x3g32"
  1098. param {
  1099. lr_mult: 1.0
  1100. decay_mult: 1.0
  1101. }
  1102. convolution_param {
  1103. num_output: 128
  1104. bias_term: false
  1105. pad: 1
  1106. kernel_size: 3
  1107. group: 32
  1108. stride: 1
  1109. weight_filler {
  1110. type: "msra"
  1111. }
  1112. }
  1113. }
  1114. layer {
  1115. name: "conv2_3/3x3g32/bn"
  1116. type: "CuDNNBatchNorm"
  1117. bottom: "conv2_3/3x3g32"
  1118. top: "conv2_3/3x3g32/bn"
  1119. param {
  1120. lr_mult: 1.0
  1121. decay_mult: 0.0
  1122. }
  1123. param {
  1124. lr_mult: 1.0
  1125. decay_mult: 0.0
  1126. }
  1127. param {
  1128. lr_mult: 0.0
  1129. decay_mult: 0.0
  1130. }
  1131. param {
  1132. lr_mult: 0.0
  1133. decay_mult: 0.0
  1134. }
  1135. batch_norm_param {
  1136. frozen: false
  1137. momentum: 0.95
  1138. scale_filler {
  1139. type: "constant"
  1140. value: 1.0
  1141. }
  1142. bias_filler {
  1143. type: "constant"
  1144. value: 0.0
  1145. }
  1146. }
  1147. }
  1148. layer {
  1149. name: "conv2_3/3x3g32/relu"
  1150. type: "ReLU"
  1151. bottom: "conv2_3/3x3g32/bn"
  1152. top: "conv2_3/3x3g32/bn"
  1153. }
  1154. layer {
  1155. name: "conv2_3/3x3g32d2"
  1156. type: "Convolution"
  1157. bottom: "conv2_3/1x1_reduce/bn"
  1158. top: "conv2_3/3x3g32d2"
  1159. param {
  1160. lr_mult: 1.0
  1161. decay_mult: 1.0
  1162. }
  1163. convolution_param {
  1164. num_output: 128
  1165. bias_term: false
  1166. pad: 2
  1167. kernel_size: 3
  1168. group: 32
  1169. stride: 1
  1170. weight_filler {
  1171. type: "msra"
  1172. }
  1173. dilation: 2
  1174. }
  1175. }
  1176. layer {
  1177. name: "conv2_3/3x3g32d2/bn"
  1178. type: "CuDNNBatchNorm"
  1179. bottom: "conv2_3/3x3g32d2"
  1180. top: "conv2_3/3x3g32d2/bn"
  1181. param {
  1182. lr_mult: 1.0
  1183. decay_mult: 0.0
  1184. }
  1185. param {
  1186. lr_mult: 1.0
  1187. decay_mult: 0.0
  1188. }
  1189. param {
  1190. lr_mult: 0.0
  1191. decay_mult: 0.0
  1192. }
  1193. param {
  1194. lr_mult: 0.0
  1195. decay_mult: 0.0
  1196. }
  1197. batch_norm_param {
  1198. frozen: false
  1199. momentum: 0.95
  1200. scale_filler {
  1201. type: "constant"
  1202. value: 1.0
  1203. }
  1204. bias_filler {
  1205. type: "constant"
  1206. value: 0.0
  1207. }
  1208. }
  1209. }
  1210. layer {
  1211. name: "conv2_3/3x3g32d2/relu"
  1212. type: "ReLU"
  1213. bottom: "conv2_3/3x3g32d2/bn"
  1214. top: "conv2_3/3x3g32d2/bn"
  1215. }
  1216. layer {
  1217. name: "conv2_3_3x3"
  1218. type: "Eltwise"
  1219. bottom: "conv2_3/3x3g32/bn"
  1220. bottom: "conv2_3/3x3g32d2/bn"
  1221. top: "conv2_3_3x3"
  1222. eltwise_param {
  1223. operation: SUM
  1224. }
  1225. }
  1226. layer {
  1227. name: "conv2_3/B_global_pool"
  1228. type: "Pooling"
  1229. bottom: "conv2_3_3x3"
  1230. top: "conv2_3/B_global_pool"
  1231. pooling_param {
  1232. pool: AVE
  1233. engine: CAFFE
  1234. global_pooling: true
  1235. }
  1236. }
  1237. layer {
  1238. name: "conv2_3/B_fc1"
  1239. type: "Convolution"
  1240. bottom: "conv2_3/B_global_pool"
  1241. top: "conv2_3/B_fc1"
  1242. param {
  1243. lr_mult: 1.0
  1244. decay_mult: 1.0
  1245. }
  1246. convolution_param {
  1247. num_output: 32
  1248. bias_term: false
  1249. kernel_size: 1
  1250. stride: 1
  1251. weight_filler {
  1252. type: "gaussian"
  1253. std: 0.01
  1254. }
  1255. }
  1256. }
  1257. layer {
  1258. name: "conv2_3/B_fc1/bn"
  1259. type: "CuDNNBatchNorm"
  1260. bottom: "conv2_3/B_fc1"
  1261. top: "conv2_3/B_fc1/bn"
  1262. param {
  1263. lr_mult: 1.0
  1264. decay_mult: 0.0
  1265. }
  1266. param {
  1267. lr_mult: 1.0
  1268. decay_mult: 0.0
  1269. }
  1270. param {
  1271. lr_mult: 0.0
  1272. decay_mult: 0.0
  1273. }
  1274. param {
  1275. lr_mult: 0.0
  1276. decay_mult: 0.0
  1277. }
  1278. batch_norm_param {
  1279. frozen: false
  1280. momentum: 0.95
  1281. scale_filler {
  1282. type: "constant"
  1283. value: 1.0
  1284. }
  1285. bias_filler {
  1286. type: "constant"
  1287. value: 0.0
  1288. }
  1289. }
  1290. }
  1291. layer {
  1292. name: "conv2_3/B_fc1/relu"
  1293. type: "ReLU"
  1294. bottom: "conv2_3/B_fc1/bn"
  1295. top: "conv2_3/B_fc1/bn"
  1296. }
  1297. layer {
  1298. name: "conv2_3/B_fc2"
  1299. type: "Convolution"
  1300. bottom: "conv2_3/B_fc1/bn"
  1301. top: "conv2_3/B_fc2"
  1302. param {
  1303. lr_mult: 1.0
  1304. decay_mult: 1.0
  1305. }
  1306. convolution_param {
  1307. num_output: 256
  1308. bias_term: false
  1309. kernel_size: 1
  1310. stride: 1
  1311. weight_filler {
  1312. type: "gaussian"
  1313. std: 0.01
  1314. }
  1315. }
  1316. }
  1317. layer {
  1318. name: "conv2_3/B_re"
  1319. type: "Reshape"
  1320. bottom: "conv2_3/B_fc2"
  1321. top: "conv2_3/B_re"
  1322. reshape_param {
  1323. shape {
  1324. dim: 0
  1325. dim: 2
  1326. dim: -1
  1327. dim: 0
  1328. }
  1329. }
  1330. }
  1331. layer {
  1332. name: "conv2_3/B_softmax"
  1333. type: "Softmax"
  1334. bottom: "conv2_3/B_re"
  1335. top: "conv2_3/B_softmax"
  1336. softmax_param {
  1337. axis: 1
  1338. }
  1339. }
  1340. layer {
  1341. name: "conv2_3/B_slice"
  1342. type: "Slice"
  1343. bottom: "conv2_3/B_softmax"
  1344. top: "conv2_3/B_slice0_"
  1345. top: "conv2_3/B_slice1_"
  1346. slice_param {
  1347. slice_point: 1
  1348. axis: 1
  1349. }
  1350. }
  1351. layer {
  1352. name: "conv2_3/B_slice1"
  1353. type: "Reshape"
  1354. bottom: "conv2_3/B_slice1_"
  1355. top: "conv2_3/B_slice1"
  1356. reshape_param {
  1357. shape {
  1358. dim: 0
  1359. dim: 128
  1360. dim: -1
  1361. dim: 0
  1362. }
  1363. }
  1364. }
  1365. layer {
  1366. name: "conv2_3/B_slice0"
  1367. type: "Reshape"
  1368. bottom: "conv2_3/B_slice0_"
  1369. top: "conv2_3/B_slice0"
  1370. reshape_param {
  1371. shape {
  1372. dim: 0
  1373. dim: 128
  1374. dim: -1
  1375. dim: 0
  1376. }
  1377. }
  1378. }
  1379. layer {
  1380. name: "conv2_3/B_w0/reshape"
  1381. type: "Reshape"
  1382. bottom: "conv2_3/B_slice0"
  1383. top: "conv2_3/B_w0/reshape"
  1384. reshape_param {
  1385. shape {
  1386. dim: 0
  1387. dim: 0
  1388. }
  1389. }
  1390. }
  1391. layer {
  1392. name: "conv2_3/scale"
  1393. type: "Scale"
  1394. bottom: "conv2_3/3x3g32/bn"
  1395. bottom: "conv2_3/B_w0/reshape"
  1396. top: "conv2_3/scale"
  1397. scale_param {
  1398. axis: 0
  1399. bias_term: false
  1400. }
  1401. }
  1402. layer {
  1403. name: "conv2_3/B_axpy"
  1404. type: "Axpy"
  1405. bottom: "conv2_3/B_slice1"
  1406. bottom: "conv2_3/3x3g32d2/bn"
  1407. bottom: "conv2_3/scale"
  1408. top: "conv2_3/B_axpy"
  1409. }
  1410. layer {
  1411. name: "conv2_3/1x1_increase"
  1412. type: "Convolution"
  1413. bottom: "conv2_3/B_axpy"
  1414. top: "conv2_3/1x1_increase"
  1415. param {
  1416. lr_mult: 1.0
  1417. decay_mult: 1.0
  1418. }
  1419. convolution_param {
  1420. num_output: 256
  1421. bias_term: false
  1422. kernel_size: 1
  1423. stride: 1
  1424. weight_filler {
  1425. type: "msra"
  1426. }
  1427. }
  1428. }
  1429. layer {
  1430. name: "conv2_3/1x1_increase/bn"
  1431. type: "CuDNNBatchNorm"
  1432. bottom: "conv2_3/1x1_increase"
  1433. top: "conv2_3/1x1_increase/bn"
  1434. param {
  1435. lr_mult: 1.0
  1436. decay_mult: 0.0
  1437. }
  1438. param {
  1439. lr_mult: 1.0
  1440. decay_mult: 0.0
  1441. }
  1442. param {
  1443. lr_mult: 0.0
  1444. decay_mult: 0.0
  1445. }
  1446. param {
  1447. lr_mult: 0.0
  1448. decay_mult: 0.0
  1449. }
  1450. batch_norm_param {
  1451. frozen: false
  1452. momentum: 0.95
  1453. scale_filler {
  1454. type: "constant"
  1455. value: 1.0
  1456. }
  1457. bias_filler {
  1458. type: "constant"
  1459. value: 0.0
  1460. }
  1461. }
  1462. }
  1463. layer {
  1464. name: "conv2_3"
  1465. type: "Eltwise"
  1466. bottom: "conv2_3/1x1_increase/bn"
  1467. bottom: "conv2_2"
  1468. top: "conv2_3"
  1469. eltwise_param {
  1470. operation: SUM
  1471. }
  1472. }
  1473. layer {
  1474. name: "conv2_3/relu"
  1475. type: "ReLU"
  1476. bottom: "conv2_3"
  1477. top: "conv2_3"
  1478. }
  1479. layer {
  1480. name: "conv3_1/1x1_reduce"
  1481. type: "Convolution"
  1482. bottom: "conv2_3"
  1483. top: "conv3_1/1x1_reduce"
  1484. param {
  1485. lr_mult: 1.0
  1486. decay_mult: 1.0
  1487. }
  1488. convolution_param {
  1489. num_output: 256
  1490. bias_term: false
  1491. kernel_size: 1
  1492. stride: 1
  1493. weight_filler {
  1494. type: "msra"
  1495. }
  1496. }
  1497. }
  1498. layer {
  1499. name: "conv3_1/1x1_reduce/bn"
  1500. type: "CuDNNBatchNorm"
  1501. bottom: "conv3_1/1x1_reduce"
  1502. top: "conv3_1/1x1_reduce/bn"
  1503. param {
  1504. lr_mult: 1.0
  1505. decay_mult: 0.0
  1506. }
  1507. param {
  1508. lr_mult: 1.0
  1509. decay_mult: 0.0
  1510. }
  1511. param {
  1512. lr_mult: 0.0
  1513. decay_mult: 0.0
  1514. }
  1515. param {
  1516. lr_mult: 0.0
  1517. decay_mult: 0.0
  1518. }
  1519. batch_norm_param {
  1520. frozen: false
  1521. momentum: 0.95
  1522. scale_filler {
  1523. type: "constant"
  1524. value: 1.0
  1525. }
  1526. bias_filler {
  1527. type: "constant"
  1528. value: 0.0
  1529. }
  1530. }
  1531. }
  1532. layer {
  1533. name: "conv3_1/1x1_reduce/relu"
  1534. type: "ReLU"
  1535. bottom: "conv3_1/1x1_reduce/bn"
  1536. top: "conv3_1/1x1_reduce/bn"
  1537. }
  1538. layer {
  1539. name: "conv3_1/3x3g32"
  1540. type: "Convolution"
  1541. bottom: "conv3_1/1x1_reduce/bn"
  1542. top: "conv3_1/3x3g32"
  1543. param {
  1544. lr_mult: 1.0
  1545. decay_mult: 1.0
  1546. }
  1547. convolution_param {
  1548. num_output: 256
  1549. bias_term: false
  1550. pad: 1
  1551. kernel_size: 3
  1552. group: 32
  1553. stride: 2
  1554. weight_filler {
  1555. type: "msra"
  1556. }
  1557. }
  1558. }
  1559. layer {
  1560. name: "conv3_1/3x3g32/bn"
  1561. type: "CuDNNBatchNorm"
  1562. bottom: "conv3_1/3x3g32"
  1563. top: "conv3_1/3x3g32/bn"
  1564. param {
  1565. lr_mult: 1.0
  1566. decay_mult: 0.0
  1567. }
  1568. param {
  1569. lr_mult: 1.0
  1570. decay_mult: 0.0
  1571. }
  1572. param {
  1573. lr_mult: 0.0
  1574. decay_mult: 0.0
  1575. }
  1576. param {
  1577. lr_mult: 0.0
  1578. decay_mult: 0.0
  1579. }
  1580. batch_norm_param {
  1581. frozen: false
  1582. momentum: 0.95
  1583. scale_filler {
  1584. type: "constant"
  1585. value: 1.0
  1586. }
  1587. bias_filler {
  1588. type: "constant"
  1589. value: 0.0
  1590. }
  1591. }
  1592. }
  1593. layer {
  1594. name: "conv3_1/3x3g32/relu"
  1595. type: "ReLU"
  1596. bottom: "conv3_1/3x3g32/bn"
  1597. top: "conv3_1/3x3g32/bn"
  1598. }
  1599. layer {
  1600. name: "conv3_1/3x3g32d2"
  1601. type: "Convolution"
  1602. bottom: "conv3_1/1x1_reduce/bn"
  1603. top: "conv3_1/3x3g32d2"
  1604. param {
  1605. lr_mult: 1.0
  1606. decay_mult: 1.0
  1607. }
  1608. convolution_param {
  1609. num_output: 256
  1610. bias_term: false
  1611. pad: 2
  1612. kernel_size: 3
  1613. group: 32
  1614. stride: 2
  1615. weight_filler {
  1616. type: "msra"
  1617. }
  1618. dilation: 2
  1619. }
  1620. }
  1621. layer {
  1622. name: "conv3_1/3x3g32d2/bn"
  1623. type: "CuDNNBatchNorm"
  1624. bottom: "conv3_1/3x3g32d2"
  1625. top: "conv3_1/3x3g32d2/bn"
  1626. param {
  1627. lr_mult: 1.0
  1628. decay_mult: 0.0
  1629. }
  1630. param {
  1631. lr_mult: 1.0
  1632. decay_mult: 0.0
  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. batch_norm_param {
  1643. frozen: false
  1644. momentum: 0.95
  1645. scale_filler {
  1646. type: "constant"
  1647. value: 1.0
  1648. }
  1649. bias_filler {
  1650. type: "constant"
  1651. value: 0.0
  1652. }
  1653. }
  1654. }
  1655. layer {
  1656. name: "conv3_1/3x3g32d2/relu"
  1657. type: "ReLU"
  1658. bottom: "conv3_1/3x3g32d2/bn"
  1659. top: "conv3_1/3x3g32d2/bn"
  1660. }
  1661. layer {
  1662. name: "conv3_1_3x3"
  1663. type: "Eltwise"
  1664. bottom: "conv3_1/3x3g32/bn"
  1665. bottom: "conv3_1/3x3g32d2/bn"
  1666. top: "conv3_1_3x3"
  1667. eltwise_param {
  1668. operation: SUM
  1669. }
  1670. }
  1671. layer {
  1672. name: "conv3_1/B_global_pool"
  1673. type: "Pooling"
  1674. bottom: "conv3_1_3x3"
  1675. top: "conv3_1/B_global_pool"
  1676. pooling_param {
  1677. pool: AVE
  1678. engine: CAFFE
  1679. global_pooling: true
  1680. }
  1681. }
  1682. layer {
  1683. name: "conv3_1/B_fc1"
  1684. type: "Convolution"
  1685. bottom: "conv3_1/B_global_pool"
  1686. top: "conv3_1/B_fc1"
  1687. param {
  1688. lr_mult: 1.0
  1689. decay_mult: 1.0
  1690. }
  1691. convolution_param {
  1692. num_output: 32
  1693. bias_term: false
  1694. kernel_size: 1
  1695. stride: 1
  1696. weight_filler {
  1697. type: "gaussian"
  1698. std: 0.01
  1699. }
  1700. }
  1701. }
  1702. layer {
  1703. name: "conv3_1/B_fc1/bn"
  1704. type: "CuDNNBatchNorm"
  1705. bottom: "conv3_1/B_fc1"
  1706. top: "conv3_1/B_fc1/bn"
  1707. param {
  1708. lr_mult: 1.0
  1709. decay_mult: 0.0
  1710. }
  1711. param {
  1712. lr_mult: 1.0
  1713. decay_mult: 0.0
  1714. }
  1715. param {
  1716. lr_mult: 0.0
  1717. decay_mult: 0.0
  1718. }
  1719. param {
  1720. lr_mult: 0.0
  1721. decay_mult: 0.0
  1722. }
  1723. batch_norm_param {
  1724. frozen: false
  1725. momentum: 0.95
  1726. scale_filler {
  1727. type: "constant"
  1728. value: 1.0
  1729. }
  1730. bias_filler {
  1731. type: "constant"
  1732. value: 0.0
  1733. }
  1734. }
  1735. }
  1736. layer {
  1737. name: "conv3_1/B_fc1/relu"
  1738. type: "ReLU"
  1739. bottom: "conv3_1/B_fc1/bn"
  1740. top: "conv3_1/B_fc1/bn"
  1741. }
  1742. layer {
  1743. name: "conv3_1/B_fc2"
  1744. type: "Convolution"
  1745. bottom: "conv3_1/B_fc1/bn"
  1746. top: "conv3_1/B_fc2"
  1747. param {
  1748. lr_mult: 1.0
  1749. decay_mult: 1.0
  1750. }
  1751. convolution_param {
  1752. num_output: 512
  1753. bias_term: false
  1754. kernel_size: 1
  1755. stride: 1
  1756. weight_filler {
  1757. type: "gaussian"
  1758. std: 0.01
  1759. }
  1760. }
  1761. }
  1762. layer {
  1763. name: "conv3_1/B_re"
  1764. type: "Reshape"
  1765. bottom: "conv3_1/B_fc2"
  1766. top: "conv3_1/B_re"
  1767. reshape_param {
  1768. shape {
  1769. dim: 0
  1770. dim: 2
  1771. dim: -1
  1772. dim: 0
  1773. }
  1774. }
  1775. }
  1776. layer {
  1777. name: "conv3_1/B_softmax"
  1778. type: "Softmax"
  1779. bottom: "conv3_1/B_re"
  1780. top: "conv3_1/B_softmax"
  1781. softmax_param {
  1782. axis: 1
  1783. }
  1784. }
  1785. layer {
  1786. name: "conv3_1/B_slice"
  1787. type: "Slice"
  1788. bottom: "conv3_1/B_softmax"
  1789. top: "conv3_1/B_slice0_"
  1790. top: "conv3_1/B_slice1_"
  1791. slice_param {
  1792. slice_point: 1
  1793. axis: 1
  1794. }
  1795. }
  1796. layer {
  1797. name: "conv3_1/B_slice1"
  1798. type: "Reshape"
  1799. bottom: "conv3_1/B_slice1_"
  1800. top: "conv3_1/B_slice1"
  1801. reshape_param {
  1802. shape {
  1803. dim: 0
  1804. dim: 256
  1805. dim: -1
  1806. dim: 0
  1807. }
  1808. }
  1809. }
  1810. layer {
  1811. name: "conv3_1/B_slice0"
  1812. type: "Reshape"
  1813. bottom: "conv3_1/B_slice0_"
  1814. top: "conv3_1/B_slice0"
  1815. reshape_param {
  1816. shape {
  1817. dim: 0
  1818. dim: 256
  1819. dim: -1
  1820. dim: 0
  1821. }
  1822. }
  1823. }
  1824. layer {
  1825. name: "conv3_1/B_w0/reshape"
  1826. type: "Reshape"
  1827. bottom: "conv3_1/B_slice0"
  1828. top: "conv3_1/B_w0/reshape"
  1829. reshape_param {
  1830. shape {
  1831. dim: 0
  1832. dim: 0
  1833. }
  1834. }
  1835. }
  1836. layer {
  1837. name: "conv3_1/scale"
  1838. type: "Scale"
  1839. bottom: "conv3_1/3x3g32/bn"
  1840. bottom: "conv3_1/B_w0/reshape"
  1841. top: "conv3_1/scale"
  1842. scale_param {
  1843. axis: 0
  1844. bias_term: false
  1845. }
  1846. }
  1847. layer {
  1848. name: "conv3_1/B_axpy"
  1849. type: "Axpy"
  1850. bottom: "conv3_1/B_slice1"
  1851. bottom: "conv3_1/3x3g32d2/bn"
  1852. bottom: "conv3_1/scale"
  1853. top: "conv3_1/B_axpy"
  1854. }
  1855. layer {
  1856. name: "conv3_1/1x1_increase"
  1857. type: "Convolution"
  1858. bottom: "conv3_1/B_axpy"
  1859. top: "conv3_1/1x1_increase"
  1860. param {
  1861. lr_mult: 1.0
  1862. decay_mult: 1.0
  1863. }
  1864. convolution_param {
  1865. num_output: 512
  1866. bias_term: false
  1867. kernel_size: 1
  1868. stride: 1
  1869. weight_filler {
  1870. type: "msra"
  1871. }
  1872. }
  1873. }
  1874. layer {
  1875. name: "conv3_1/1x1_increase/bn"
  1876. type: "CuDNNBatchNorm"
  1877. bottom: "conv3_1/1x1_increase"
  1878. top: "conv3_1/1x1_increase/bn"
  1879. param {
  1880. lr_mult: 1.0
  1881. decay_mult: 0.0
  1882. }
  1883. param {
  1884. lr_mult: 1.0
  1885. decay_mult: 0.0
  1886. }
  1887. param {
  1888. lr_mult: 0.0
  1889. decay_mult: 0.0
  1890. }
  1891. param {
  1892. lr_mult: 0.0
  1893. decay_mult: 0.0
  1894. }
  1895. batch_norm_param {
  1896. frozen: false
  1897. momentum: 0.95
  1898. scale_filler {
  1899. type: "constant"
  1900. value: 1.0
  1901. }
  1902. bias_filler {
  1903. type: "constant"
  1904. value: 0.0
  1905. }
  1906. }
  1907. }
  1908. layer {
  1909. name: "conv3_1/1x1_proj"
  1910. type: "Convolution"
  1911. bottom: "conv2_3"
  1912. top: "conv3_1/1x1_proj"
  1913. param {
  1914. lr_mult: 1.0
  1915. decay_mult: 1.0
  1916. }
  1917. convolution_param {
  1918. num_output: 512
  1919. bias_term: false
  1920. kernel_size: 1
  1921. stride: 2
  1922. weight_filler {
  1923. type: "msra"
  1924. }
  1925. }
  1926. }
  1927. layer {
  1928. name: "conv3_1/1x1_proj/bn"
  1929. type: "CuDNNBatchNorm"
  1930. bottom: "conv3_1/1x1_proj"
  1931. top: "conv3_1/1x1_proj/bn"
  1932. param {
  1933. lr_mult: 1.0
  1934. decay_mult: 0.0
  1935. }
  1936. param {
  1937. lr_mult: 1.0
  1938. decay_mult: 0.0
  1939. }
  1940. param {
  1941. lr_mult: 0.0
  1942. decay_mult: 0.0
  1943. }
  1944. param {
  1945. lr_mult: 0.0
  1946. decay_mult: 0.0
  1947. }
  1948. batch_norm_param {
  1949. frozen: false
  1950. momentum: 0.95
  1951. scale_filler {
  1952. type: "constant"
  1953. value: 1.0
  1954. }
  1955. bias_filler {
  1956. type: "constant"
  1957. value: 0.0
  1958. }
  1959. }
  1960. }
  1961. layer {
  1962. name: "conv3_1"
  1963. type: "Eltwise"
  1964. bottom: "conv3_1/1x1_increase/bn"
  1965. bottom: "conv3_1/1x1_proj/bn"
  1966. top: "conv3_1"
  1967. eltwise_param {
  1968. operation: SUM
  1969. }
  1970. }
  1971. layer {
  1972. name: "conv3_1/relu"
  1973. type: "ReLU"
  1974. bottom: "conv3_1"
  1975. top: "conv3_1"
  1976. }
  1977. layer {
  1978. name: "conv3_2/1x1_reduce"
  1979. type: "Convolution"
  1980. bottom: "conv3_1"
  1981. top: "conv3_2/1x1_reduce"
  1982. param {
  1983. lr_mult: 1.0
  1984. decay_mult: 1.0
  1985. }
  1986. convolution_param {
  1987. num_output: 256
  1988. bias_term: false
  1989. kernel_size: 1
  1990. stride: 1
  1991. weight_filler {
  1992. type: "msra"
  1993. }
  1994. }
  1995. }
  1996. layer {
  1997. name: "conv3_2/1x1_reduce/bn"
  1998. type: "CuDNNBatchNorm"
  1999. bottom: "conv3_2/1x1_reduce"
  2000. top: "conv3_2/1x1_reduce/bn"
  2001. param {
  2002. lr_mult: 1.0
  2003. decay_mult: 0.0
  2004. }
  2005. param {
  2006. lr_mult: 1.0
  2007. decay_mult: 0.0
  2008. }
  2009. param {
  2010. lr_mult: 0.0
  2011. decay_mult: 0.0
  2012. }
  2013. param {
  2014. lr_mult: 0.0
  2015. decay_mult: 0.0
  2016. }
  2017. batch_norm_param {
  2018. frozen: false
  2019. momentum: 0.95
  2020. scale_filler {
  2021. type: "constant"
  2022. value: 1.0
  2023. }
  2024. bias_filler {
  2025. type: "constant"
  2026. value: 0.0
  2027. }
  2028. }
  2029. }
  2030. layer {
  2031. name: "conv3_2/1x1_reduce/relu"
  2032. type: "ReLU"
  2033. bottom: "conv3_2/1x1_reduce/bn"
  2034. top: "conv3_2/1x1_reduce/bn"
  2035. }
  2036. layer {
  2037. name: "conv3_2/3x3g32"
  2038. type: "Convolution"
  2039. bottom: "conv3_2/1x1_reduce/bn"
  2040. top: "conv3_2/3x3g32"
  2041. param {
  2042. lr_mult: 1.0
  2043. decay_mult: 1.0
  2044. }
  2045. convolution_param {
  2046. num_output: 256
  2047. bias_term: false
  2048. pad: 1
  2049. kernel_size: 3
  2050. group: 32
  2051. stride: 1
  2052. weight_filler {
  2053. type: "msra"
  2054. }
  2055. }
  2056. }
  2057. layer {
  2058. name: "conv3_2/3x3g32/bn"
  2059. type: "CuDNNBatchNorm"
  2060. bottom: "conv3_2/3x3g32"
  2061. top: "conv3_2/3x3g32/bn"
  2062. param {
  2063. lr_mult: 1.0
  2064. decay_mult: 0.0
  2065. }
  2066. param {
  2067. lr_mult: 1.0
  2068. decay_mult: 0.0
  2069. }
  2070. param {
  2071. lr_mult: 0.0
  2072. decay_mult: 0.0
  2073. }
  2074. param {
  2075. lr_mult: 0.0
  2076. decay_mult: 0.0
  2077. }
  2078. batch_norm_param {
  2079. frozen: false
  2080. momentum: 0.95
  2081. scale_filler {
  2082. type: "constant"
  2083. value: 1.0
  2084. }
  2085. bias_filler {
  2086. type: "constant"
  2087. value: 0.0
  2088. }
  2089. }
  2090. }
  2091. layer {
  2092. name: "conv3_2/3x3g32/relu"
  2093. type: "ReLU"
  2094. bottom: "conv3_2/3x3g32/bn"
  2095. top: "conv3_2/3x3g32/bn"
  2096. }
  2097. layer {
  2098. name: "conv3_2/3x3g32d2"
  2099. type: "Convolution"
  2100. bottom: "conv3_2/1x1_reduce/bn"
  2101. top: "conv3_2/3x3g32d2"
  2102. param {
  2103. lr_mult: 1.0
  2104. decay_mult: 1.0
  2105. }
  2106. convolution_param {
  2107. num_output: 256
  2108. bias_term: false
  2109. pad: 2
  2110. kernel_size: 3
  2111. group: 32
  2112. stride: 1
  2113. weight_filler {
  2114. type: "msra"
  2115. }
  2116. dilation: 2
  2117. }
  2118. }
  2119. layer {
  2120. name: "conv3_2/3x3g32d2/bn"
  2121. type: "CuDNNBatchNorm"
  2122. bottom: "conv3_2/3x3g32d2"
  2123. top: "conv3_2/3x3g32d2/bn"
  2124. param {
  2125. lr_mult: 1.0
  2126. decay_mult: 0.0
  2127. }
  2128. param {
  2129. lr_mult: 1.0
  2130. decay_mult: 0.0
  2131. }
  2132. param {
  2133. lr_mult: 0.0
  2134. decay_mult: 0.0
  2135. }
  2136. param {
  2137. lr_mult: 0.0
  2138. decay_mult: 0.0
  2139. }
  2140. batch_norm_param {
  2141. frozen: false
  2142. momentum: 0.95
  2143. scale_filler {
  2144. type: "constant"
  2145. value: 1.0
  2146. }
  2147. bias_filler {
  2148. type: "constant"
  2149. value: 0.0
  2150. }
  2151. }
  2152. }
  2153. layer {
  2154. name: "conv3_2/3x3g32d2/relu"
  2155. type: "ReLU"
  2156. bottom: "conv3_2/3x3g32d2/bn"
  2157. top: "conv3_2/3x3g32d2/bn"
  2158. }
  2159. layer {
  2160. name: "conv3_2_3x3"
  2161. type: "Eltwise"
  2162. bottom: "conv3_2/3x3g32/bn"
  2163. bottom: "conv3_2/3x3g32d2/bn"
  2164. top: "conv3_2_3x3"
  2165. eltwise_param {
  2166. operation: SUM
  2167. }
  2168. }
  2169. layer {
  2170. name: "conv3_2/B_global_pool"
  2171. type: "Pooling"
  2172. bottom: "conv3_2_3x3"
  2173. top: "conv3_2/B_global_pool"
  2174. pooling_param {
  2175. pool: AVE
  2176. engine: CAFFE
  2177. global_pooling: true
  2178. }
  2179. }
  2180. layer {
  2181. name: "conv3_2/B_fc1"
  2182. type: "Convolution"
  2183. bottom: "conv3_2/B_global_pool"
  2184. top: "conv3_2/B_fc1"
  2185. param {
  2186. lr_mult: 1.0
  2187. decay_mult: 1.0
  2188. }
  2189. convolution_param {
  2190. num_output: 32
  2191. bias_term: false
  2192. kernel_size: 1
  2193. stride: 1
  2194. weight_filler {
  2195. type: "gaussian"
  2196. std: 0.01
  2197. }
  2198. }
  2199. }
  2200. layer {
  2201. name: "conv3_2/B_fc1/bn"
  2202. type: "CuDNNBatchNorm"
  2203. bottom: "conv3_2/B_fc1"
  2204. top: "conv3_2/B_fc1/bn"
  2205. param {
  2206. lr_mult: 1.0
  2207. decay_mult: 0.0
  2208. }
  2209. param {
  2210. lr_mult: 1.0
  2211. decay_mult: 0.0
  2212. }
  2213. param {
  2214. lr_mult: 0.0
  2215. decay_mult: 0.0
  2216. }
  2217. param {
  2218. lr_mult: 0.0
  2219. decay_mult: 0.0
  2220. }
  2221. batch_norm_param {
  2222. frozen: false
  2223. momentum: 0.95
  2224. scale_filler {
  2225. type: "constant"
  2226. value: 1.0
  2227. }
  2228. bias_filler {
  2229. type: "constant"
  2230. value: 0.0
  2231. }
  2232. }
  2233. }
  2234. layer {
  2235. name: "conv3_2/B_fc1/relu"
  2236. type: "ReLU"
  2237. bottom: "conv3_2/B_fc1/bn"
  2238. top: "conv3_2/B_fc1/bn"
  2239. }
  2240. layer {
  2241. name: "conv3_2/B_fc2"
  2242. type: "Convolution"
  2243. bottom: "conv3_2/B_fc1/bn"
  2244. top: "conv3_2/B_fc2"
  2245. param {
  2246. lr_mult: 1.0
  2247. decay_mult: 1.0
  2248. }
  2249. convolution_param {
  2250. num_output: 512
  2251. bias_term: false
  2252. kernel_size: 1
  2253. stride: 1
  2254. weight_filler {
  2255. type: "gaussian"
  2256. std: 0.01
  2257. }
  2258. }
  2259. }
  2260. layer {
  2261. name: "conv3_2/B_re"
  2262. type: "Reshape"
  2263. bottom: "conv3_2/B_fc2"
  2264. top: "conv3_2/B_re"
  2265. reshape_param {
  2266. shape {
  2267. dim: 0
  2268. dim: 2
  2269. dim: -1
  2270. dim: 0
  2271. }
  2272. }
  2273. }
  2274. layer {
  2275. name: "conv3_2/B_softmax"
  2276. type: "Softmax"
  2277. bottom: "conv3_2/B_re"
  2278. top: "conv3_2/B_softmax"
  2279. softmax_param {
  2280. axis: 1
  2281. }
  2282. }
  2283. layer {
  2284. name: "conv3_2/B_slice"
  2285. type: "Slice"
  2286. bottom: "conv3_2/B_softmax"
  2287. top: "conv3_2/B_slice0_"
  2288. top: "conv3_2/B_slice1_"
  2289. slice_param {
  2290. slice_point: 1
  2291. axis: 1
  2292. }
  2293. }
  2294. layer {
  2295. name: "conv3_2/B_slice1"
  2296. type: "Reshape"
  2297. bottom: "conv3_2/B_slice1_"
  2298. top: "conv3_2/B_slice1"
  2299. reshape_param {
  2300. shape {
  2301. dim: 0
  2302. dim: 256
  2303. dim: -1
  2304. dim: 0
  2305. }
  2306. }
  2307. }
  2308. layer {
  2309. name: "conv3_2/B_slice0"
  2310. type: "Reshape"
  2311. bottom: "conv3_2/B_slice0_"
  2312. top: "conv3_2/B_slice0"
  2313. reshape_param {
  2314. shape {
  2315. dim: 0
  2316. dim: 256
  2317. dim: -1
  2318. dim: 0
  2319. }
  2320. }
  2321. }
  2322. layer {
  2323. name: "conv3_2/B_w0/reshape"
  2324. type: "Reshape"
  2325. bottom: "conv3_2/B_slice0"
  2326. top: "conv3_2/B_w0/reshape"
  2327. reshape_param {
  2328. shape {
  2329. dim: 0
  2330. dim: 0
  2331. }
  2332. }
  2333. }
  2334. layer {
  2335. name: "conv3_2/scale"
  2336. type: "Scale"
  2337. bottom: "conv3_2/3x3g32/bn"
  2338. bottom: "conv3_2/B_w0/reshape"
  2339. top: "conv3_2/scale"
  2340. scale_param {
  2341. axis: 0
  2342. bias_term: false
  2343. }
  2344. }
  2345. layer {
  2346. name: "conv3_2/B_axpy"
  2347. type: "Axpy"
  2348. bottom: "conv3_2/B_slice1"
  2349. bottom: "conv3_2/3x3g32d2/bn"
  2350. bottom: "conv3_2/scale"
  2351. top: "conv3_2/B_axpy"
  2352. }
  2353. layer {
  2354. name: "conv3_2/1x1_increase"
  2355. type: "Convolution"
  2356. bottom: "conv3_2/B_axpy"
  2357. top: "conv3_2/1x1_increase"
  2358. param {
  2359. lr_mult: 1.0
  2360. decay_mult: 1.0
  2361. }
  2362. convolution_param {
  2363. num_output: 512
  2364. bias_term: false
  2365. kernel_size: 1
  2366. stride: 1
  2367. weight_filler {
  2368. type: "msra"
  2369. }
  2370. }
  2371. }
  2372. layer {
  2373. name: "conv3_2/1x1_increase/bn"
  2374. type: "CuDNNBatchNorm"
  2375. bottom: "conv3_2/1x1_increase"
  2376. top: "conv3_2/1x1_increase/bn"
  2377. param {
  2378. lr_mult: 1.0
  2379. decay_mult: 0.0
  2380. }
  2381. param {
  2382. lr_mult: 1.0
  2383. decay_mult: 0.0
  2384. }
  2385. param {
  2386. lr_mult: 0.0
  2387. decay_mult: 0.0
  2388. }
  2389. param {
  2390. lr_mult: 0.0
  2391. decay_mult: 0.0
  2392. }
  2393. batch_norm_param {
  2394. frozen: false
  2395. momentum: 0.95
  2396. scale_filler {
  2397. type: "constant"
  2398. value: 1.0
  2399. }
  2400. bias_filler {
  2401. type: "constant"
  2402. value: 0.0
  2403. }
  2404. }
  2405. }
  2406. layer {
  2407. name: "conv3_2"
  2408. type: "Eltwise"
  2409. bottom: "conv3_2/1x1_increase/bn"
  2410. bottom: "conv3_1"
  2411. top: "conv3_2"
  2412. eltwise_param {
  2413. operation: SUM
  2414. }
  2415. }
  2416. layer {
  2417. name: "conv3_2/relu"
  2418. type: "ReLU"
  2419. bottom: "conv3_2"
  2420. top: "conv3_2"
  2421. }
  2422. layer {
  2423. name: "conv3_3/1x1_reduce"
  2424. type: "Convolution"
  2425. bottom: "conv3_2"
  2426. top: "conv3_3/1x1_reduce"
  2427. param {
  2428. lr_mult: 1.0
  2429. decay_mult: 1.0
  2430. }
  2431. convolution_param {
  2432. num_output: 256
  2433. bias_term: false
  2434. kernel_size: 1
  2435. stride: 1
  2436. weight_filler {
  2437. type: "msra"
  2438. }
  2439. }
  2440. }
  2441. layer {
  2442. name: "conv3_3/1x1_reduce/bn"
  2443. type: "CuDNNBatchNorm"
  2444. bottom: "conv3_3/1x1_reduce"
  2445. top: "conv3_3/1x1_reduce/bn"
  2446. param {
  2447. lr_mult: 1.0
  2448. decay_mult: 0.0
  2449. }
  2450. param {
  2451. lr_mult: 1.0
  2452. decay_mult: 0.0
  2453. }
  2454. param {
  2455. lr_mult: 0.0
  2456. decay_mult: 0.0
  2457. }
  2458. param {
  2459. lr_mult: 0.0
  2460. decay_mult: 0.0
  2461. }
  2462. batch_norm_param {
  2463. frozen: false
  2464. momentum: 0.95
  2465. scale_filler {
  2466. type: "constant"
  2467. value: 1.0
  2468. }
  2469. bias_filler {
  2470. type: "constant"
  2471. value: 0.0
  2472. }
  2473. }
  2474. }
  2475. layer {
  2476. name: "conv3_3/1x1_reduce/relu"
  2477. type: "ReLU"
  2478. bottom: "conv3_3/1x1_reduce/bn"
  2479. top: "conv3_3/1x1_reduce/bn"
  2480. }
  2481. layer {
  2482. name: "conv3_3/3x3g32"
  2483. type: "Convolution"
  2484. bottom: "conv3_3/1x1_reduce/bn"
  2485. top: "conv3_3/3x3g32"
  2486. param {
  2487. lr_mult: 1.0
  2488. decay_mult: 1.0
  2489. }
  2490. convolution_param {
  2491. num_output: 256
  2492. bias_term: false
  2493. pad: 1
  2494. kernel_size: 3
  2495. group: 32
  2496. stride: 1
  2497. weight_filler {
  2498. type: "msra"
  2499. }
  2500. }
  2501. }
  2502. layer {
  2503. name: "conv3_3/3x3g32/bn"
  2504. type: "CuDNNBatchNorm"
  2505. bottom: "conv3_3/3x3g32"
  2506. top: "conv3_3/3x3g32/bn"
  2507. param {
  2508. lr_mult: 1.0
  2509. decay_mult: 0.0
  2510. }
  2511. param {
  2512. lr_mult: 1.0
  2513. decay_mult: 0.0
  2514. }
  2515. param {
  2516. lr_mult: 0.0
  2517. decay_mult: 0.0
  2518. }
  2519. param {
  2520. lr_mult: 0.0
  2521. decay_mult: 0.0
  2522. }
  2523. batch_norm_param {
  2524. frozen: false
  2525. momentum: 0.95
  2526. scale_filler {
  2527. type: "constant"
  2528. value: 1.0
  2529. }
  2530. bias_filler {
  2531. type: "constant"
  2532. value: 0.0
  2533. }
  2534. }
  2535. }
  2536. layer {
  2537. name: "conv3_3/3x3g32/relu"
  2538. type: "ReLU"
  2539. bottom: "conv3_3/3x3g32/bn"
  2540. top: "conv3_3/3x3g32/bn"
  2541. }
  2542. layer {
  2543. name: "conv3_3/3x3g32d2"
  2544. type: "Convolution"
  2545. bottom: "conv3_3/1x1_reduce/bn"
  2546. top: "conv3_3/3x3g32d2"
  2547. param {
  2548. lr_mult: 1.0
  2549. decay_mult: 1.0
  2550. }
  2551. convolution_param {
  2552. num_output: 256
  2553. bias_term: false
  2554. pad: 2
  2555. kernel_size: 3
  2556. group: 32
  2557. stride: 1
  2558. weight_filler {
  2559. type: "msra"
  2560. }
  2561. dilation: 2
  2562. }
  2563. }
  2564. layer {
  2565. name: "conv3_3/3x3g32d2/bn"
  2566. type: "CuDNNBatchNorm"
  2567. bottom: "conv3_3/3x3g32d2"
  2568. top: "conv3_3/3x3g32d2/bn"
  2569. param {
  2570. lr_mult: 1.0
  2571. decay_mult: 0.0
  2572. }
  2573. param {
  2574. lr_mult: 1.0
  2575. decay_mult: 0.0
  2576. }
  2577. param {
  2578. lr_mult: 0.0
  2579. decay_mult: 0.0
  2580. }
  2581. param {
  2582. lr_mult: 0.0
  2583. decay_mult: 0.0
  2584. }
  2585. batch_norm_param {
  2586. frozen: false
  2587. momentum: 0.95
  2588. scale_filler {
  2589. type: "constant"
  2590. value: 1.0
  2591. }
  2592. bias_filler {
  2593. type: "constant"
  2594. value: 0.0
  2595. }
  2596. }
  2597. }
  2598. layer {
  2599. name: "conv3_3/3x3g32d2/relu"
  2600. type: "ReLU"
  2601. bottom: "conv3_3/3x3g32d2/bn"
  2602. top: "conv3_3/3x3g32d2/bn"
  2603. }
  2604. layer {
  2605. name: "conv3_3_3x3"
  2606. type: "Eltwise"
  2607. bottom: "conv3_3/3x3g32/bn"
  2608. bottom: "conv3_3/3x3g32d2/bn"
  2609. top: "conv3_3_3x3"
  2610. eltwise_param {
  2611. operation: SUM
  2612. }
  2613. }
  2614. layer {
  2615. name: "conv3_3/B_global_pool"
  2616. type: "Pooling"
  2617. bottom: "conv3_3_3x3"
  2618. top: "conv3_3/B_global_pool"
  2619. pooling_param {
  2620. pool: AVE
  2621. engine: CAFFE
  2622. global_pooling: true
  2623. }
  2624. }
  2625. layer {
  2626. name: "conv3_3/B_fc1"
  2627. type: "Convolution"
  2628. bottom: "conv3_3/B_global_pool"
  2629. top: "conv3_3/B_fc1"
  2630. param {
  2631. lr_mult: 1.0
  2632. decay_mult: 1.0
  2633. }
  2634. convolution_param {
  2635. num_output: 32
  2636. bias_term: false
  2637. kernel_size: 1
  2638. stride: 1
  2639. weight_filler {
  2640. type: "gaussian"
  2641. std: 0.01
  2642. }
  2643. }
  2644. }
  2645. layer {
  2646. name: "conv3_3/B_fc1/bn"
  2647. type: "CuDNNBatchNorm"
  2648. bottom: "conv3_3/B_fc1"
  2649. top: "conv3_3/B_fc1/bn"
  2650. param {
  2651. lr_mult: 1.0
  2652. decay_mult: 0.0
  2653. }
  2654. param {
  2655. lr_mult: 1.0
  2656. decay_mult: 0.0
  2657. }
  2658. param {
  2659. lr_mult: 0.0
  2660. decay_mult: 0.0
  2661. }
  2662. param {
  2663. lr_mult: 0.0
  2664. decay_mult: 0.0
  2665. }
  2666. batch_norm_param {
  2667. frozen: false
  2668. momentum: 0.95
  2669. scale_filler {
  2670. type: "constant"
  2671. value: 1.0
  2672. }
  2673. bias_filler {
  2674. type: "constant"
  2675. value: 0.0
  2676. }
  2677. }
  2678. }
  2679. layer {
  2680. name: "conv3_3/B_fc1/relu"
  2681. type: "ReLU"
  2682. bottom: "conv3_3/B_fc1/bn"
  2683. top: "conv3_3/B_fc1/bn"
  2684. }
  2685. layer {
  2686. name: "conv3_3/B_fc2"
  2687. type: "Convolution"
  2688. bottom: "conv3_3/B_fc1/bn"
  2689. top: "conv3_3/B_fc2"
  2690. param {
  2691. lr_mult: 1.0
  2692. decay_mult: 1.0
  2693. }
  2694. convolution_param {
  2695. num_output: 512
  2696. bias_term: false
  2697. kernel_size: 1
  2698. stride: 1
  2699. weight_filler {
  2700. type: "gaussian"
  2701. std: 0.01
  2702. }
  2703. }
  2704. }
  2705. layer {
  2706. name: "conv3_3/B_re"
  2707. type: "Reshape"
  2708. bottom: "conv3_3/B_fc2"
  2709. top: "conv3_3/B_re"
  2710. reshape_param {
  2711. shape {
  2712. dim: 0
  2713. dim: 2
  2714. dim: -1
  2715. dim: 0
  2716. }
  2717. }
  2718. }
  2719. layer {
  2720. name: "conv3_3/B_softmax"
  2721. type: "Softmax"
  2722. bottom: "conv3_3/B_re"
  2723. top: "conv3_3/B_softmax"
  2724. softmax_param {
  2725. axis: 1
  2726. }
  2727. }
  2728. layer {
  2729. name: "conv3_3/B_slice"
  2730. type: "Slice"
  2731. bottom: "conv3_3/B_softmax"
  2732. top: "conv3_3/B_slice0_"
  2733. top: "conv3_3/B_slice1_"
  2734. slice_param {
  2735. slice_point: 1
  2736. axis: 1
  2737. }
  2738. }
  2739. layer {
  2740. name: "conv3_3/B_slice1"
  2741. type: "Reshape"
  2742. bottom: "conv3_3/B_slice1_"
  2743. top: "conv3_3/B_slice1"
  2744. reshape_param {
  2745. shape {
  2746. dim: 0
  2747. dim: 256
  2748. dim: -1
  2749. dim: 0
  2750. }
  2751. }
  2752. }
  2753. layer {
  2754. name: "conv3_3/B_slice0"
  2755. type: "Reshape"
  2756. bottom: "conv3_3/B_slice0_"
  2757. top: "conv3_3/B_slice0"
  2758. reshape_param {
  2759. shape {
  2760. dim: 0
  2761. dim: 256
  2762. dim: -1
  2763. dim: 0
  2764. }
  2765. }
  2766. }
  2767. layer {
  2768. name: "conv3_3/B_w0/reshape"
  2769. type: "Reshape"
  2770. bottom: "conv3_3/B_slice0"
  2771. top: "conv3_3/B_w0/reshape"
  2772. reshape_param {
  2773. shape {
  2774. dim: 0
  2775. dim: 0
  2776. }
  2777. }
  2778. }
  2779. layer {
  2780. name: "conv3_3/scale"
  2781. type: "Scale"
  2782. bottom: "conv3_3/3x3g32/bn"
  2783. bottom: "conv3_3/B_w0/reshape"
  2784. top: "conv3_3/scale"
  2785. scale_param {
  2786. axis: 0
  2787. bias_term: false
  2788. }
  2789. }
  2790. layer {
  2791. name: "conv3_3/B_axpy"
  2792. type: "Axpy"
  2793. bottom: "conv3_3/B_slice1"
  2794. bottom: "conv3_3/3x3g32d2/bn"
  2795. bottom: "conv3_3/scale"
  2796. top: "conv3_3/B_axpy"
  2797. }
  2798. layer {
  2799. name: "conv3_3/1x1_increase"
  2800. type: "Convolution"
  2801. bottom: "conv3_3/B_axpy"
  2802. top: "conv3_3/1x1_increase"
  2803. param {
  2804. lr_mult: 1.0
  2805. decay_mult: 1.0
  2806. }
  2807. convolution_param {
  2808. num_output: 512
  2809. bias_term: false
  2810. kernel_size: 1
  2811. stride: 1
  2812. weight_filler {
  2813. type: "msra"
  2814. }
  2815. }
  2816. }
  2817. layer {
  2818. name: "conv3_3/1x1_increase/bn"
  2819. type: "CuDNNBatchNorm"
  2820. bottom: "conv3_3/1x1_increase"
  2821. top: "conv3_3/1x1_increase/bn"
  2822. param {
  2823. lr_mult: 1.0
  2824. decay_mult: 0.0
  2825. }
  2826. param {
  2827. lr_mult: 1.0
  2828. decay_mult: 0.0
  2829. }
  2830. param {
  2831. lr_mult: 0.0
  2832. decay_mult: 0.0
  2833. }
  2834. param {
  2835. lr_mult: 0.0
  2836. decay_mult: 0.0
  2837. }
  2838. batch_norm_param {
  2839. frozen: false
  2840. momentum: 0.95
  2841. scale_filler {
  2842. type: "constant"
  2843. value: 1.0
  2844. }
  2845. bias_filler {
  2846. type: "constant"
  2847. value: 0.0
  2848. }
  2849. }
  2850. }
  2851. layer {
  2852. name: "conv3_3"
  2853. type: "Eltwise"
  2854. bottom: "conv3_3/1x1_increase/bn"
  2855. bottom: "conv3_2"
  2856. top: "conv3_3"
  2857. eltwise_param {
  2858. operation: SUM
  2859. }
  2860. }
  2861. layer {
  2862. name: "conv3_3/relu"
  2863. type: "ReLU"
  2864. bottom: "conv3_3"
  2865. top: "conv3_3"
  2866. }
  2867. layer {
  2868. name: "conv3_4/1x1_reduce"
  2869. type: "Convolution"
  2870. bottom: "conv3_3"
  2871. top: "conv3_4/1x1_reduce"
  2872. param {
  2873. lr_mult: 1.0
  2874. decay_mult: 1.0
  2875. }
  2876. convolution_param {
  2877. num_output: 256
  2878. bias_term: false
  2879. kernel_size: 1
  2880. stride: 1
  2881. weight_filler {
  2882. type: "msra"
  2883. }
  2884. }
  2885. }
  2886. layer {
  2887. name: "conv3_4/1x1_reduce/bn"
  2888. type: "CuDNNBatchNorm"
  2889. bottom: "conv3_4/1x1_reduce"
  2890. top: "conv3_4/1x1_reduce/bn"
  2891. param {
  2892. lr_mult: 1.0
  2893. decay_mult: 0.0
  2894. }
  2895. param {
  2896. lr_mult: 1.0
  2897. decay_mult: 0.0
  2898. }
  2899. param {
  2900. lr_mult: 0.0
  2901. decay_mult: 0.0
  2902. }
  2903. param {
  2904. lr_mult: 0.0
  2905. decay_mult: 0.0
  2906. }
  2907. batch_norm_param {
  2908. frozen: false
  2909. momentum: 0.95
  2910. scale_filler {
  2911. type: "constant"
  2912. value: 1.0
  2913. }
  2914. bias_filler {
  2915. type: "constant"
  2916. value: 0.0
  2917. }
  2918. }
  2919. }
  2920. layer {
  2921. name: "conv3_4/1x1_reduce/relu"
  2922. type: "ReLU"
  2923. bottom: "conv3_4/1x1_reduce/bn"
  2924. top: "conv3_4/1x1_reduce/bn"
  2925. }
  2926. layer {
  2927. name: "conv3_4/3x3g32"
  2928. type: "Convolution"
  2929. bottom: "conv3_4/1x1_reduce/bn"
  2930. top: "conv3_4/3x3g32"
  2931. param {
  2932. lr_mult: 1.0
  2933. decay_mult: 1.0
  2934. }
  2935. convolution_param {
  2936. num_output: 256
  2937. bias_term: false
  2938. pad: 1
  2939. kernel_size: 3
  2940. group: 32
  2941. stride: 1
  2942. weight_filler {
  2943. type: "msra"
  2944. }
  2945. }
  2946. }
  2947. layer {
  2948. name: "conv3_4/3x3g32/bn"
  2949. type: "CuDNNBatchNorm"
  2950. bottom: "conv3_4/3x3g32"
  2951. top: "conv3_4/3x3g32/bn"
  2952. param {
  2953. lr_mult: 1.0
  2954. decay_mult: 0.0
  2955. }
  2956. param {
  2957. lr_mult: 1.0
  2958. decay_mult: 0.0
  2959. }
  2960. param {
  2961. lr_mult: 0.0
  2962. decay_mult: 0.0
  2963. }
  2964. param {
  2965. lr_mult: 0.0
  2966. decay_mult: 0.0
  2967. }
  2968. batch_norm_param {
  2969. frozen: false
  2970. momentum: 0.95
  2971. scale_filler {
  2972. type: "constant"
  2973. value: 1.0
  2974. }
  2975. bias_filler {
  2976. type: "constant"
  2977. value: 0.0
  2978. }
  2979. }
  2980. }
  2981. layer {
  2982. name: "conv3_4/3x3g32/relu"
  2983. type: "ReLU"
  2984. bottom: "conv3_4/3x3g32/bn"
  2985. top: "conv3_4/3x3g32/bn"
  2986. }
  2987. layer {
  2988. name: "conv3_4/3x3g32d2"
  2989. type: "Convolution"
  2990. bottom: "conv3_4/1x1_reduce/bn"
  2991. top: "conv3_4/3x3g32d2"
  2992. param {
  2993. lr_mult: 1.0
  2994. decay_mult: 1.0
  2995. }
  2996. convolution_param {
  2997. num_output: 256
  2998. bias_term: false
  2999. pad: 2
  3000. kernel_size: 3
  3001. group: 32
  3002. stride: 1
  3003. weight_filler {
  3004. type: "msra"
  3005. }
  3006. dilation: 2
  3007. }
  3008. }
  3009. layer {
  3010. name: "conv3_4/3x3g32d2/bn"
  3011. type: "CuDNNBatchNorm"
  3012. bottom: "conv3_4/3x3g32d2"
  3013. top: "conv3_4/3x3g32d2/bn"
  3014. param {
  3015. lr_mult: 1.0
  3016. decay_mult: 0.0
  3017. }
  3018. param {
  3019. lr_mult: 1.0
  3020. decay_mult: 0.0
  3021. }
  3022. param {
  3023. lr_mult: 0.0
  3024. decay_mult: 0.0
  3025. }
  3026. param {
  3027. lr_mult: 0.0
  3028. decay_mult: 0.0
  3029. }
  3030. batch_norm_param {
  3031. frozen: false
  3032. momentum: 0.95
  3033. scale_filler {
  3034. type: "constant"
  3035. value: 1.0
  3036. }
  3037. bias_filler {
  3038. type: "constant"
  3039. value: 0.0
  3040. }
  3041. }
  3042. }
  3043. layer {
  3044. name: "conv3_4/3x3g32d2/relu"
  3045. type: "ReLU"
  3046. bottom: "conv3_4/3x3g32d2/bn"
  3047. top: "conv3_4/3x3g32d2/bn"
  3048. }
  3049. layer {
  3050. name: "conv3_4_3x3"
  3051. type: "Eltwise"
  3052. bottom: "conv3_4/3x3g32/bn"
  3053. bottom: "conv3_4/3x3g32d2/bn"
  3054. top: "conv3_4_3x3"
  3055. eltwise_param {
  3056. operation: SUM
  3057. }
  3058. }
  3059. layer {
  3060. name: "conv3_4/B_global_pool"
  3061. type: "Pooling"
  3062. bottom: "conv3_4_3x3"
  3063. top: "conv3_4/B_global_pool"
  3064. pooling_param {
  3065. pool: AVE
  3066. engine: CAFFE
  3067. global_pooling: true
  3068. }
  3069. }
  3070. layer {
  3071. name: "conv3_4/B_fc1"
  3072. type: "Convolution"
  3073. bottom: "conv3_4/B_global_pool"
  3074. top: "conv3_4/B_fc1"
  3075. param {
  3076. lr_mult: 1.0
  3077. decay_mult: 1.0
  3078. }
  3079. convolution_param {
  3080. num_output: 32
  3081. bias_term: false
  3082. kernel_size: 1
  3083. stride: 1
  3084. weight_filler {
  3085. type: "gaussian"
  3086. std: 0.01
  3087. }
  3088. }
  3089. }
  3090. layer {
  3091. name: "conv3_4/B_fc1/bn"
  3092. type: "CuDNNBatchNorm"
  3093. bottom: "conv3_4/B_fc1"
  3094. top: "conv3_4/B_fc1/bn"
  3095. param {
  3096. lr_mult: 1.0
  3097. decay_mult: 0.0
  3098. }
  3099. param {
  3100. lr_mult: 1.0
  3101. decay_mult: 0.0
  3102. }
  3103. param {
  3104. lr_mult: 0.0
  3105. decay_mult: 0.0
  3106. }
  3107. param {
  3108. lr_mult: 0.0
  3109. decay_mult: 0.0
  3110. }
  3111. batch_norm_param {
  3112. frozen: false
  3113. momentum: 0.95
  3114. scale_filler {
  3115. type: "constant"
  3116. value: 1.0
  3117. }
  3118. bias_filler {
  3119. type: "constant"
  3120. value: 0.0
  3121. }
  3122. }
  3123. }
  3124. layer {
  3125. name: "conv3_4/B_fc1/relu"
  3126. type: "ReLU"
  3127. bottom: "conv3_4/B_fc1/bn"
  3128. top: "conv3_4/B_fc1/bn"
  3129. }
  3130. layer {
  3131. name: "conv3_4/B_fc2"
  3132. type: "Convolution"
  3133. bottom: "conv3_4/B_fc1/bn"
  3134. top: "conv3_4/B_fc2"
  3135. param {
  3136. lr_mult: 1.0
  3137. decay_mult: 1.0
  3138. }
  3139. convolution_param {
  3140. num_output: 512
  3141. bias_term: false
  3142. kernel_size: 1
  3143. stride: 1
  3144. weight_filler {
  3145. type: "gaussian"
  3146. std: 0.01
  3147. }
  3148. }
  3149. }
  3150. layer {
  3151. name: "conv3_4/B_re"
  3152. type: "Reshape"
  3153. bottom: "conv3_4/B_fc2"
  3154. top: "conv3_4/B_re"
  3155. reshape_param {
  3156. shape {
  3157. dim: 0
  3158. dim: 2
  3159. dim: -1
  3160. dim: 0
  3161. }
  3162. }
  3163. }
  3164. layer {
  3165. name: "conv3_4/B_softmax"
  3166. type: "Softmax"
  3167. bottom: "conv3_4/B_re"
  3168. top: "conv3_4/B_softmax"
  3169. softmax_param {
  3170. axis: 1
  3171. }
  3172. }
  3173. layer {
  3174. name: "conv3_4/B_slice"
  3175. type: "Slice"
  3176. bottom: "conv3_4/B_softmax"
  3177. top: "conv3_4/B_slice0_"
  3178. top: "conv3_4/B_slice1_"
  3179. slice_param {
  3180. slice_point: 1
  3181. axis: 1
  3182. }
  3183. }
  3184. layer {
  3185. name: "conv3_4/B_slice1"
  3186. type: "Reshape"
  3187. bottom: "conv3_4/B_slice1_"
  3188. top: "conv3_4/B_slice1"
  3189. reshape_param {
  3190. shape {
  3191. dim: 0
  3192. dim: 256
  3193. dim: -1
  3194. dim: 0
  3195. }
  3196. }
  3197. }
  3198. layer {
  3199. name: "conv3_4/B_slice0"
  3200. type: "Reshape"
  3201. bottom: "conv3_4/B_slice0_"
  3202. top: "conv3_4/B_slice0"
  3203. reshape_param {
  3204. shape {
  3205. dim: 0
  3206. dim: 256
  3207. dim: -1
  3208. dim: 0
  3209. }
  3210. }
  3211. }
  3212. layer {
  3213. name: "conv3_4/B_w0/reshape"
  3214. type: "Reshape"
  3215. bottom: "conv3_4/B_slice0"
  3216. top: "conv3_4/B_w0/reshape"
  3217. reshape_param {
  3218. shape {
  3219. dim: 0
  3220. dim: 0
  3221. }
  3222. }
  3223. }
  3224. layer {
  3225. name: "conv3_4/scale"
  3226. type: "Scale"
  3227. bottom: "conv3_4/3x3g32/bn"
  3228. bottom: "conv3_4/B_w0/reshape"
  3229. top: "conv3_4/scale"
  3230. scale_param {
  3231. axis: 0
  3232. bias_term: false
  3233. }
  3234. }
  3235. layer {
  3236. name: "conv3_4/B_axpy"
  3237. type: "Axpy"
  3238. bottom: "conv3_4/B_slice1"
  3239. bottom: "conv3_4/3x3g32d2/bn"
  3240. bottom: "conv3_4/scale"
  3241. top: "conv3_4/B_axpy"
  3242. }
  3243. layer {
  3244. name: "conv3_4/1x1_increase"
  3245. type: "Convolution"
  3246. bottom: "conv3_4/B_axpy"
  3247. top: "conv3_4/1x1_increase"
  3248. param {
  3249. lr_mult: 1.0
  3250. decay_mult: 1.0
  3251. }
  3252. convolution_param {
  3253. num_output: 512
  3254. bias_term: false
  3255. kernel_size: 1
  3256. stride: 1
  3257. weight_filler {
  3258. type: "msra"
  3259. }
  3260. }
  3261. }
  3262. layer {
  3263. name: "conv3_4/1x1_increase/bn"
  3264. type: "CuDNNBatchNorm"
  3265. bottom: "conv3_4/1x1_increase"
  3266. top: "conv3_4/1x1_increase/bn"
  3267. param {
  3268. lr_mult: 1.0
  3269. decay_mult: 0.0
  3270. }
  3271. param {
  3272. lr_mult: 1.0
  3273. decay_mult: 0.0
  3274. }
  3275. param {
  3276. lr_mult: 0.0
  3277. decay_mult: 0.0
  3278. }
  3279. param {
  3280. lr_mult: 0.0
  3281. decay_mult: 0.0
  3282. }
  3283. batch_norm_param {
  3284. frozen: false
  3285. momentum: 0.95
  3286. scale_filler {
  3287. type: "constant"
  3288. value: 1.0
  3289. }
  3290. bias_filler {
  3291. type: "constant"
  3292. value: 0.0
  3293. }
  3294. }
  3295. }
  3296. layer {
  3297. name: "conv3_4"
  3298. type: "Eltwise"
  3299. bottom: "conv3_4/1x1_increase/bn"
  3300. bottom: "conv3_3"
  3301. top: "conv3_4"
  3302. eltwise_param {
  3303. operation: SUM
  3304. }
  3305. }
  3306. layer {
  3307. name: "conv3_4/relu"
  3308. type: "ReLU"
  3309. bottom: "conv3_4"
  3310. top: "conv3_4"
  3311. }
  3312. layer {
  3313. name: "conv4_1/1x1_reduce"
  3314. type: "Convolution"
  3315. bottom: "conv3_4"
  3316. top: "conv4_1/1x1_reduce"
  3317. param {
  3318. lr_mult: 1.0
  3319. decay_mult: 1.0
  3320. }
  3321. convolution_param {
  3322. num_output: 512
  3323. bias_term: false
  3324. kernel_size: 1
  3325. stride: 1
  3326. weight_filler {
  3327. type: "msra"
  3328. }
  3329. }
  3330. }
  3331. layer {
  3332. name: "conv4_1/1x1_reduce/bn"
  3333. type: "CuDNNBatchNorm"
  3334. bottom: "conv4_1/1x1_reduce"
  3335. top: "conv4_1/1x1_reduce/bn"
  3336. param {
  3337. lr_mult: 1.0
  3338. decay_mult: 0.0
  3339. }
  3340. param {
  3341. lr_mult: 1.0
  3342. decay_mult: 0.0
  3343. }
  3344. param {
  3345. lr_mult: 0.0
  3346. decay_mult: 0.0
  3347. }
  3348. param {
  3349. lr_mult: 0.0
  3350. decay_mult: 0.0
  3351. }
  3352. batch_norm_param {
  3353. frozen: false
  3354. momentum: 0.95
  3355. scale_filler {
  3356. type: "constant"
  3357. value: 1.0
  3358. }
  3359. bias_filler {
  3360. type: "constant"
  3361. value: 0.0
  3362. }
  3363. }
  3364. }
  3365. layer {
  3366. name: "conv4_1/1x1_reduce/relu"
  3367. type: "ReLU"
  3368. bottom: "conv4_1/1x1_reduce/bn"
  3369. top: "conv4_1/1x1_reduce/bn"
  3370. }
  3371. layer {
  3372. name: "conv4_1/3x3g32"
  3373. type: "Convolution"
  3374. bottom: "conv4_1/1x1_reduce/bn"
  3375. top: "conv4_1/3x3g32"
  3376. param {
  3377. lr_mult: 1.0
  3378. decay_mult: 1.0
  3379. }
  3380. convolution_param {
  3381. num_output: 512
  3382. bias_term: false
  3383. pad: 1
  3384. kernel_size: 3
  3385. group: 32
  3386. stride: 2
  3387. weight_filler {
  3388. type: "msra"
  3389. }
  3390. }
  3391. }
  3392. layer {
  3393. name: "conv4_1/3x3g32/bn"
  3394. type: "CuDNNBatchNorm"
  3395. bottom: "conv4_1/3x3g32"
  3396. top: "conv4_1/3x3g32/bn"
  3397. param {
  3398. lr_mult: 1.0
  3399. decay_mult: 0.0
  3400. }
  3401. param {
  3402. lr_mult: 1.0
  3403. decay_mult: 0.0
  3404. }
  3405. param {
  3406. lr_mult: 0.0
  3407. decay_mult: 0.0
  3408. }
  3409. param {
  3410. lr_mult: 0.0
  3411. decay_mult: 0.0
  3412. }
  3413. batch_norm_param {
  3414. frozen: false
  3415. momentum: 0.95
  3416. scale_filler {
  3417. type: "constant"
  3418. value: 1.0
  3419. }
  3420. bias_filler {
  3421. type: "constant"
  3422. value: 0.0
  3423. }
  3424. }
  3425. }
  3426. layer {
  3427. name: "conv4_1/3x3g32/relu"
  3428. type: "ReLU"
  3429. bottom: "conv4_1/3x3g32/bn"
  3430. top: "conv4_1/3x3g32/bn"
  3431. }
  3432. layer {
  3433. name: "conv4_1/3x3g32d2"
  3434. type: "Convolution"
  3435. bottom: "conv4_1/1x1_reduce/bn"
  3436. top: "conv4_1/3x3g32d2"
  3437. param {
  3438. lr_mult: 1.0
  3439. decay_mult: 1.0
  3440. }
  3441. convolution_param {
  3442. num_output: 512
  3443. bias_term: false
  3444. pad: 2
  3445. kernel_size: 3
  3446. group: 32
  3447. stride: 2
  3448. weight_filler {
  3449. type: "msra"
  3450. }
  3451. dilation: 2
  3452. }
  3453. }
  3454. layer {
  3455. name: "conv4_1/3x3g32d2/bn"
  3456. type: "CuDNNBatchNorm"
  3457. bottom: "conv4_1/3x3g32d2"
  3458. top: "conv4_1/3x3g32d2/bn"
  3459. param {
  3460. lr_mult: 1.0
  3461. decay_mult: 0.0
  3462. }
  3463. param {
  3464. lr_mult: 1.0
  3465. decay_mult: 0.0
  3466. }
  3467. param {
  3468. lr_mult: 0.0
  3469. decay_mult: 0.0
  3470. }
  3471. param {
  3472. lr_mult: 0.0
  3473. decay_mult: 0.0
  3474. }
  3475. batch_norm_param {
  3476. frozen: false
  3477. momentum: 0.95
  3478. scale_filler {
  3479. type: "constant"
  3480. value: 1.0
  3481. }
  3482. bias_filler {
  3483. type: "constant"
  3484. value: 0.0
  3485. }
  3486. }
  3487. }
  3488. layer {
  3489. name: "conv4_1/3x3g32d2/relu"
  3490. type: "ReLU"
  3491. bottom: "conv4_1/3x3g32d2/bn"
  3492. top: "conv4_1/3x3g32d2/bn"
  3493. }
  3494. layer {
  3495. name: "conv4_1_3x3"
  3496. type: "Eltwise"
  3497. bottom: "conv4_1/3x3g32/bn"
  3498. bottom: "conv4_1/3x3g32d2/bn"
  3499. top: "conv4_1_3x3"
  3500. eltwise_param {
  3501. operation: SUM
  3502. }
  3503. }
  3504. layer {
  3505. name: "conv4_1/B_global_pool"
  3506. type: "Pooling"
  3507. bottom: "conv4_1_3x3"
  3508. top: "conv4_1/B_global_pool"
  3509. pooling_param {
  3510. pool: AVE
  3511. engine: CAFFE
  3512. global_pooling: true
  3513. }
  3514. }
  3515. layer {
  3516. name: "conv4_1/B_fc1"
  3517. type: "Convolution"
  3518. bottom: "conv4_1/B_global_pool"
  3519. top: "conv4_1/B_fc1"
  3520. param {
  3521. lr_mult: 1.0
  3522. decay_mult: 1.0
  3523. }
  3524. convolution_param {
  3525. num_output: 32
  3526. bias_term: false
  3527. kernel_size: 1
  3528. stride: 1
  3529. weight_filler {
  3530. type: "gaussian"
  3531. std: 0.01
  3532. }
  3533. }
  3534. }
  3535. layer {
  3536. name: "conv4_1/B_fc1/bn"
  3537. type: "CuDNNBatchNorm"
  3538. bottom: "conv4_1/B_fc1"
  3539. top: "conv4_1/B_fc1/bn"
  3540. param {
  3541. lr_mult: 1.0
  3542. decay_mult: 0.0
  3543. }
  3544. param {
  3545. lr_mult: 1.0
  3546. decay_mult: 0.0
  3547. }
  3548. param {
  3549. lr_mult: 0.0
  3550. decay_mult: 0.0
  3551. }
  3552. param {
  3553. lr_mult: 0.0
  3554. decay_mult: 0.0
  3555. }
  3556. batch_norm_param {
  3557. frozen: false
  3558. momentum: 0.95
  3559. scale_filler {
  3560. type: "constant"
  3561. value: 1.0
  3562. }
  3563. bias_filler {
  3564. type: "constant"
  3565. value: 0.0
  3566. }
  3567. }
  3568. }
  3569. layer {
  3570. name: "conv4_1/B_fc1/relu"
  3571. type: "ReLU"
  3572. bottom: "conv4_1/B_fc1/bn"
  3573. top: "conv4_1/B_fc1/bn"
  3574. }
  3575. layer {
  3576. name: "conv4_1/B_fc2"
  3577. type: "Convolution"
  3578. bottom: "conv4_1/B_fc1/bn"
  3579. top: "conv4_1/B_fc2"
  3580. param {
  3581. lr_mult: 1.0
  3582. decay_mult: 1.0
  3583. }
  3584. convolution_param {
  3585. num_output: 1024
  3586. bias_term: false
  3587. kernel_size: 1
  3588. stride: 1
  3589. weight_filler {
  3590. type: "gaussian"
  3591. std: 0.01
  3592. }
  3593. }
  3594. }
  3595. layer {
  3596. name: "conv4_1/B_re"
  3597. type: "Reshape"
  3598. bottom: "conv4_1/B_fc2"
  3599. top: "conv4_1/B_re"
  3600. reshape_param {
  3601. shape {
  3602. dim: 0
  3603. dim: 2
  3604. dim: -1
  3605. dim: 0
  3606. }
  3607. }
  3608. }
  3609. layer {
  3610. name: "conv4_1/B_softmax"
  3611. type: "Softmax"
  3612. bottom: "conv4_1/B_re"
  3613. top: "conv4_1/B_softmax"
  3614. softmax_param {
  3615. axis: 1
  3616. }
  3617. }
  3618. layer {
  3619. name: "conv4_1/B_slice"
  3620. type: "Slice"
  3621. bottom: "conv4_1/B_softmax"
  3622. top: "conv4_1/B_slice0_"
  3623. top: "conv4_1/B_slice1_"
  3624. slice_param {
  3625. slice_point: 1
  3626. axis: 1
  3627. }
  3628. }
  3629. layer {
  3630. name: "conv4_1/B_slice1"
  3631. type: "Reshape"
  3632. bottom: "conv4_1/B_slice1_"
  3633. top: "conv4_1/B_slice1"
  3634. reshape_param {
  3635. shape {
  3636. dim: 0
  3637. dim: 512
  3638. dim: -1
  3639. dim: 0
  3640. }
  3641. }
  3642. }
  3643. layer {
  3644. name: "conv4_1/B_slice0"
  3645. type: "Reshape"
  3646. bottom: "conv4_1/B_slice0_"
  3647. top: "conv4_1/B_slice0"
  3648. reshape_param {
  3649. shape {
  3650. dim: 0
  3651. dim: 512
  3652. dim: -1
  3653. dim: 0
  3654. }
  3655. }
  3656. }
  3657. layer {
  3658. name: "conv4_1/B_w0/reshape"
  3659. type: "Reshape"
  3660. bottom: "conv4_1/B_slice0"
  3661. top: "conv4_1/B_w0/reshape"
  3662. reshape_param {
  3663. shape {
  3664. dim: 0
  3665. dim: 0
  3666. }
  3667. }
  3668. }
  3669. layer {
  3670. name: "conv4_1/scale"
  3671. type: "Scale"
  3672. bottom: "conv4_1/3x3g32/bn"
  3673. bottom: "conv4_1/B_w0/reshape"
  3674. top: "conv4_1/scale"
  3675. scale_param {
  3676. axis: 0
  3677. bias_term: false
  3678. }
  3679. }
  3680. layer {
  3681. name: "conv4_1/B_axpy"
  3682. type: "Axpy"
  3683. bottom: "conv4_1/B_slice1"
  3684. bottom: "conv4_1/3x3g32d2/bn"
  3685. bottom: "conv4_1/scale"
  3686. top: "conv4_1/B_axpy"
  3687. }
  3688. layer {
  3689. name: "conv4_1/1x1_increase"
  3690. type: "Convolution"
  3691. bottom: "conv4_1/B_axpy"
  3692. top: "conv4_1/1x1_increase"
  3693. param {
  3694. lr_mult: 1.0
  3695. decay_mult: 1.0
  3696. }
  3697. convolution_param {
  3698. num_output: 1024
  3699. bias_term: false
  3700. kernel_size: 1
  3701. stride: 1
  3702. weight_filler {
  3703. type: "msra"
  3704. }
  3705. }
  3706. }
  3707. layer {
  3708. name: "conv4_1/1x1_increase/bn"
  3709. type: "CuDNNBatchNorm"
  3710. bottom: "conv4_1/1x1_increase"
  3711. top: "conv4_1/1x1_increase/bn"
  3712. param {
  3713. lr_mult: 1.0
  3714. decay_mult: 0.0
  3715. }
  3716. param {
  3717. lr_mult: 1.0
  3718. decay_mult: 0.0
  3719. }
  3720. param {
  3721. lr_mult: 0.0
  3722. decay_mult: 0.0
  3723. }
  3724. param {
  3725. lr_mult: 0.0
  3726. decay_mult: 0.0
  3727. }
  3728. batch_norm_param {
  3729. frozen: false
  3730. momentum: 0.95
  3731. scale_filler {
  3732. type: "constant"
  3733. value: 1.0
  3734. }
  3735. bias_filler {
  3736. type: "constant"
  3737. value: 0.0
  3738. }
  3739. }
  3740. }
  3741. layer {
  3742. name: "conv4_1/1x1_proj"
  3743. type: "Convolution"
  3744. bottom: "conv3_4"
  3745. top: "conv4_1/1x1_proj"
  3746. param {
  3747. lr_mult: 1.0
  3748. decay_mult: 1.0
  3749. }
  3750. convolution_param {
  3751. num_output: 1024
  3752. bias_term: false
  3753. kernel_size: 1
  3754. stride: 2
  3755. weight_filler {
  3756. type: "msra"
  3757. }
  3758. }
  3759. }
  3760. layer {
  3761. name: "conv4_1/1x1_proj/bn"
  3762. type: "CuDNNBatchNorm"
  3763. bottom: "conv4_1/1x1_proj"
  3764. top: "conv4_1/1x1_proj/bn"
  3765. param {
  3766. lr_mult: 1.0
  3767. decay_mult: 0.0
  3768. }
  3769. param {
  3770. lr_mult: 1.0
  3771. decay_mult: 0.0
  3772. }
  3773. param {
  3774. lr_mult: 0.0
  3775. decay_mult: 0.0
  3776. }
  3777. param {
  3778. lr_mult: 0.0
  3779. decay_mult: 0.0
  3780. }
  3781. batch_norm_param {
  3782. frozen: false
  3783. momentum: 0.95
  3784. scale_filler {
  3785. type: "constant"
  3786. value: 1.0
  3787. }
  3788. bias_filler {
  3789. type: "constant"
  3790. value: 0.0
  3791. }
  3792. }
  3793. }
  3794. layer {
  3795. name: "conv4_1"
  3796. type: "Eltwise"
  3797. bottom: "conv4_1/1x1_increase/bn"
  3798. bottom: "conv4_1/1x1_proj/bn"
  3799. top: "conv4_1"
  3800. eltwise_param {
  3801. operation: SUM
  3802. }
  3803. }
  3804. layer {
  3805. name: "conv4_1/relu"
  3806. type: "ReLU"
  3807. bottom: "conv4_1"
  3808. top: "conv4_1"
  3809. }
  3810. layer {
  3811. name: "conv4_2/1x1_reduce"
  3812. type: "Convolution"
  3813. bottom: "conv4_1"
  3814. top: "conv4_2/1x1_reduce"
  3815. param {
  3816. lr_mult: 1.0
  3817. decay_mult: 1.0
  3818. }
  3819. convolution_param {
  3820. num_output: 512
  3821. bias_term: false
  3822. kernel_size: 1
  3823. stride: 1
  3824. weight_filler {
  3825. type: "msra"
  3826. }
  3827. }
  3828. }
  3829. layer {
  3830. name: "conv4_2/1x1_reduce/bn"
  3831. type: "CuDNNBatchNorm"
  3832. bottom: "conv4_2/1x1_reduce"
  3833. top: "conv4_2/1x1_reduce/bn"
  3834. param {
  3835. lr_mult: 1.0
  3836. decay_mult: 0.0
  3837. }
  3838. param {
  3839. lr_mult: 1.0
  3840. decay_mult: 0.0
  3841. }
  3842. param {
  3843. lr_mult: 0.0
  3844. decay_mult: 0.0
  3845. }
  3846. param {
  3847. lr_mult: 0.0
  3848. decay_mult: 0.0
  3849. }
  3850. batch_norm_param {
  3851. frozen: false
  3852. momentum: 0.95
  3853. scale_filler {
  3854. type: "constant"
  3855. value: 1.0
  3856. }
  3857. bias_filler {
  3858. type: "constant"
  3859. value: 0.0
  3860. }
  3861. }
  3862. }
  3863. layer {
  3864. name: "conv4_2/1x1_reduce/relu"
  3865. type: "ReLU"
  3866. bottom: "conv4_2/1x1_reduce/bn"
  3867. top: "conv4_2/1x1_reduce/bn"
  3868. }
  3869. layer {
  3870. name: "conv4_2/3x3g32"
  3871. type: "Convolution"
  3872. bottom: "conv4_2/1x1_reduce/bn"
  3873. top: "conv4_2/3x3g32"
  3874. param {
  3875. lr_mult: 1.0
  3876. decay_mult: 1.0
  3877. }
  3878. convolution_param {
  3879. num_output: 512
  3880. bias_term: false
  3881. pad: 1
  3882. kernel_size: 3
  3883. group: 32
  3884. stride: 1
  3885. weight_filler {
  3886. type: "msra"
  3887. }
  3888. }
  3889. }
  3890. layer {
  3891. name: "conv4_2/3x3g32/bn"
  3892. type: "CuDNNBatchNorm"
  3893. bottom: "conv4_2/3x3g32"
  3894. top: "conv4_2/3x3g32/bn"
  3895. param {
  3896. lr_mult: 1.0
  3897. decay_mult: 0.0
  3898. }
  3899. param {
  3900. lr_mult: 1.0
  3901. decay_mult: 0.0
  3902. }
  3903. param {
  3904. lr_mult: 0.0
  3905. decay_mult: 0.0
  3906. }
  3907. param {
  3908. lr_mult: 0.0
  3909. decay_mult: 0.0
  3910. }
  3911. batch_norm_param {
  3912. frozen: false
  3913. momentum: 0.95
  3914. scale_filler {
  3915. type: "constant"
  3916. value: 1.0
  3917. }
  3918. bias_filler {
  3919. type: "constant"
  3920. value: 0.0
  3921. }
  3922. }
  3923. }
  3924. layer {
  3925. name: "conv4_2/3x3g32/relu"
  3926. type: "ReLU"
  3927. bottom: "conv4_2/3x3g32/bn"
  3928. top: "conv4_2/3x3g32/bn"
  3929. }
  3930. layer {
  3931. name: "conv4_2/3x3g32d2"
  3932. type: "Convolution"
  3933. bottom: "conv4_2/1x1_reduce/bn"
  3934. top: "conv4_2/3x3g32d2"
  3935. param {
  3936. lr_mult: 1.0
  3937. decay_mult: 1.0
  3938. }
  3939. convolution_param {
  3940. num_output: 512
  3941. bias_term: false
  3942. pad: 2
  3943. kernel_size: 3
  3944. group: 32
  3945. stride: 1
  3946. weight_filler {
  3947. type: "msra"
  3948. }
  3949. dilation: 2
  3950. }
  3951. }
  3952. layer {
  3953. name: "conv4_2/3x3g32d2/bn"
  3954. type: "CuDNNBatchNorm"
  3955. bottom: "conv4_2/3x3g32d2"
  3956. top: "conv4_2/3x3g32d2/bn"
  3957. param {
  3958. lr_mult: 1.0
  3959. decay_mult: 0.0
  3960. }
  3961. param {
  3962. lr_mult: 1.0
  3963. decay_mult: 0.0
  3964. }
  3965. param {
  3966. lr_mult: 0.0
  3967. decay_mult: 0.0
  3968. }
  3969. param {
  3970. lr_mult: 0.0
  3971. decay_mult: 0.0
  3972. }
  3973. batch_norm_param {
  3974. frozen: false
  3975. momentum: 0.95
  3976. scale_filler {
  3977. type: "constant"
  3978. value: 1.0
  3979. }
  3980. bias_filler {
  3981. type: "constant"
  3982. value: 0.0
  3983. }
  3984. }
  3985. }
  3986. layer {
  3987. name: "conv4_2/3x3g32d2/relu"
  3988. type: "ReLU"
  3989. bottom: "conv4_2/3x3g32d2/bn"
  3990. top: "conv4_2/3x3g32d2/bn"
  3991. }
  3992. layer {
  3993. name: "conv4_2_3x3"
  3994. type: "Eltwise"
  3995. bottom: "conv4_2/3x3g32/bn"
  3996. bottom: "conv4_2/3x3g32d2/bn"
  3997. top: "conv4_2_3x3"
  3998. eltwise_param {
  3999. operation: SUM
  4000. }
  4001. }
  4002. layer {
  4003. name: "conv4_2/B_global_pool"
  4004. type: "Pooling"
  4005. bottom: "conv4_2_3x3"
  4006. top: "conv4_2/B_global_pool"
  4007. pooling_param {
  4008. pool: AVE
  4009. engine: CAFFE
  4010. global_pooling: true
  4011. }
  4012. }
  4013. layer {
  4014. name: "conv4_2/B_fc1"
  4015. type: "Convolution"
  4016. bottom: "conv4_2/B_global_pool"
  4017. top: "conv4_2/B_fc1"
  4018. param {
  4019. lr_mult: 1.0
  4020. decay_mult: 1.0
  4021. }
  4022. convolution_param {
  4023. num_output: 32
  4024. bias_term: false
  4025. kernel_size: 1
  4026. stride: 1
  4027. weight_filler {
  4028. type: "gaussian"
  4029. std: 0.01
  4030. }
  4031. }
  4032. }
  4033. layer {
  4034. name: "conv4_2/B_fc1/bn"
  4035. type: "CuDNNBatchNorm"
  4036. bottom: "conv4_2/B_fc1"
  4037. top: "conv4_2/B_fc1/bn"
  4038. param {
  4039. lr_mult: 1.0
  4040. decay_mult: 0.0
  4041. }
  4042. param {
  4043. lr_mult: 1.0
  4044. decay_mult: 0.0
  4045. }
  4046. param {
  4047. lr_mult: 0.0
  4048. decay_mult: 0.0
  4049. }
  4050. param {
  4051. lr_mult: 0.0
  4052. decay_mult: 0.0
  4053. }
  4054. batch_norm_param {
  4055. frozen: false
  4056. momentum: 0.95
  4057. scale_filler {
  4058. type: "constant"
  4059. value: 1.0
  4060. }
  4061. bias_filler {
  4062. type: "constant"
  4063. value: 0.0
  4064. }
  4065. }
  4066. }
  4067. layer {
  4068. name: "conv4_2/B_fc1/relu"
  4069. type: "ReLU"
  4070. bottom: "conv4_2/B_fc1/bn"
  4071. top: "conv4_2/B_fc1/bn"
  4072. }
  4073. layer {
  4074. name: "conv4_2/B_fc2"
  4075. type: "Convolution"
  4076. bottom: "conv4_2/B_fc1/bn"
  4077. top: "conv4_2/B_fc2"
  4078. param {
  4079. lr_mult: 1.0
  4080. decay_mult: 1.0
  4081. }
  4082. convolution_param {
  4083. num_output: 1024
  4084. bias_term: false
  4085. kernel_size: 1
  4086. stride: 1
  4087. weight_filler {
  4088. type: "gaussian"
  4089. std: 0.01
  4090. }
  4091. }
  4092. }
  4093. layer {
  4094. name: "conv4_2/B_re"
  4095. type: "Reshape"
  4096. bottom: "conv4_2/B_fc2"
  4097. top: "conv4_2/B_re"
  4098. reshape_param {
  4099. shape {
  4100. dim: 0
  4101. dim: 2
  4102. dim: -1
  4103. dim: 0
  4104. }
  4105. }
  4106. }
  4107. layer {
  4108. name: "conv4_2/B_softmax"
  4109. type: "Softmax"
  4110. bottom: "conv4_2/B_re"
  4111. top: "conv4_2/B_softmax"
  4112. softmax_param {
  4113. axis: 1
  4114. }
  4115. }
  4116. layer {
  4117. name: "conv4_2/B_slice"
  4118. type: "Slice"
  4119. bottom: "conv4_2/B_softmax"
  4120. top: "conv4_2/B_slice0_"
  4121. top: "conv4_2/B_slice1_"
  4122. slice_param {
  4123. slice_point: 1
  4124. axis: 1
  4125. }
  4126. }
  4127. layer {
  4128. name: "conv4_2/B_slice1"
  4129. type: "Reshape"
  4130. bottom: "conv4_2/B_slice1_"
  4131. top: "conv4_2/B_slice1"
  4132. reshape_param {
  4133. shape {
  4134. dim: 0
  4135. dim: 512
  4136. dim: -1
  4137. dim: 0
  4138. }
  4139. }
  4140. }
  4141. layer {
  4142. name: "conv4_2/B_slice0"
  4143. type: "Reshape"
  4144. bottom: "conv4_2/B_slice0_"
  4145. top: "conv4_2/B_slice0"
  4146. reshape_param {
  4147. shape {
  4148. dim: 0
  4149. dim: 512
  4150. dim: -1
  4151. dim: 0
  4152. }
  4153. }
  4154. }
  4155. layer {
  4156. name: "conv4_2/B_w0/reshape"
  4157. type: "Reshape"
  4158. bottom: "conv4_2/B_slice0"
  4159. top: "conv4_2/B_w0/reshape"
  4160. reshape_param {
  4161. shape {
  4162. dim: 0
  4163. dim: 0
  4164. }
  4165. }
  4166. }
  4167. layer {
  4168. name: "conv4_2/scale"
  4169. type: "Scale"
  4170. bottom: "conv4_2/3x3g32/bn"
  4171. bottom: "conv4_2/B_w0/reshape"
  4172. top: "conv4_2/scale"
  4173. scale_param {
  4174. axis: 0
  4175. bias_term: false
  4176. }
  4177. }
  4178. layer {
  4179. name: "conv4_2/B_axpy"
  4180. type: "Axpy"
  4181. bottom: "conv4_2/B_slice1"
  4182. bottom: "conv4_2/3x3g32d2/bn"
  4183. bottom: "conv4_2/scale"
  4184. top: "conv4_2/B_axpy"
  4185. }
  4186. layer {
  4187. name: "conv4_2/1x1_increase"
  4188. type: "Convolution"
  4189. bottom: "conv4_2/B_axpy"
  4190. top: "conv4_2/1x1_increase"
  4191. param {
  4192. lr_mult: 1.0
  4193. decay_mult: 1.0
  4194. }
  4195. convolution_param {
  4196. num_output: 1024
  4197. bias_term: false
  4198. kernel_size: 1
  4199. stride: 1
  4200. weight_filler {
  4201. type: "msra"
  4202. }
  4203. }
  4204. }
  4205. layer {
  4206. name: "conv4_2/1x1_increase/bn"
  4207. type: "CuDNNBatchNorm"
  4208. bottom: "conv4_2/1x1_increase"
  4209. top: "conv4_2/1x1_increase/bn"
  4210. param {
  4211. lr_mult: 1.0
  4212. decay_mult: 0.0
  4213. }
  4214. param {
  4215. lr_mult: 1.0
  4216. decay_mult: 0.0
  4217. }
  4218. param {
  4219. lr_mult: 0.0
  4220. decay_mult: 0.0
  4221. }
  4222. param {
  4223. lr_mult: 0.0
  4224. decay_mult: 0.0
  4225. }
  4226. batch_norm_param {
  4227. frozen: false
  4228. momentum: 0.95
  4229. scale_filler {
  4230. type: "constant"
  4231. value: 1.0
  4232. }
  4233. bias_filler {
  4234. type: "constant"
  4235. value: 0.0
  4236. }
  4237. }
  4238. }
  4239. layer {
  4240. name: "conv4_2"
  4241. type: "Eltwise"
  4242. bottom: "conv4_2/1x1_increase/bn"
  4243. bottom: "conv4_1"
  4244. top: "conv4_2"
  4245. eltwise_param {
  4246. operation: SUM
  4247. }
  4248. }
  4249. layer {
  4250. name: "conv4_2/relu"
  4251. type: "ReLU"
  4252. bottom: "conv4_2"
  4253. top: "conv4_2"
  4254. }
  4255. layer {
  4256. name: "conv4_3/1x1_reduce"
  4257. type: "Convolution"
  4258. bottom: "conv4_2"
  4259. top: "conv4_3/1x1_reduce"
  4260. param {
  4261. lr_mult: 1.0
  4262. decay_mult: 1.0
  4263. }
  4264. convolution_param {
  4265. num_output: 512
  4266. bias_term: false
  4267. kernel_size: 1
  4268. stride: 1
  4269. weight_filler {
  4270. type: "msra"
  4271. }
  4272. }
  4273. }
  4274. layer {
  4275. name: "conv4_3/1x1_reduce/bn"
  4276. type: "CuDNNBatchNorm"
  4277. bottom: "conv4_3/1x1_reduce"
  4278. top: "conv4_3/1x1_reduce/bn"
  4279. param {
  4280. lr_mult: 1.0
  4281. decay_mult: 0.0
  4282. }
  4283. param {
  4284. lr_mult: 1.0
  4285. decay_mult: 0.0
  4286. }
  4287. param {
  4288. lr_mult: 0.0
  4289. decay_mult: 0.0
  4290. }
  4291. param {
  4292. lr_mult: 0.0
  4293. decay_mult: 0.0
  4294. }
  4295. batch_norm_param {
  4296. frozen: false
  4297. momentum: 0.95
  4298. scale_filler {
  4299. type: "constant"
  4300. value: 1.0
  4301. }
  4302. bias_filler {
  4303. type: "constant"
  4304. value: 0.0
  4305. }
  4306. }
  4307. }
  4308. layer {
  4309. name: "conv4_3/1x1_reduce/relu"
  4310. type: "ReLU"
  4311. bottom: "conv4_3/1x1_reduce/bn"
  4312. top: "conv4_3/1x1_reduce/bn"
  4313. }
  4314. layer {
  4315. name: "conv4_3/3x3g32"
  4316. type: "Convolution"
  4317. bottom: "conv4_3/1x1_reduce/bn"
  4318. top: "conv4_3/3x3g32"
  4319. param {
  4320. lr_mult: 1.0
  4321. decay_mult: 1.0
  4322. }
  4323. convolution_param {
  4324. num_output: 512
  4325. bias_term: false
  4326. pad: 1
  4327. kernel_size: 3
  4328. group: 32
  4329. stride: 1
  4330. weight_filler {
  4331. type: "msra"
  4332. }
  4333. }
  4334. }
  4335. layer {
  4336. name: "conv4_3/3x3g32/bn"
  4337. type: "CuDNNBatchNorm"
  4338. bottom: "conv4_3/3x3g32"
  4339. top: "conv4_3/3x3g32/bn"
  4340. param {
  4341. lr_mult: 1.0
  4342. decay_mult: 0.0
  4343. }
  4344. param {
  4345. lr_mult: 1.0
  4346. decay_mult: 0.0
  4347. }
  4348. param {
  4349. lr_mult: 0.0
  4350. decay_mult: 0.0
  4351. }
  4352. param {
  4353. lr_mult: 0.0
  4354. decay_mult: 0.0
  4355. }
  4356. batch_norm_param {
  4357. frozen: false
  4358. momentum: 0.95
  4359. scale_filler {
  4360. type: "constant"
  4361. value: 1.0
  4362. }
  4363. bias_filler {
  4364. type: "constant"
  4365. value: 0.0
  4366. }
  4367. }
  4368. }
  4369. layer {
  4370. name: "conv4_3/3x3g32/relu"
  4371. type: "ReLU"
  4372. bottom: "conv4_3/3x3g32/bn"
  4373. top: "conv4_3/3x3g32/bn"
  4374. }
  4375. layer {
  4376. name: "conv4_3/3x3g32d2"
  4377. type: "Convolution"
  4378. bottom: "conv4_3/1x1_reduce/bn"
  4379. top: "conv4_3/3x3g32d2"
  4380. param {
  4381. lr_mult: 1.0
  4382. decay_mult: 1.0
  4383. }
  4384. convolution_param {
  4385. num_output: 512
  4386. bias_term: false
  4387. pad: 2
  4388. kernel_size: 3
  4389. group: 32
  4390. stride: 1
  4391. weight_filler {
  4392. type: "msra"
  4393. }
  4394. dilation: 2
  4395. }
  4396. }
  4397. layer {
  4398. name: "conv4_3/3x3g32d2/bn"
  4399. type: "CuDNNBatchNorm"
  4400. bottom: "conv4_3/3x3g32d2"
  4401. top: "conv4_3/3x3g32d2/bn"
  4402. param {
  4403. lr_mult: 1.0
  4404. decay_mult: 0.0
  4405. }
  4406. param {
  4407. lr_mult: 1.0
  4408. decay_mult: 0.0
  4409. }
  4410. param {
  4411. lr_mult: 0.0
  4412. decay_mult: 0.0
  4413. }
  4414. param {
  4415. lr_mult: 0.0
  4416. decay_mult: 0.0
  4417. }
  4418. batch_norm_param {
  4419. frozen: false
  4420. momentum: 0.95
  4421. scale_filler {
  4422. type: "constant"
  4423. value: 1.0
  4424. }
  4425. bias_filler {
  4426. type: "constant"
  4427. value: 0.0
  4428. }
  4429. }
  4430. }
  4431. layer {
  4432. name: "conv4_3/3x3g32d2/relu"
  4433. type: "ReLU"
  4434. bottom: "conv4_3/3x3g32d2/bn"
  4435. top: "conv4_3/3x3g32d2/bn"
  4436. }
  4437. layer {
  4438. name: "conv4_3_3x3"
  4439. type: "Eltwise"
  4440. bottom: "conv4_3/3x3g32/bn"
  4441. bottom: "conv4_3/3x3g32d2/bn"
  4442. top: "conv4_3_3x3"
  4443. eltwise_param {
  4444. operation: SUM
  4445. }
  4446. }
  4447. layer {
  4448. name: "conv4_3/B_global_pool"
  4449. type: "Pooling"
  4450. bottom: "conv4_3_3x3"
  4451. top: "conv4_3/B_global_pool"
  4452. pooling_param {
  4453. pool: AVE
  4454. engine: CAFFE
  4455. global_pooling: true
  4456. }
  4457. }
  4458. layer {
  4459. name: "conv4_3/B_fc1"
  4460. type: "Convolution"
  4461. bottom: "conv4_3/B_global_pool"
  4462. top: "conv4_3/B_fc1"
  4463. param {
  4464. lr_mult: 1.0
  4465. decay_mult: 1.0
  4466. }
  4467. convolution_param {
  4468. num_output: 32
  4469. bias_term: false
  4470. kernel_size: 1
  4471. stride: 1
  4472. weight_filler {
  4473. type: "gaussian"
  4474. std: 0.01
  4475. }
  4476. }
  4477. }
  4478. layer {
  4479. name: "conv4_3/B_fc1/bn"
  4480. type: "CuDNNBatchNorm"
  4481. bottom: "conv4_3/B_fc1"
  4482. top: "conv4_3/B_fc1/bn"
  4483. param {
  4484. lr_mult: 1.0
  4485. decay_mult: 0.0
  4486. }
  4487. param {
  4488. lr_mult: 1.0
  4489. decay_mult: 0.0
  4490. }
  4491. param {
  4492. lr_mult: 0.0
  4493. decay_mult: 0.0
  4494. }
  4495. param {
  4496. lr_mult: 0.0
  4497. decay_mult: 0.0
  4498. }
  4499. batch_norm_param {
  4500. frozen: false
  4501. momentum: 0.95
  4502. scale_filler {
  4503. type: "constant"
  4504. value: 1.0
  4505. }
  4506. bias_filler {
  4507. type: "constant"
  4508. value: 0.0
  4509. }
  4510. }
  4511. }
  4512. layer {
  4513. name: "conv4_3/B_fc1/relu"
  4514. type: "ReLU"
  4515. bottom: "conv4_3/B_fc1/bn"
  4516. top: "conv4_3/B_fc1/bn"
  4517. }
  4518. layer {
  4519. name: "conv4_3/B_fc2"
  4520. type: "Convolution"
  4521. bottom: "conv4_3/B_fc1/bn"
  4522. top: "conv4_3/B_fc2"
  4523. param {
  4524. lr_mult: 1.0
  4525. decay_mult: 1.0
  4526. }
  4527. convolution_param {
  4528. num_output: 1024
  4529. bias_term: false
  4530. kernel_size: 1
  4531. stride: 1
  4532. weight_filler {
  4533. type: "gaussian"
  4534. std: 0.01
  4535. }
  4536. }
  4537. }
  4538. layer {
  4539. name: "conv4_3/B_re"
  4540. type: "Reshape"
  4541. bottom: "conv4_3/B_fc2"
  4542. top: "conv4_3/B_re"
  4543. reshape_param {
  4544. shape {
  4545. dim: 0
  4546. dim: 2
  4547. dim: -1
  4548. dim: 0
  4549. }
  4550. }
  4551. }
  4552. layer {
  4553. name: "conv4_3/B_softmax"
  4554. type: "Softmax"
  4555. bottom: "conv4_3/B_re"
  4556. top: "conv4_3/B_softmax"
  4557. softmax_param {
  4558. axis: 1
  4559. }
  4560. }
  4561. layer {
  4562. name: "conv4_3/B_slice"
  4563. type: "Slice"
  4564. bottom: "conv4_3/B_softmax"
  4565. top: "conv4_3/B_slice0_"
  4566. top: "conv4_3/B_slice1_"
  4567. slice_param {
  4568. slice_point: 1
  4569. axis: 1
  4570. }
  4571. }
  4572. layer {
  4573. name: "conv4_3/B_slice1"
  4574. type: "Reshape"
  4575. bottom: "conv4_3/B_slice1_"
  4576. top: "conv4_3/B_slice1"
  4577. reshape_param {
  4578. shape {
  4579. dim: 0
  4580. dim: 512
  4581. dim: -1
  4582. dim: 0
  4583. }
  4584. }
  4585. }
  4586. layer {
  4587. name: "conv4_3/B_slice0"
  4588. type: "Reshape"
  4589. bottom: "conv4_3/B_slice0_"
  4590. top: "conv4_3/B_slice0"
  4591. reshape_param {
  4592. shape {
  4593. dim: 0
  4594. dim: 512
  4595. dim: -1
  4596. dim: 0
  4597. }
  4598. }
  4599. }
  4600. layer {
  4601. name: "conv4_3/B_w0/reshape"
  4602. type: "Reshape"
  4603. bottom: "conv4_3/B_slice0"
  4604. top: "conv4_3/B_w0/reshape"
  4605. reshape_param {
  4606. shape {
  4607. dim: 0
  4608. dim: 0
  4609. }
  4610. }
  4611. }
  4612. layer {
  4613. name: "conv4_3/scale"
  4614. type: "Scale"
  4615. bottom: "conv4_3/3x3g32/bn"
  4616. bottom: "conv4_3/B_w0/reshape"
  4617. top: "conv4_3/scale"
  4618. scale_param {
  4619. axis: 0
  4620. bias_term: false
  4621. }
  4622. }
  4623. layer {
  4624. name: "conv4_3/B_axpy"
  4625. type: "Axpy"
  4626. bottom: "conv4_3/B_slice1"
  4627. bottom: "conv4_3/3x3g32d2/bn"
  4628. bottom: "conv4_3/scale"
  4629. top: "conv4_3/B_axpy"
  4630. }
  4631. layer {
  4632. name: "conv4_3/1x1_increase"
  4633. type: "Convolution"
  4634. bottom: "conv4_3/B_axpy"
  4635. top: "conv4_3/1x1_increase"
  4636. param {
  4637. lr_mult: 1.0
  4638. decay_mult: 1.0
  4639. }
  4640. convolution_param {
  4641. num_output: 1024
  4642. bias_term: false
  4643. kernel_size: 1
  4644. stride: 1
  4645. weight_filler {
  4646. type: "msra"
  4647. }
  4648. }
  4649. }
  4650. layer {
  4651. name: "conv4_3/1x1_increase/bn"
  4652. type: "CuDNNBatchNorm"
  4653. bottom: "conv4_3/1x1_increase"
  4654. top: "conv4_3/1x1_increase/bn"
  4655. param {
  4656. lr_mult: 1.0
  4657. decay_mult: 0.0
  4658. }
  4659. param {
  4660. lr_mult: 1.0
  4661. decay_mult: 0.0
  4662. }
  4663. param {
  4664. lr_mult: 0.0
  4665. decay_mult: 0.0
  4666. }
  4667. param {
  4668. lr_mult: 0.0
  4669. decay_mult: 0.0
  4670. }
  4671. batch_norm_param {
  4672. frozen: false
  4673. momentum: 0.95
  4674. scale_filler {
  4675. type: "constant"
  4676. value: 1.0
  4677. }
  4678. bias_filler {
  4679. type: "constant"
  4680. value: 0.0
  4681. }
  4682. }
  4683. }
  4684. layer {
  4685. name: "conv4_3"
  4686. type: "Eltwise"
  4687. bottom: "conv4_3/1x1_increase/bn"
  4688. bottom: "conv4_2"
  4689. top: "conv4_3"
  4690. eltwise_param {
  4691. operation: SUM
  4692. }
  4693. }
  4694. layer {
  4695. name: "conv4_3/relu"
  4696. type: "ReLU"
  4697. bottom: "conv4_3"
  4698. top: "conv4_3"
  4699. }
  4700. layer {
  4701. name: "conv4_4/1x1_reduce"
  4702. type: "Convolution"
  4703. bottom: "conv4_3"
  4704. top: "conv4_4/1x1_reduce"
  4705. param {
  4706. lr_mult: 1.0
  4707. decay_mult: 1.0
  4708. }
  4709. convolution_param {
  4710. num_output: 512
  4711. bias_term: false
  4712. kernel_size: 1
  4713. stride: 1
  4714. weight_filler {
  4715. type: "msra"
  4716. }
  4717. }
  4718. }
  4719. layer {
  4720. name: "conv4_4/1x1_reduce/bn"
  4721. type: "CuDNNBatchNorm"
  4722. bottom: "conv4_4/1x1_reduce"
  4723. top: "conv4_4/1x1_reduce/bn"
  4724. param {
  4725. lr_mult: 1.0
  4726. decay_mult: 0.0
  4727. }
  4728. param {
  4729. lr_mult: 1.0
  4730. decay_mult: 0.0
  4731. }
  4732. param {
  4733. lr_mult: 0.0
  4734. decay_mult: 0.0
  4735. }
  4736. param {
  4737. lr_mult: 0.0
  4738. decay_mult: 0.0
  4739. }
  4740. batch_norm_param {
  4741. frozen: false
  4742. momentum: 0.95
  4743. scale_filler {
  4744. type: "constant"
  4745. value: 1.0
  4746. }
  4747. bias_filler {
  4748. type: "constant"
  4749. value: 0.0
  4750. }
  4751. }
  4752. }
  4753. layer {
  4754. name: "conv4_4/1x1_reduce/relu"
  4755. type: "ReLU"
  4756. bottom: "conv4_4/1x1_reduce/bn"
  4757. top: "conv4_4/1x1_reduce/bn"
  4758. }
  4759. layer {
  4760. name: "conv4_4/3x3g32"
  4761. type: "Convolution"
  4762. bottom: "conv4_4/1x1_reduce/bn"
  4763. top: "conv4_4/3x3g32"
  4764. param {
  4765. lr_mult: 1.0
  4766. decay_mult: 1.0
  4767. }
  4768. convolution_param {
  4769. num_output: 512
  4770. bias_term: false
  4771. pad: 1
  4772. kernel_size: 3
  4773. group: 32
  4774. stride: 1
  4775. weight_filler {
  4776. type: "msra"
  4777. }
  4778. }
  4779. }
  4780. layer {
  4781. name: "conv4_4/3x3g32/bn"
  4782. type: "CuDNNBatchNorm"
  4783. bottom: "conv4_4/3x3g32"
  4784. top: "conv4_4/3x3g32/bn"
  4785. param {
  4786. lr_mult: 1.0
  4787. decay_mult: 0.0
  4788. }
  4789. param {
  4790. lr_mult: 1.0
  4791. decay_mult: 0.0
  4792. }
  4793. param {
  4794. lr_mult: 0.0
  4795. decay_mult: 0.0
  4796. }
  4797. param {
  4798. lr_mult: 0.0
  4799. decay_mult: 0.0
  4800. }
  4801. batch_norm_param {
  4802. frozen: false
  4803. momentum: 0.95
  4804. scale_filler {
  4805. type: "constant"
  4806. value: 1.0
  4807. }
  4808. bias_filler {
  4809. type: "constant"
  4810. value: 0.0
  4811. }
  4812. }
  4813. }
  4814. layer {
  4815. name: "conv4_4/3x3g32/relu"
  4816. type: "ReLU"
  4817. bottom: "conv4_4/3x3g32/bn"
  4818. top: "conv4_4/3x3g32/bn"
  4819. }
  4820. layer {
  4821. name: "conv4_4/3x3g32d2"
  4822. type: "Convolution"
  4823. bottom: "conv4_4/1x1_reduce/bn"
  4824. top: "conv4_4/3x3g32d2"
  4825. param {
  4826. lr_mult: 1.0
  4827. decay_mult: 1.0
  4828. }
  4829. convolution_param {
  4830. num_output: 512
  4831. bias_term: false
  4832. pad: 2
  4833. kernel_size: 3
  4834. group: 32
  4835. stride: 1
  4836. weight_filler {
  4837. type: "msra"
  4838. }
  4839. dilation: 2
  4840. }
  4841. }
  4842. layer {
  4843. name: "conv4_4/3x3g32d2/bn"
  4844. type: "CuDNNBatchNorm"
  4845. bottom: "conv4_4/3x3g32d2"
  4846. top: "conv4_4/3x3g32d2/bn"
  4847. param {
  4848. lr_mult: 1.0
  4849. decay_mult: 0.0
  4850. }
  4851. param {
  4852. lr_mult: 1.0
  4853. decay_mult: 0.0
  4854. }
  4855. param {
  4856. lr_mult: 0.0
  4857. decay_mult: 0.0
  4858. }
  4859. param {
  4860. lr_mult: 0.0
  4861. decay_mult: 0.0
  4862. }
  4863. batch_norm_param {
  4864. frozen: false
  4865. momentum: 0.95
  4866. scale_filler {
  4867. type: "constant"
  4868. value: 1.0
  4869. }
  4870. bias_filler {
  4871. type: "constant"
  4872. value: 0.0
  4873. }
  4874. }
  4875. }
  4876. layer {
  4877. name: "conv4_4/3x3g32d2/relu"
  4878. type: "ReLU"
  4879. bottom: "conv4_4/3x3g32d2/bn"
  4880. top: "conv4_4/3x3g32d2/bn"
  4881. }
  4882. layer {
  4883. name: "conv4_4_3x3"
  4884. type: "Eltwise"
  4885. bottom: "conv4_4/3x3g32/bn"
  4886. bottom: "conv4_4/3x3g32d2/bn"
  4887. top: "conv4_4_3x3"
  4888. eltwise_param {
  4889. operation: SUM
  4890. }
  4891. }
  4892. layer {
  4893. name: "conv4_4/B_global_pool"
  4894. type: "Pooling"
  4895. bottom: "conv4_4_3x3"
  4896. top: "conv4_4/B_global_pool"
  4897. pooling_param {
  4898. pool: AVE
  4899. engine: CAFFE
  4900. global_pooling: true
  4901. }
  4902. }
  4903. layer {
  4904. name: "conv4_4/B_fc1"
  4905. type: "Convolution"
  4906. bottom: "conv4_4/B_global_pool"
  4907. top: "conv4_4/B_fc1"
  4908. param {
  4909. lr_mult: 1.0
  4910. decay_mult: 1.0
  4911. }
  4912. convolution_param {
  4913. num_output: 32
  4914. bias_term: false
  4915. kernel_size: 1
  4916. stride: 1
  4917. weight_filler {
  4918. type: "gaussian"
  4919. std: 0.01
  4920. }
  4921. }
  4922. }
  4923. layer {
  4924. name: "conv4_4/B_fc1/bn"
  4925. type: "CuDNNBatchNorm"
  4926. bottom: "conv4_4/B_fc1"
  4927. top: "conv4_4/B_fc1/bn"
  4928. param {
  4929. lr_mult: 1.0
  4930. decay_mult: 0.0
  4931. }
  4932. param {
  4933. lr_mult: 1.0
  4934. decay_mult: 0.0
  4935. }
  4936. param {
  4937. lr_mult: 0.0
  4938. decay_mult: 0.0
  4939. }
  4940. param {
  4941. lr_mult: 0.0
  4942. decay_mult: 0.0
  4943. }
  4944. batch_norm_param {
  4945. frozen: false
  4946. momentum: 0.95
  4947. scale_filler {
  4948. type: "constant"
  4949. value: 1.0
  4950. }
  4951. bias_filler {
  4952. type: "constant"
  4953. value: 0.0
  4954. }
  4955. }
  4956. }
  4957. layer {
  4958. name: "conv4_4/B_fc1/relu"
  4959. type: "ReLU"
  4960. bottom: "conv4_4/B_fc1/bn"
  4961. top: "conv4_4/B_fc1/bn"
  4962. }
  4963. layer {
  4964. name: "conv4_4/B_fc2"
  4965. type: "Convolution"
  4966. bottom: "conv4_4/B_fc1/bn"
  4967. top: "conv4_4/B_fc2"
  4968. param {
  4969. lr_mult: 1.0
  4970. decay_mult: 1.0
  4971. }
  4972. convolution_param {
  4973. num_output: 1024
  4974. bias_term: false
  4975. kernel_size: 1
  4976. stride: 1
  4977. weight_filler {
  4978. type: "gaussian"
  4979. std: 0.01
  4980. }
  4981. }
  4982. }
  4983. layer {
  4984. name: "conv4_4/B_re"
  4985. type: "Reshape"
  4986. bottom: "conv4_4/B_fc2"
  4987. top: "conv4_4/B_re"
  4988. reshape_param {
  4989. shape {
  4990. dim: 0
  4991. dim: 2
  4992. dim: -1
  4993. dim: 0
  4994. }
  4995. }
  4996. }
  4997. layer {
  4998. name: "conv4_4/B_softmax"
  4999. type: "Softmax"
  5000. bottom: "conv4_4/B_re"
  5001. top: "conv4_4/B_softmax"
  5002. softmax_param {
  5003. axis: 1
  5004. }
  5005. }
  5006. layer {
  5007. name: "conv4_4/B_slice"
  5008. type: "Slice"
  5009. bottom: "conv4_4/B_softmax"
  5010. top: "conv4_4/B_slice0_"
  5011. top: "conv4_4/B_slice1_"
  5012. slice_param {
  5013. slice_point: 1
  5014. axis: 1
  5015. }
  5016. }
  5017. layer {
  5018. name: "conv4_4/B_slice1"
  5019. type: "Reshape"
  5020. bottom: "conv4_4/B_slice1_"
  5021. top: "conv4_4/B_slice1"
  5022. reshape_param {
  5023. shape {
  5024. dim: 0
  5025. dim: 512
  5026. dim: -1
  5027. dim: 0
  5028. }
  5029. }
  5030. }
  5031. layer {
  5032. name: "conv4_4/B_slice0"
  5033. type: "Reshape"
  5034. bottom: "conv4_4/B_slice0_"
  5035. top: "conv4_4/B_slice0"
  5036. reshape_param {
  5037. shape {
  5038. dim: 0
  5039. dim: 512
  5040. dim: -1
  5041. dim: 0
  5042. }
  5043. }
  5044. }
  5045. layer {
  5046. name: "conv4_4/B_w0/reshape"
  5047. type: "Reshape"
  5048. bottom: "conv4_4/B_slice0"
  5049. top: "conv4_4/B_w0/reshape"
  5050. reshape_param {
  5051. shape {
  5052. dim: 0
  5053. dim: 0
  5054. }
  5055. }
  5056. }
  5057. layer {
  5058. name: "conv4_4/scale"
  5059. type: "Scale"
  5060. bottom: "conv4_4/3x3g32/bn"
  5061. bottom: "conv4_4/B_w0/reshape"
  5062. top: "conv4_4/scale"
  5063. scale_param {
  5064. axis: 0
  5065. bias_term: false
  5066. }
  5067. }
  5068. layer {
  5069. name: "conv4_4/B_axpy"
  5070. type: "Axpy"
  5071. bottom: "conv4_4/B_slice1"
  5072. bottom: "conv4_4/3x3g32d2/bn"
  5073. bottom: "conv4_4/scale"
  5074. top: "conv4_4/B_axpy"
  5075. }
  5076. layer {
  5077. name: "conv4_4/1x1_increase"
  5078. type: "Convolution"
  5079. bottom: "conv4_4/B_axpy"
  5080. top: "conv4_4/1x1_increase"
  5081. param {
  5082. lr_mult: 1.0
  5083. decay_mult: 1.0
  5084. }
  5085. convolution_param {
  5086. num_output: 1024
  5087. bias_term: false
  5088. kernel_size: 1
  5089. stride: 1
  5090. weight_filler {
  5091. type: "msra"
  5092. }
  5093. }
  5094. }
  5095. layer {
  5096. name: "conv4_4/1x1_increase/bn"
  5097. type: "CuDNNBatchNorm"
  5098. bottom: "conv4_4/1x1_increase"
  5099. top: "conv4_4/1x1_increase/bn"
  5100. param {
  5101. lr_mult: 1.0
  5102. decay_mult: 0.0
  5103. }
  5104. param {
  5105. lr_mult: 1.0
  5106. decay_mult: 0.0
  5107. }
  5108. param {
  5109. lr_mult: 0.0
  5110. decay_mult: 0.0
  5111. }
  5112. param {
  5113. lr_mult: 0.0
  5114. decay_mult: 0.0
  5115. }
  5116. batch_norm_param {
  5117. frozen: false
  5118. momentum: 0.95
  5119. scale_filler {
  5120. type: "constant"
  5121. value: 1.0
  5122. }
  5123. bias_filler {
  5124. type: "constant"
  5125. value: 0.0
  5126. }
  5127. }
  5128. }
  5129. layer {
  5130. name: "conv4_4"
  5131. type: "Eltwise"
  5132. bottom: "conv4_4/1x1_increase/bn"
  5133. bottom: "conv4_3"
  5134. top: "conv4_4"
  5135. eltwise_param {
  5136. operation: SUM
  5137. }
  5138. }
  5139. layer {
  5140. name: "conv4_4/relu"
  5141. type: "ReLU"
  5142. bottom: "conv4_4"
  5143. top: "conv4_4"
  5144. }
  5145. layer {
  5146. name: "conv4_5/1x1_reduce"
  5147. type: "Convolution"
  5148. bottom: "conv4_4"
  5149. top: "conv4_5/1x1_reduce"
  5150. param {
  5151. lr_mult: 1.0
  5152. decay_mult: 1.0
  5153. }
  5154. convolution_param {
  5155. num_output: 512
  5156. bias_term: false
  5157. kernel_size: 1
  5158. stride: 1
  5159. weight_filler {
  5160. type: "msra"
  5161. }
  5162. }
  5163. }
  5164. layer {
  5165. name: "conv4_5/1x1_reduce/bn"
  5166. type: "CuDNNBatchNorm"
  5167. bottom: "conv4_5/1x1_reduce"
  5168. top: "conv4_5/1x1_reduce/bn"
  5169. param {
  5170. lr_mult: 1.0
  5171. decay_mult: 0.0
  5172. }
  5173. param {
  5174. lr_mult: 1.0
  5175. decay_mult: 0.0
  5176. }
  5177. param {
  5178. lr_mult: 0.0
  5179. decay_mult: 0.0
  5180. }
  5181. param {
  5182. lr_mult: 0.0
  5183. decay_mult: 0.0
  5184. }
  5185. batch_norm_param {
  5186. frozen: false
  5187. momentum: 0.95
  5188. scale_filler {
  5189. type: "constant"
  5190. value: 1.0
  5191. }
  5192. bias_filler {
  5193. type: "constant"
  5194. value: 0.0
  5195. }
  5196. }
  5197. }
  5198. layer {
  5199. name: "conv4_5/1x1_reduce/relu"
  5200. type: "ReLU"
  5201. bottom: "conv4_5/1x1_reduce/bn"
  5202. top: "conv4_5/1x1_reduce/bn"
  5203. }
  5204. layer {
  5205. name: "conv4_5/3x3g32"
  5206. type: "Convolution"
  5207. bottom: "conv4_5/1x1_reduce/bn"
  5208. top: "conv4_5/3x3g32"
  5209. param {
  5210. lr_mult: 1.0
  5211. decay_mult: 1.0
  5212. }
  5213. convolution_param {
  5214. num_output: 512
  5215. bias_term: false
  5216. pad: 1
  5217. kernel_size: 3
  5218. group: 32
  5219. stride: 1
  5220. weight_filler {
  5221. type: "msra"
  5222. }
  5223. }
  5224. }
  5225. layer {
  5226. name: "conv4_5/3x3g32/bn"
  5227. type: "CuDNNBatchNorm"
  5228. bottom: "conv4_5/3x3g32"
  5229. top: "conv4_5/3x3g32/bn"
  5230. param {
  5231. lr_mult: 1.0
  5232. decay_mult: 0.0
  5233. }
  5234. param {
  5235. lr_mult: 1.0
  5236. decay_mult: 0.0
  5237. }
  5238. param {
  5239. lr_mult: 0.0
  5240. decay_mult: 0.0
  5241. }
  5242. param {
  5243. lr_mult: 0.0
  5244. decay_mult: 0.0
  5245. }
  5246. batch_norm_param {
  5247. frozen: false
  5248. momentum: 0.95
  5249. scale_filler {
  5250. type: "constant"
  5251. value: 1.0
  5252. }
  5253. bias_filler {
  5254. type: "constant"
  5255. value: 0.0
  5256. }
  5257. }
  5258. }
  5259. layer {
  5260. name: "conv4_5/3x3g32/relu"
  5261. type: "ReLU"
  5262. bottom: "conv4_5/3x3g32/bn"
  5263. top: "conv4_5/3x3g32/bn"
  5264. }
  5265. layer {
  5266. name: "conv4_5/3x3g32d2"
  5267. type: "Convolution"
  5268. bottom: "conv4_5/1x1_reduce/bn"
  5269. top: "conv4_5/3x3g32d2"
  5270. param {
  5271. lr_mult: 1.0
  5272. decay_mult: 1.0
  5273. }
  5274. convolution_param {
  5275. num_output: 512
  5276. bias_term: false
  5277. pad: 2
  5278. kernel_size: 3
  5279. group: 32
  5280. stride: 1
  5281. weight_filler {
  5282. type: "msra"
  5283. }
  5284. dilation: 2
  5285. }
  5286. }
  5287. layer {
  5288. name: "conv4_5/3x3g32d2/bn"
  5289. type: "CuDNNBatchNorm"
  5290. bottom: "conv4_5/3x3g32d2"
  5291. top: "conv4_5/3x3g32d2/bn"
  5292. param {
  5293. lr_mult: 1.0
  5294. decay_mult: 0.0
  5295. }
  5296. param {
  5297. lr_mult: 1.0
  5298. decay_mult: 0.0
  5299. }
  5300. param {
  5301. lr_mult: 0.0
  5302. decay_mult: 0.0
  5303. }
  5304. param {
  5305. lr_mult: 0.0
  5306. decay_mult: 0.0
  5307. }
  5308. batch_norm_param {
  5309. frozen: false
  5310. momentum: 0.95
  5311. scale_filler {
  5312. type: "constant"
  5313. value: 1.0
  5314. }
  5315. bias_filler {
  5316. type: "constant"
  5317. value: 0.0
  5318. }
  5319. }
  5320. }
  5321. layer {
  5322. name: "conv4_5/3x3g32d2/relu"
  5323. type: "ReLU"
  5324. bottom: "conv4_5/3x3g32d2/bn"
  5325. top: "conv4_5/3x3g32d2/bn"
  5326. }
  5327. layer {
  5328. name: "conv4_5_3x3"
  5329. type: "Eltwise"
  5330. bottom: "conv4_5/3x3g32/bn"
  5331. bottom: "conv4_5/3x3g32d2/bn"
  5332. top: "conv4_5_3x3"
  5333. eltwise_param {
  5334. operation: SUM
  5335. }
  5336. }
  5337. layer {
  5338. name: "conv4_5/B_global_pool"
  5339. type: "Pooling"
  5340. bottom: "conv4_5_3x3"
  5341. top: "conv4_5/B_global_pool"
  5342. pooling_param {
  5343. pool: AVE
  5344. engine: CAFFE
  5345. global_pooling: true
  5346. }
  5347. }
  5348. layer {
  5349. name: "conv4_5/B_fc1"
  5350. type: "Convolution"
  5351. bottom: "conv4_5/B_global_pool"
  5352. top: "conv4_5/B_fc1"
  5353. param {
  5354. lr_mult: 1.0
  5355. decay_mult: 1.0
  5356. }
  5357. convolution_param {
  5358. num_output: 32
  5359. bias_term: false
  5360. kernel_size: 1
  5361. stride: 1
  5362. weight_filler {
  5363. type: "gaussian"
  5364. std: 0.01
  5365. }
  5366. }
  5367. }
  5368. layer {
  5369. name: "conv4_5/B_fc1/bn"
  5370. type: "CuDNNBatchNorm"
  5371. bottom: "conv4_5/B_fc1"
  5372. top: "conv4_5/B_fc1/bn"
  5373. param {
  5374. lr_mult: 1.0
  5375. decay_mult: 0.0
  5376. }
  5377. param {
  5378. lr_mult: 1.0
  5379. decay_mult: 0.0
  5380. }
  5381. param {
  5382. lr_mult: 0.0
  5383. decay_mult: 0.0
  5384. }
  5385. param {
  5386. lr_mult: 0.0
  5387. decay_mult: 0.0
  5388. }
  5389. batch_norm_param {
  5390. frozen: false
  5391. momentum: 0.95
  5392. scale_filler {
  5393. type: "constant"
  5394. value: 1.0
  5395. }
  5396. bias_filler {
  5397. type: "constant"
  5398. value: 0.0
  5399. }
  5400. }
  5401. }
  5402. layer {
  5403. name: "conv4_5/B_fc1/relu"
  5404. type: "ReLU"
  5405. bottom: "conv4_5/B_fc1/bn"
  5406. top: "conv4_5/B_fc1/bn"
  5407. }
  5408. layer {
  5409. name: "conv4_5/B_fc2"
  5410. type: "Convolution"
  5411. bottom: "conv4_5/B_fc1/bn"
  5412. top: "conv4_5/B_fc2"
  5413. param {
  5414. lr_mult: 1.0
  5415. decay_mult: 1.0
  5416. }
  5417. convolution_param {
  5418. num_output: 1024
  5419. bias_term: false
  5420. kernel_size: 1
  5421. stride: 1
  5422. weight_filler {
  5423. type: "gaussian"
  5424. std: 0.01
  5425. }
  5426. }
  5427. }
  5428. layer {
  5429. name: "conv4_5/B_re"
  5430. type: "Reshape"
  5431. bottom: "conv4_5/B_fc2"
  5432. top: "conv4_5/B_re"
  5433. reshape_param {
  5434. shape {
  5435. dim: 0
  5436. dim: 2
  5437. dim: -1
  5438. dim: 0
  5439. }
  5440. }
  5441. }
  5442. layer {
  5443. name: "conv4_5/B_softmax"
  5444. type: "Softmax"
  5445. bottom: "conv4_5/B_re"
  5446. top: "conv4_5/B_softmax"
  5447. softmax_param {
  5448. axis: 1
  5449. }
  5450. }
  5451. layer {
  5452. name: "conv4_5/B_slice"
  5453. type: "Slice"
  5454. bottom: "conv4_5/B_softmax"
  5455. top: "conv4_5/B_slice0_"
  5456. top: "conv4_5/B_slice1_"
  5457. slice_param {
  5458. slice_point: 1
  5459. axis: 1
  5460. }
  5461. }
  5462. layer {
  5463. name: "conv4_5/B_slice1"
  5464. type: "Reshape"
  5465. bottom: "conv4_5/B_slice1_"
  5466. top: "conv4_5/B_slice1"
  5467. reshape_param {
  5468. shape {
  5469. dim: 0
  5470. dim: 512
  5471. dim: -1
  5472. dim: 0
  5473. }
  5474. }
  5475. }
  5476. layer {
  5477. name: "conv4_5/B_slice0"
  5478. type: "Reshape"
  5479. bottom: "conv4_5/B_slice0_"
  5480. top: "conv4_5/B_slice0"
  5481. reshape_param {
  5482. shape {
  5483. dim: 0
  5484. dim: 512
  5485. dim: -1
  5486. dim: 0
  5487. }
  5488. }
  5489. }
  5490. layer {
  5491. name: "conv4_5/B_w0/reshape"
  5492. type: "Reshape"
  5493. bottom: "conv4_5/B_slice0"
  5494. top: "conv4_5/B_w0/reshape"
  5495. reshape_param {
  5496. shape {
  5497. dim: 0
  5498. dim: 0
  5499. }
  5500. }
  5501. }
  5502. layer {
  5503. name: "conv4_5/scale"
  5504. type: "Scale"
  5505. bottom: "conv4_5/3x3g32/bn"
  5506. bottom: "conv4_5/B_w0/reshape"
  5507. top: "conv4_5/scale"
  5508. scale_param {
  5509. axis: 0
  5510. bias_term: false
  5511. }
  5512. }
  5513. layer {
  5514. name: "conv4_5/B_axpy"
  5515. type: "Axpy"
  5516. bottom: "conv4_5/B_slice1"
  5517. bottom: "conv4_5/3x3g32d2/bn"
  5518. bottom: "conv4_5/scale"
  5519. top: "conv4_5/B_axpy"
  5520. }
  5521. layer {
  5522. name: "conv4_5/1x1_increase"
  5523. type: "Convolution"
  5524. bottom: "conv4_5/B_axpy"
  5525. top: "conv4_5/1x1_increase"
  5526. param {
  5527. lr_mult: 1.0
  5528. decay_mult: 1.0
  5529. }
  5530. convolution_param {
  5531. num_output: 1024
  5532. bias_term: false
  5533. kernel_size: 1
  5534. stride: 1
  5535. weight_filler {
  5536. type: "msra"
  5537. }
  5538. }
  5539. }
  5540. layer {
  5541. name: "conv4_5/1x1_increase/bn"
  5542. type: "CuDNNBatchNorm"
  5543. bottom: "conv4_5/1x1_increase"
  5544. top: "conv4_5/1x1_increase/bn"
  5545. param {
  5546. lr_mult: 1.0
  5547. decay_mult: 0.0
  5548. }
  5549. param {
  5550. lr_mult: 1.0
  5551. decay_mult: 0.0
  5552. }
  5553. param {
  5554. lr_mult: 0.0
  5555. decay_mult: 0.0
  5556. }
  5557. param {
  5558. lr_mult: 0.0
  5559. decay_mult: 0.0
  5560. }
  5561. batch_norm_param {
  5562. frozen: false
  5563. momentum: 0.95
  5564. scale_filler {
  5565. type: "constant"
  5566. value: 1.0
  5567. }
  5568. bias_filler {
  5569. type: "constant"
  5570. value: 0.0
  5571. }
  5572. }
  5573. }
  5574. layer {
  5575. name: "conv4_5"
  5576. type: "Eltwise"
  5577. bottom: "conv4_5/1x1_increase/bn"
  5578. bottom: "conv4_4"
  5579. top: "conv4_5"
  5580. eltwise_param {
  5581. operation: SUM
  5582. }
  5583. }
  5584. layer {
  5585. name: "conv4_5/relu"
  5586. type: "ReLU"
  5587. bottom: "conv4_5"
  5588. top: "conv4_5"
  5589. }
  5590. layer {
  5591. name: "conv4_6/1x1_reduce"
  5592. type: "Convolution"
  5593. bottom: "conv4_5"
  5594. top: "conv4_6/1x1_reduce"
  5595. param {
  5596. lr_mult: 1.0
  5597. decay_mult: 1.0
  5598. }
  5599. convolution_param {
  5600. num_output: 512
  5601. bias_term: false
  5602. kernel_size: 1
  5603. stride: 1
  5604. weight_filler {
  5605. type: "msra"
  5606. }
  5607. }
  5608. }
  5609. layer {
  5610. name: "conv4_6/1x1_reduce/bn"
  5611. type: "CuDNNBatchNorm"
  5612. bottom: "conv4_6/1x1_reduce"
  5613. top: "conv4_6/1x1_reduce/bn"
  5614. param {
  5615. lr_mult: 1.0
  5616. decay_mult: 0.0
  5617. }
  5618. param {
  5619. lr_mult: 1.0
  5620. decay_mult: 0.0
  5621. }
  5622. param {
  5623. lr_mult: 0.0
  5624. decay_mult: 0.0
  5625. }
  5626. param {
  5627. lr_mult: 0.0
  5628. decay_mult: 0.0
  5629. }
  5630. batch_norm_param {
  5631. frozen: false
  5632. momentum: 0.95
  5633. scale_filler {
  5634. type: "constant"
  5635. value: 1.0
  5636. }
  5637. bias_filler {
  5638. type: "constant"
  5639. value: 0.0
  5640. }
  5641. }
  5642. }
  5643. layer {
  5644. name: "conv4_6/1x1_reduce/relu"
  5645. type: "ReLU"
  5646. bottom: "conv4_6/1x1_reduce/bn"
  5647. top: "conv4_6/1x1_reduce/bn"
  5648. }
  5649. layer {
  5650. name: "conv4_6/3x3g32"
  5651. type: "Convolution"
  5652. bottom: "conv4_6/1x1_reduce/bn"
  5653. top: "conv4_6/3x3g32"
  5654. param {
  5655. lr_mult: 1.0
  5656. decay_mult: 1.0
  5657. }
  5658. convolution_param {
  5659. num_output: 512
  5660. bias_term: false
  5661. pad: 1
  5662. kernel_size: 3
  5663. group: 32
  5664. stride: 1
  5665. weight_filler {
  5666. type: "msra"
  5667. }
  5668. }
  5669. }
  5670. layer {
  5671. name: "conv4_6/3x3g32/bn"
  5672. type: "CuDNNBatchNorm"
  5673. bottom: "conv4_6/3x3g32"
  5674. top: "conv4_6/3x3g32/bn"
  5675. param {
  5676. lr_mult: 1.0
  5677. decay_mult: 0.0
  5678. }
  5679. param {
  5680. lr_mult: 1.0
  5681. decay_mult: 0.0
  5682. }
  5683. param {
  5684. lr_mult: 0.0
  5685. decay_mult: 0.0
  5686. }
  5687. param {
  5688. lr_mult: 0.0
  5689. decay_mult: 0.0
  5690. }
  5691. batch_norm_param {
  5692. frozen: false
  5693. momentum: 0.95
  5694. scale_filler {
  5695. type: "constant"
  5696. value: 1.0
  5697. }
  5698. bias_filler {
  5699. type: "constant"
  5700. value: 0.0
  5701. }
  5702. }
  5703. }
  5704. layer {
  5705. name: "conv4_6/3x3g32/relu"
  5706. type: "ReLU"
  5707. bottom: "conv4_6/3x3g32/bn"
  5708. top: "conv4_6/3x3g32/bn"
  5709. }
  5710. layer {
  5711. name: "conv4_6/3x3g32d2"
  5712. type: "Convolution"
  5713. bottom: "conv4_6/1x1_reduce/bn"
  5714. top: "conv4_6/3x3g32d2"
  5715. param {
  5716. lr_mult: 1.0
  5717. decay_mult: 1.0
  5718. }
  5719. convolution_param {
  5720. num_output: 512
  5721. bias_term: false
  5722. pad: 2
  5723. kernel_size: 3
  5724. group: 32
  5725. stride: 1
  5726. weight_filler {
  5727. type: "msra"
  5728. }
  5729. dilation: 2
  5730. }
  5731. }
  5732. layer {
  5733. name: "conv4_6/3x3g32d2/bn"
  5734. type: "CuDNNBatchNorm"
  5735. bottom: "conv4_6/3x3g32d2"
  5736. top: "conv4_6/3x3g32d2/bn"
  5737. param {
  5738. lr_mult: 1.0
  5739. decay_mult: 0.0
  5740. }
  5741. param {
  5742. lr_mult: 1.0
  5743. decay_mult: 0.0
  5744. }
  5745. param {
  5746. lr_mult: 0.0
  5747. decay_mult: 0.0
  5748. }
  5749. param {
  5750. lr_mult: 0.0
  5751. decay_mult: 0.0
  5752. }
  5753. batch_norm_param {
  5754. frozen: false
  5755. momentum: 0.95
  5756. scale_filler {
  5757. type: "constant"
  5758. value: 1.0
  5759. }
  5760. bias_filler {
  5761. type: "constant"
  5762. value: 0.0
  5763. }
  5764. }
  5765. }
  5766. layer {
  5767. name: "conv4_6/3x3g32d2/relu"
  5768. type: "ReLU"
  5769. bottom: "conv4_6/3x3g32d2/bn"
  5770. top: "conv4_6/3x3g32d2/bn"
  5771. }
  5772. layer {
  5773. name: "conv4_6_3x3"
  5774. type: "Eltwise"
  5775. bottom: "conv4_6/3x3g32/bn"
  5776. bottom: "conv4_6/3x3g32d2/bn"
  5777. top: "conv4_6_3x3"
  5778. eltwise_param {
  5779. operation: SUM
  5780. }
  5781. }
  5782. layer {
  5783. name: "conv4_6/B_global_pool"
  5784. type: "Pooling"
  5785. bottom: "conv4_6_3x3"
  5786. top: "conv4_6/B_global_pool"
  5787. pooling_param {
  5788. pool: AVE
  5789. engine: CAFFE
  5790. global_pooling: true
  5791. }
  5792. }
  5793. layer {
  5794. name: "conv4_6/B_fc1"
  5795. type: "Convolution"
  5796. bottom: "conv4_6/B_global_pool"
  5797. top: "conv4_6/B_fc1"
  5798. param {
  5799. lr_mult: 1.0
  5800. decay_mult: 1.0
  5801. }
  5802. convolution_param {
  5803. num_output: 32
  5804. bias_term: false
  5805. kernel_size: 1
  5806. stride: 1
  5807. weight_filler {
  5808. type: "gaussian"
  5809. std: 0.01
  5810. }
  5811. }
  5812. }
  5813. layer {
  5814. name: "conv4_6/B_fc1/bn"
  5815. type: "CuDNNBatchNorm"
  5816. bottom: "conv4_6/B_fc1"
  5817. top: "conv4_6/B_fc1/bn"
  5818. param {
  5819. lr_mult: 1.0
  5820. decay_mult: 0.0
  5821. }
  5822. param {
  5823. lr_mult: 1.0
  5824. decay_mult: 0.0
  5825. }
  5826. param {
  5827. lr_mult: 0.0
  5828. decay_mult: 0.0
  5829. }
  5830. param {
  5831. lr_mult: 0.0
  5832. decay_mult: 0.0
  5833. }
  5834. batch_norm_param {
  5835. frozen: false
  5836. momentum: 0.95
  5837. scale_filler {
  5838. type: "constant"
  5839. value: 1.0
  5840. }
  5841. bias_filler {
  5842. type: "constant"
  5843. value: 0.0
  5844. }
  5845. }
  5846. }
  5847. layer {
  5848. name: "conv4_6/B_fc1/relu"
  5849. type: "ReLU"
  5850. bottom: "conv4_6/B_fc1/bn"
  5851. top: "conv4_6/B_fc1/bn"
  5852. }
  5853. layer {
  5854. name: "conv4_6/B_fc2"
  5855. type: "Convolution"
  5856. bottom: "conv4_6/B_fc1/bn"
  5857. top: "conv4_6/B_fc2"
  5858. param {
  5859. lr_mult: 1.0
  5860. decay_mult: 1.0
  5861. }
  5862. convolution_param {
  5863. num_output: 1024
  5864. bias_term: false
  5865. kernel_size: 1
  5866. stride: 1
  5867. weight_filler {
  5868. type: "gaussian"
  5869. std: 0.01
  5870. }
  5871. }
  5872. }
  5873. layer {
  5874. name: "conv4_6/B_re"
  5875. type: "Reshape"
  5876. bottom: "conv4_6/B_fc2"
  5877. top: "conv4_6/B_re"
  5878. reshape_param {
  5879. shape {
  5880. dim: 0
  5881. dim: 2
  5882. dim: -1
  5883. dim: 0
  5884. }
  5885. }
  5886. }
  5887. layer {
  5888. name: "conv4_6/B_softmax"
  5889. type: "Softmax"
  5890. bottom: "conv4_6/B_re"
  5891. top: "conv4_6/B_softmax"
  5892. softmax_param {
  5893. axis: 1
  5894. }
  5895. }
  5896. layer {
  5897. name: "conv4_6/B_slice"
  5898. type: "Slice"
  5899. bottom: "conv4_6/B_softmax"
  5900. top: "conv4_6/B_slice0_"
  5901. top: "conv4_6/B_slice1_"
  5902. slice_param {
  5903. slice_point: 1
  5904. axis: 1
  5905. }
  5906. }
  5907. layer {
  5908. name: "conv4_6/B_slice1"
  5909. type: "Reshape"
  5910. bottom: "conv4_6/B_slice1_"
  5911. top: "conv4_6/B_slice1"
  5912. reshape_param {
  5913. shape {
  5914. dim: 0
  5915. dim: 512
  5916. dim: -1
  5917. dim: 0
  5918. }
  5919. }
  5920. }
  5921. layer {
  5922. name: "conv4_6/B_slice0"
  5923. type: "Reshape"
  5924. bottom: "conv4_6/B_slice0_"
  5925. top: "conv4_6/B_slice0"
  5926. reshape_param {
  5927. shape {
  5928. dim: 0
  5929. dim: 512
  5930. dim: -1
  5931. dim: 0
  5932. }
  5933. }
  5934. }
  5935. layer {
  5936. name: "conv4_6/B_w0/reshape"
  5937. type: "Reshape"
  5938. bottom: "conv4_6/B_slice0"
  5939. top: "conv4_6/B_w0/reshape"
  5940. reshape_param {
  5941. shape {
  5942. dim: 0
  5943. dim: 0
  5944. }
  5945. }
  5946. }
  5947. layer {
  5948. name: "conv4_6/scale"
  5949. type: "Scale"
  5950. bottom: "conv4_6/3x3g32/bn"
  5951. bottom: "conv4_6/B_w0/reshape"
  5952. top: "conv4_6/scale"
  5953. scale_param {
  5954. axis: 0
  5955. bias_term: false
  5956. }
  5957. }
  5958. layer {
  5959. name: "conv4_6/B_axpy"
  5960. type: "Axpy"
  5961. bottom: "conv4_6/B_slice1"
  5962. bottom: "conv4_6/3x3g32d2/bn"
  5963. bottom: "conv4_6/scale"
  5964. top: "conv4_6/B_axpy"
  5965. }
  5966. layer {
  5967. name: "conv4_6/1x1_increase"
  5968. type: "Convolution"
  5969. bottom: "conv4_6/B_axpy"
  5970. top: "conv4_6/1x1_increase"
  5971. param {
  5972. lr_mult: 1.0
  5973. decay_mult: 1.0
  5974. }
  5975. convolution_param {
  5976. num_output: 1024
  5977. bias_term: false
  5978. kernel_size: 1
  5979. stride: 1
  5980. weight_filler {
  5981. type: "msra"
  5982. }
  5983. }
  5984. }
  5985. layer {
  5986. name: "conv4_6/1x1_increase/bn"
  5987. type: "CuDNNBatchNorm"
  5988. bottom: "conv4_6/1x1_increase"
  5989. top: "conv4_6/1x1_increase/bn"
  5990. param {
  5991. lr_mult: 1.0
  5992. decay_mult: 0.0
  5993. }
  5994. param {
  5995. lr_mult: 1.0
  5996. decay_mult: 0.0
  5997. }
  5998. param {
  5999. lr_mult: 0.0
  6000. decay_mult: 0.0
  6001. }
  6002. param {
  6003. lr_mult: 0.0
  6004. decay_mult: 0.0
  6005. }
  6006. batch_norm_param {
  6007. frozen: false
  6008. momentum: 0.95
  6009. scale_filler {
  6010. type: "constant"
  6011. value: 1.0
  6012. }
  6013. bias_filler {
  6014. type: "constant"
  6015. value: 0.0
  6016. }
  6017. }
  6018. }
  6019. layer {
  6020. name: "conv4_6"
  6021. type: "Eltwise"
  6022. bottom: "conv4_6/1x1_increase/bn"
  6023. bottom: "conv4_5"
  6024. top: "conv4_6"
  6025. eltwise_param {
  6026. operation: SUM
  6027. }
  6028. }
  6029. layer {
  6030. name: "conv4_6/relu"
  6031. type: "ReLU"
  6032. bottom: "conv4_6"
  6033. top: "conv4_6"
  6034. }
  6035. layer {
  6036. name: "conv5_1/1x1_reduce"
  6037. type: "Convolution"
  6038. bottom: "conv4_6"
  6039. top: "conv5_1/1x1_reduce"
  6040. param {
  6041. lr_mult: 1.0
  6042. decay_mult: 1.0
  6043. }
  6044. convolution_param {
  6045. num_output: 1024
  6046. bias_term: false
  6047. kernel_size: 1
  6048. stride: 1
  6049. weight_filler {
  6050. type: "msra"
  6051. }
  6052. }
  6053. }
  6054. layer {
  6055. name: "conv5_1/1x1_reduce/bn"
  6056. type: "CuDNNBatchNorm"
  6057. bottom: "conv5_1/1x1_reduce"
  6058. top: "conv5_1/1x1_reduce/bn"
  6059. param {
  6060. lr_mult: 1.0
  6061. decay_mult: 0.0
  6062. }
  6063. param {
  6064. lr_mult: 1.0
  6065. decay_mult: 0.0
  6066. }
  6067. param {
  6068. lr_mult: 0.0
  6069. decay_mult: 0.0
  6070. }
  6071. param {
  6072. lr_mult: 0.0
  6073. decay_mult: 0.0
  6074. }
  6075. batch_norm_param {
  6076. frozen: false
  6077. momentum: 0.95
  6078. scale_filler {
  6079. type: "constant"
  6080. value: 1.0
  6081. }
  6082. bias_filler {
  6083. type: "constant"
  6084. value: 0.0
  6085. }
  6086. }
  6087. }
  6088. layer {
  6089. name: "conv5_1/1x1_reduce/relu"
  6090. type: "ReLU"
  6091. bottom: "conv5_1/1x1_reduce/bn"
  6092. top: "conv5_1/1x1_reduce/bn"
  6093. }
  6094. layer {
  6095. name: "conv5_1/3x3g32"
  6096. type: "Convolution"
  6097. bottom: "conv5_1/1x1_reduce/bn"
  6098. top: "conv5_1/3x3g32"
  6099. param {
  6100. lr_mult: 1.0
  6101. decay_mult: 1.0
  6102. }
  6103. convolution_param {
  6104. num_output: 1024
  6105. bias_term: false
  6106. pad: 1
  6107. kernel_size: 3
  6108. group: 32
  6109. stride: 2
  6110. weight_filler {
  6111. type: "msra"
  6112. }
  6113. }
  6114. }
  6115. layer {
  6116. name: "conv5_1/3x3g32/bn"
  6117. type: "CuDNNBatchNorm"
  6118. bottom: "conv5_1/3x3g32"
  6119. top: "conv5_1/3x3g32/bn"
  6120. param {
  6121. lr_mult: 1.0
  6122. decay_mult: 0.0
  6123. }
  6124. param {
  6125. lr_mult: 1.0
  6126. decay_mult: 0.0
  6127. }
  6128. param {
  6129. lr_mult: 0.0
  6130. decay_mult: 0.0
  6131. }
  6132. param {
  6133. lr_mult: 0.0
  6134. decay_mult: 0.0
  6135. }
  6136. batch_norm_param {
  6137. frozen: false
  6138. momentum: 0.95
  6139. scale_filler {
  6140. type: "constant"
  6141. value: 1.0
  6142. }
  6143. bias_filler {
  6144. type: "constant"
  6145. value: 0.0
  6146. }
  6147. }
  6148. }
  6149. layer {
  6150. name: "conv5_1/3x3g32/relu"
  6151. type: "ReLU"
  6152. bottom: "conv5_1/3x3g32/bn"
  6153. top: "conv5_1/3x3g32/bn"
  6154. }
  6155. layer {
  6156. name: "conv5_1/3x3g32d2"
  6157. type: "Convolution"
  6158. bottom: "conv5_1/1x1_reduce/bn"
  6159. top: "conv5_1/3x3g32d2"
  6160. param {
  6161. lr_mult: 1.0
  6162. decay_mult: 1.0
  6163. }
  6164. convolution_param {
  6165. num_output: 1024
  6166. bias_term: false
  6167. pad: 2
  6168. kernel_size: 3
  6169. group: 32
  6170. stride: 2
  6171. weight_filler {
  6172. type: "msra"
  6173. }
  6174. dilation: 2
  6175. }
  6176. }
  6177. layer {
  6178. name: "conv5_1/3x3g32d2/bn"
  6179. type: "CuDNNBatchNorm"
  6180. bottom: "conv5_1/3x3g32d2"
  6181. top: "conv5_1/3x3g32d2/bn"
  6182. param {
  6183. lr_mult: 1.0
  6184. decay_mult: 0.0
  6185. }
  6186. param {
  6187. lr_mult: 1.0
  6188. decay_mult: 0.0
  6189. }
  6190. param {
  6191. lr_mult: 0.0
  6192. decay_mult: 0.0
  6193. }
  6194. param {
  6195. lr_mult: 0.0
  6196. decay_mult: 0.0
  6197. }
  6198. batch_norm_param {
  6199. frozen: false
  6200. momentum: 0.95
  6201. scale_filler {
  6202. type: "constant"
  6203. value: 1.0
  6204. }
  6205. bias_filler {
  6206. type: "constant"
  6207. value: 0.0
  6208. }
  6209. }
  6210. }
  6211. layer {
  6212. name: "conv5_1/3x3g32d2/relu"
  6213. type: "ReLU"
  6214. bottom: "conv5_1/3x3g32d2/bn"
  6215. top: "conv5_1/3x3g32d2/bn"
  6216. }
  6217. layer {
  6218. name: "conv5_1_3x3"
  6219. type: "Eltwise"
  6220. bottom: "conv5_1/3x3g32/bn"
  6221. bottom: "conv5_1/3x3g32d2/bn"
  6222. top: "conv5_1_3x3"
  6223. eltwise_param {
  6224. operation: SUM
  6225. }
  6226. }
  6227. layer {
  6228. name: "conv5_1/B_global_pool"
  6229. type: "Pooling"
  6230. bottom: "conv5_1_3x3"
  6231. top: "conv5_1/B_global_pool"
  6232. pooling_param {
  6233. pool: AVE
  6234. engine: CAFFE
  6235. global_pooling: true
  6236. }
  6237. }
  6238. layer {
  6239. name: "conv5_1/B_fc1"
  6240. type: "Convolution"
  6241. bottom: "conv5_1/B_global_pool"
  6242. top: "conv5_1/B_fc1"
  6243. param {
  6244. lr_mult: 1.0
  6245. decay_mult: 1.0
  6246. }
  6247. convolution_param {
  6248. num_output: 64
  6249. bias_term: false
  6250. kernel_size: 1
  6251. stride: 1
  6252. weight_filler {
  6253. type: "gaussian"
  6254. std: 0.01
  6255. }
  6256. }
  6257. }
  6258. layer {
  6259. name: "conv5_1/B_fc1/bn"
  6260. type: "CuDNNBatchNorm"
  6261. bottom: "conv5_1/B_fc1"
  6262. top: "conv5_1/B_fc1/bn"
  6263. param {
  6264. lr_mult: 1.0
  6265. decay_mult: 0.0
  6266. }
  6267. param {
  6268. lr_mult: 1.0
  6269. decay_mult: 0.0
  6270. }
  6271. param {
  6272. lr_mult: 0.0
  6273. decay_mult: 0.0
  6274. }
  6275. param {
  6276. lr_mult: 0.0
  6277. decay_mult: 0.0
  6278. }
  6279. batch_norm_param {
  6280. frozen: false
  6281. momentum: 0.95
  6282. scale_filler {
  6283. type: "constant"
  6284. value: 1.0
  6285. }
  6286. bias_filler {
  6287. type: "constant"
  6288. value: 0.0
  6289. }
  6290. }
  6291. }
  6292. layer {
  6293. name: "conv5_1/B_fc1/relu"
  6294. type: "ReLU"
  6295. bottom: "conv5_1/B_fc1/bn"
  6296. top: "conv5_1/B_fc1/bn"
  6297. }
  6298. layer {
  6299. name: "conv5_1/B_fc2"
  6300. type: "Convolution"
  6301. bottom: "conv5_1/B_fc1/bn"
  6302. top: "conv5_1/B_fc2"
  6303. param {
  6304. lr_mult: 1.0
  6305. decay_mult: 1.0
  6306. }
  6307. convolution_param {
  6308. num_output: 2048
  6309. bias_term: false
  6310. kernel_size: 1
  6311. stride: 1
  6312. weight_filler {
  6313. type: "gaussian"
  6314. std: 0.01
  6315. }
  6316. }
  6317. }
  6318. layer {
  6319. name: "conv5_1/B_re"
  6320. type: "Reshape"
  6321. bottom: "conv5_1/B_fc2"
  6322. top: "conv5_1/B_re"
  6323. reshape_param {
  6324. shape {
  6325. dim: 0
  6326. dim: 2
  6327. dim: -1
  6328. dim: 0
  6329. }
  6330. }
  6331. }
  6332. layer {
  6333. name: "conv5_1/B_softmax"
  6334. type: "Softmax"
  6335. bottom: "conv5_1/B_re"
  6336. top: "conv5_1/B_softmax"
  6337. softmax_param {
  6338. axis: 1
  6339. }
  6340. }
  6341. layer {
  6342. name: "conv5_1/B_slice"
  6343. type: "Slice"
  6344. bottom: "conv5_1/B_softmax"
  6345. top: "conv5_1/B_slice0_"
  6346. top: "conv5_1/B_slice1_"
  6347. slice_param {
  6348. slice_point: 1
  6349. axis: 1
  6350. }
  6351. }
  6352. layer {
  6353. name: "conv5_1/B_slice1"
  6354. type: "Reshape"
  6355. bottom: "conv5_1/B_slice1_"
  6356. top: "conv5_1/B_slice1"
  6357. reshape_param {
  6358. shape {
  6359. dim: 0
  6360. dim: 1024
  6361. dim: -1
  6362. dim: 0
  6363. }
  6364. }
  6365. }
  6366. layer {
  6367. name: "conv5_1/B_slice0"
  6368. type: "Reshape"
  6369. bottom: "conv5_1/B_slice0_"
  6370. top: "conv5_1/B_slice0"
  6371. reshape_param {
  6372. shape {
  6373. dim: 0
  6374. dim: 1024
  6375. dim: -1
  6376. dim: 0
  6377. }
  6378. }
  6379. }
  6380. layer {
  6381. name: "conv5_1/B_w0/reshape"
  6382. type: "Reshape"
  6383. bottom: "conv5_1/B_slice0"
  6384. top: "conv5_1/B_w0/reshape"
  6385. reshape_param {
  6386. shape {
  6387. dim: 0
  6388. dim: 0
  6389. }
  6390. }
  6391. }
  6392. layer {
  6393. name: "conv5_1/scale"
  6394. type: "Scale"
  6395. bottom: "conv5_1/3x3g32/bn"
  6396. bottom: "conv5_1/B_w0/reshape"
  6397. top: "conv5_1/scale"
  6398. scale_param {
  6399. axis: 0
  6400. bias_term: false
  6401. }
  6402. }
  6403. layer {
  6404. name: "conv5_1/B_axpy"
  6405. type: "Axpy"
  6406. bottom: "conv5_1/B_slice1"
  6407. bottom: "conv5_1/3x3g32d2/bn"
  6408. bottom: "conv5_1/scale"
  6409. top: "conv5_1/B_axpy"
  6410. }
  6411. layer {
  6412. name: "conv5_1/1x1_increase"
  6413. type: "Convolution"
  6414. bottom: "conv5_1/B_axpy"
  6415. top: "conv5_1/1x1_increase"
  6416. param {
  6417. lr_mult: 1.0
  6418. decay_mult: 1.0
  6419. }
  6420. convolution_param {
  6421. num_output: 2048
  6422. bias_term: false
  6423. kernel_size: 1
  6424. stride: 1
  6425. weight_filler {
  6426. type: "msra"
  6427. }
  6428. }
  6429. }
  6430. layer {
  6431. name: "conv5_1/1x1_increase/bn"
  6432. type: "CuDNNBatchNorm"
  6433. bottom: "conv5_1/1x1_increase"
  6434. top: "conv5_1/1x1_increase/bn"
  6435. param {
  6436. lr_mult: 1.0
  6437. decay_mult: 0.0
  6438. }
  6439. param {
  6440. lr_mult: 1.0
  6441. decay_mult: 0.0
  6442. }
  6443. param {
  6444. lr_mult: 0.0
  6445. decay_mult: 0.0
  6446. }
  6447. param {
  6448. lr_mult: 0.0
  6449. decay_mult: 0.0
  6450. }
  6451. batch_norm_param {
  6452. frozen: false
  6453. momentum: 0.95
  6454. scale_filler {
  6455. type: "constant"
  6456. value: 1.0
  6457. }
  6458. bias_filler {
  6459. type: "constant"
  6460. value: 0.0
  6461. }
  6462. }
  6463. }
  6464. layer {
  6465. name: "conv5_1/1x1_proj"
  6466. type: "Convolution"
  6467. bottom: "conv4_6"
  6468. top: "conv5_1/1x1_proj"
  6469. param {
  6470. lr_mult: 1.0
  6471. decay_mult: 1.0
  6472. }
  6473. convolution_param {
  6474. num_output: 2048
  6475. bias_term: false
  6476. kernel_size: 1
  6477. stride: 2
  6478. weight_filler {
  6479. type: "msra"
  6480. }
  6481. }
  6482. }
  6483. layer {
  6484. name: "conv5_1/1x1_proj/bn"
  6485. type: "CuDNNBatchNorm"
  6486. bottom: "conv5_1/1x1_proj"
  6487. top: "conv5_1/1x1_proj/bn"
  6488. param {
  6489. lr_mult: 1.0
  6490. decay_mult: 0.0
  6491. }
  6492. param {
  6493. lr_mult: 1.0
  6494. decay_mult: 0.0
  6495. }
  6496. param {
  6497. lr_mult: 0.0
  6498. decay_mult: 0.0
  6499. }
  6500. param {
  6501. lr_mult: 0.0
  6502. decay_mult: 0.0
  6503. }
  6504. batch_norm_param {
  6505. frozen: false
  6506. momentum: 0.95
  6507. scale_filler {
  6508. type: "constant"
  6509. value: 1.0
  6510. }
  6511. bias_filler {
  6512. type: "constant"
  6513. value: 0.0
  6514. }
  6515. }
  6516. }
  6517. layer {
  6518. name: "conv5_1"
  6519. type: "Eltwise"
  6520. bottom: "conv5_1/1x1_increase/bn"
  6521. bottom: "conv5_1/1x1_proj/bn"
  6522. top: "conv5_1"
  6523. eltwise_param {
  6524. operation: SUM
  6525. }
  6526. }
  6527. layer {
  6528. name: "conv5_1/relu"
  6529. type: "ReLU"
  6530. bottom: "conv5_1"
  6531. top: "conv5_1"
  6532. }
  6533. layer {
  6534. name: "conv5_2/1x1_reduce"
  6535. type: "Convolution"
  6536. bottom: "conv5_1"
  6537. top: "conv5_2/1x1_reduce"
  6538. param {
  6539. lr_mult: 1.0
  6540. decay_mult: 1.0
  6541. }
  6542. convolution_param {
  6543. num_output: 1024
  6544. bias_term: false
  6545. kernel_size: 1
  6546. stride: 1
  6547. weight_filler {
  6548. type: "msra"
  6549. }
  6550. }
  6551. }
  6552. layer {
  6553. name: "conv5_2/1x1_reduce/bn"
  6554. type: "CuDNNBatchNorm"
  6555. bottom: "conv5_2/1x1_reduce"
  6556. top: "conv5_2/1x1_reduce/bn"
  6557. param {
  6558. lr_mult: 1.0
  6559. decay_mult: 0.0
  6560. }
  6561. param {
  6562. lr_mult: 1.0
  6563. decay_mult: 0.0
  6564. }
  6565. param {
  6566. lr_mult: 0.0
  6567. decay_mult: 0.0
  6568. }
  6569. param {
  6570. lr_mult: 0.0
  6571. decay_mult: 0.0
  6572. }
  6573. batch_norm_param {
  6574. frozen: false
  6575. momentum: 0.95
  6576. scale_filler {
  6577. type: "constant"
  6578. value: 1.0
  6579. }
  6580. bias_filler {
  6581. type: "constant"
  6582. value: 0.0
  6583. }
  6584. }
  6585. }
  6586. layer {
  6587. name: "conv5_2/1x1_reduce/relu"
  6588. type: "ReLU"
  6589. bottom: "conv5_2/1x1_reduce/bn"
  6590. top: "conv5_2/1x1_reduce/bn"
  6591. }
  6592. layer {
  6593. name: "conv5_2/3x3g32"
  6594. type: "Convolution"
  6595. bottom: "conv5_2/1x1_reduce/bn"
  6596. top: "conv5_2/3x3g32"
  6597. param {
  6598. lr_mult: 1.0
  6599. decay_mult: 1.0
  6600. }
  6601. convolution_param {
  6602. num_output: 1024
  6603. bias_term: false
  6604. pad: 1
  6605. kernel_size: 3
  6606. group: 32
  6607. stride: 1
  6608. weight_filler {
  6609. type: "msra"
  6610. }
  6611. }
  6612. }
  6613. layer {
  6614. name: "conv5_2/3x3g32/bn"
  6615. type: "CuDNNBatchNorm"
  6616. bottom: "conv5_2/3x3g32"
  6617. top: "conv5_2/3x3g32/bn"
  6618. param {
  6619. lr_mult: 1.0
  6620. decay_mult: 0.0
  6621. }
  6622. param {
  6623. lr_mult: 1.0
  6624. decay_mult: 0.0
  6625. }
  6626. param {
  6627. lr_mult: 0.0
  6628. decay_mult: 0.0
  6629. }
  6630. param {
  6631. lr_mult: 0.0
  6632. decay_mult: 0.0
  6633. }
  6634. batch_norm_param {
  6635. frozen: false
  6636. momentum: 0.95
  6637. scale_filler {
  6638. type: "constant"
  6639. value: 1.0
  6640. }
  6641. bias_filler {
  6642. type: "constant"
  6643. value: 0.0
  6644. }
  6645. }
  6646. }
  6647. layer {
  6648. name: "conv5_2/3x3g32/relu"
  6649. type: "ReLU"
  6650. bottom: "conv5_2/3x3g32/bn"
  6651. top: "conv5_2/3x3g32/bn"
  6652. }
  6653. layer {
  6654. name: "conv5_2/3x3g32d2"
  6655. type: "Convolution"
  6656. bottom: "conv5_2/1x1_reduce/bn"
  6657. top: "conv5_2/3x3g32d2"
  6658. param {
  6659. lr_mult: 1.0
  6660. decay_mult: 1.0
  6661. }
  6662. convolution_param {
  6663. num_output: 1024
  6664. bias_term: false
  6665. pad: 2
  6666. kernel_size: 3
  6667. group: 32
  6668. stride: 1
  6669. weight_filler {
  6670. type: "msra"
  6671. }
  6672. dilation: 2
  6673. }
  6674. }
  6675. layer {
  6676. name: "conv5_2/3x3g32d2/bn"
  6677. type: "CuDNNBatchNorm"
  6678. bottom: "conv5_2/3x3g32d2"
  6679. top: "conv5_2/3x3g32d2/bn"
  6680. param {
  6681. lr_mult: 1.0
  6682. decay_mult: 0.0
  6683. }
  6684. param {
  6685. lr_mult: 1.0
  6686. decay_mult: 0.0
  6687. }
  6688. param {
  6689. lr_mult: 0.0
  6690. decay_mult: 0.0
  6691. }
  6692. param {
  6693. lr_mult: 0.0
  6694. decay_mult: 0.0
  6695. }
  6696. batch_norm_param {
  6697. frozen: false
  6698. momentum: 0.95
  6699. scale_filler {
  6700. type: "constant"
  6701. value: 1.0
  6702. }
  6703. bias_filler {
  6704. type: "constant"
  6705. value: 0.0
  6706. }
  6707. }
  6708. }
  6709. layer {
  6710. name: "conv5_2/3x3g32d2/relu"
  6711. type: "ReLU"
  6712. bottom: "conv5_2/3x3g32d2/bn"
  6713. top: "conv5_2/3x3g32d2/bn"
  6714. }
  6715. layer {
  6716. name: "conv5_2_3x3"
  6717. type: "Eltwise"
  6718. bottom: "conv5_2/3x3g32/bn"
  6719. bottom: "conv5_2/3x3g32d2/bn"
  6720. top: "conv5_2_3x3"
  6721. eltwise_param {
  6722. operation: SUM
  6723. }
  6724. }
  6725. layer {
  6726. name: "conv5_2/B_global_pool"
  6727. type: "Pooling"
  6728. bottom: "conv5_2_3x3"
  6729. top: "conv5_2/B_global_pool"
  6730. pooling_param {
  6731. pool: AVE
  6732. engine: CAFFE
  6733. global_pooling: true
  6734. }
  6735. }
  6736. layer {
  6737. name: "conv5_2/B_fc1"
  6738. type: "Convolution"
  6739. bottom: "conv5_2/B_global_pool"
  6740. top: "conv5_2/B_fc1"
  6741. param {
  6742. lr_mult: 1.0
  6743. decay_mult: 1.0
  6744. }
  6745. convolution_param {
  6746. num_output: 64
  6747. bias_term: false
  6748. kernel_size: 1
  6749. stride: 1
  6750. weight_filler {
  6751. type: "gaussian"
  6752. std: 0.01
  6753. }
  6754. }
  6755. }
  6756. layer {
  6757. name: "conv5_2/B_fc1/bn"
  6758. type: "CuDNNBatchNorm"
  6759. bottom: "conv5_2/B_fc1"
  6760. top: "conv5_2/B_fc1/bn"
  6761. param {
  6762. lr_mult: 1.0
  6763. decay_mult: 0.0
  6764. }
  6765. param {
  6766. lr_mult: 1.0
  6767. decay_mult: 0.0
  6768. }
  6769. param {
  6770. lr_mult: 0.0
  6771. decay_mult: 0.0
  6772. }
  6773. param {
  6774. lr_mult: 0.0
  6775. decay_mult: 0.0
  6776. }
  6777. batch_norm_param {
  6778. frozen: false
  6779. momentum: 0.95
  6780. scale_filler {
  6781. type: "constant"
  6782. value: 1.0
  6783. }
  6784. bias_filler {
  6785. type: "constant"
  6786. value: 0.0
  6787. }
  6788. }
  6789. }
  6790. layer {
  6791. name: "conv5_2/B_fc1/relu"
  6792. type: "ReLU"
  6793. bottom: "conv5_2/B_fc1/bn"
  6794. top: "conv5_2/B_fc1/bn"
  6795. }
  6796. layer {
  6797. name: "conv5_2/B_fc2"
  6798. type: "Convolution"
  6799. bottom: "conv5_2/B_fc1/bn"
  6800. top: "conv5_2/B_fc2"
  6801. param {
  6802. lr_mult: 1.0
  6803. decay_mult: 1.0
  6804. }
  6805. convolution_param {
  6806. num_output: 2048
  6807. bias_term: false
  6808. kernel_size: 1
  6809. stride: 1
  6810. weight_filler {
  6811. type: "gaussian"
  6812. std: 0.01
  6813. }
  6814. }
  6815. }
  6816. layer {
  6817. name: "conv5_2/B_re"
  6818. type: "Reshape"
  6819. bottom: "conv5_2/B_fc2"
  6820. top: "conv5_2/B_re"
  6821. reshape_param {
  6822. shape {
  6823. dim: 0
  6824. dim: 2
  6825. dim: -1
  6826. dim: 0
  6827. }
  6828. }
  6829. }
  6830. layer {
  6831. name: "conv5_2/B_softmax"
  6832. type: "Softmax"
  6833. bottom: "conv5_2/B_re"
  6834. top: "conv5_2/B_softmax"
  6835. softmax_param {
  6836. axis: 1
  6837. }
  6838. }
  6839. layer {
  6840. name: "conv5_2/B_slice"
  6841. type: "Slice"
  6842. bottom: "conv5_2/B_softmax"
  6843. top: "conv5_2/B_slice0_"
  6844. top: "conv5_2/B_slice1_"
  6845. slice_param {
  6846. slice_point: 1
  6847. axis: 1
  6848. }
  6849. }
  6850. layer {
  6851. name: "conv5_2/B_slice1"
  6852. type: "Reshape"
  6853. bottom: "conv5_2/B_slice1_"
  6854. top: "conv5_2/B_slice1"
  6855. reshape_param {
  6856. shape {
  6857. dim: 0
  6858. dim: 1024
  6859. dim: -1
  6860. dim: 0
  6861. }
  6862. }
  6863. }
  6864. layer {
  6865. name: "conv5_2/B_slice0"
  6866. type: "Reshape"
  6867. bottom: "conv5_2/B_slice0_"
  6868. top: "conv5_2/B_slice0"
  6869. reshape_param {
  6870. shape {
  6871. dim: 0
  6872. dim: 1024
  6873. dim: -1
  6874. dim: 0
  6875. }
  6876. }
  6877. }
  6878. layer {
  6879. name: "conv5_2/B_w0/reshape"
  6880. type: "Reshape"
  6881. bottom: "conv5_2/B_slice0"
  6882. top: "conv5_2/B_w0/reshape"
  6883. reshape_param {
  6884. shape {
  6885. dim: 0
  6886. dim: 0
  6887. }
  6888. }
  6889. }
  6890. layer {
  6891. name: "conv5_2/scale"
  6892. type: "Scale"
  6893. bottom: "conv5_2/3x3g32/bn"
  6894. bottom: "conv5_2/B_w0/reshape"
  6895. top: "conv5_2/scale"
  6896. scale_param {
  6897. axis: 0
  6898. bias_term: false
  6899. }
  6900. }
  6901. layer {
  6902. name: "conv5_2/B_axpy"
  6903. type: "Axpy"
  6904. bottom: "conv5_2/B_slice1"
  6905. bottom: "conv5_2/3x3g32d2/bn"
  6906. bottom: "conv5_2/scale"
  6907. top: "conv5_2/B_axpy"
  6908. }
  6909. layer {
  6910. name: "conv5_2/1x1_increase"
  6911. type: "Convolution"
  6912. bottom: "conv5_2/B_axpy"
  6913. top: "conv5_2/1x1_increase"
  6914. param {
  6915. lr_mult: 1.0
  6916. decay_mult: 1.0
  6917. }
  6918. convolution_param {
  6919. num_output: 2048
  6920. bias_term: false
  6921. kernel_size: 1
  6922. stride: 1
  6923. weight_filler {
  6924. type: "msra"
  6925. }
  6926. }
  6927. }
  6928. layer {
  6929. name: "conv5_2/1x1_increase/bn"
  6930. type: "CuDNNBatchNorm"
  6931. bottom: "conv5_2/1x1_increase"
  6932. top: "conv5_2/1x1_increase/bn"
  6933. param {
  6934. lr_mult: 1.0
  6935. decay_mult: 0.0
  6936. }
  6937. param {
  6938. lr_mult: 1.0
  6939. decay_mult: 0.0
  6940. }
  6941. param {
  6942. lr_mult: 0.0
  6943. decay_mult: 0.0
  6944. }
  6945. param {
  6946. lr_mult: 0.0
  6947. decay_mult: 0.0
  6948. }
  6949. batch_norm_param {
  6950. frozen: false
  6951. momentum: 0.95
  6952. scale_filler {
  6953. type: "constant"
  6954. value: 1.0
  6955. }
  6956. bias_filler {
  6957. type: "constant"
  6958. value: 0.0
  6959. }
  6960. }
  6961. }
  6962. layer {
  6963. name: "conv5_2"
  6964. type: "Eltwise"
  6965. bottom: "conv5_2/1x1_increase/bn"
  6966. bottom: "conv5_1"
  6967. top: "conv5_2"
  6968. eltwise_param {
  6969. operation: SUM
  6970. }
  6971. }
  6972. layer {
  6973. name: "conv5_2/relu"
  6974. type: "ReLU"
  6975. bottom: "conv5_2"
  6976. top: "conv5_2"
  6977. }
  6978. layer {
  6979. name: "conv5_3/1x1_reduce"
  6980. type: "Convolution"
  6981. bottom: "conv5_2"
  6982. top: "conv5_3/1x1_reduce"
  6983. param {
  6984. lr_mult: 1.0
  6985. decay_mult: 1.0
  6986. }
  6987. convolution_param {
  6988. num_output: 1024
  6989. bias_term: false
  6990. kernel_size: 1
  6991. stride: 1
  6992. weight_filler {
  6993. type: "msra"
  6994. }
  6995. }
  6996. }
  6997. layer {
  6998. name: "conv5_3/1x1_reduce/bn"
  6999. type: "CuDNNBatchNorm"
  7000. bottom: "conv5_3/1x1_reduce"
  7001. top: "conv5_3/1x1_reduce/bn"
  7002. param {
  7003. lr_mult: 1.0
  7004. decay_mult: 0.0
  7005. }
  7006. param {
  7007. lr_mult: 1.0
  7008. decay_mult: 0.0
  7009. }
  7010. param {
  7011. lr_mult: 0.0
  7012. decay_mult: 0.0
  7013. }
  7014. param {
  7015. lr_mult: 0.0
  7016. decay_mult: 0.0
  7017. }
  7018. batch_norm_param {
  7019. frozen: false
  7020. momentum: 0.95
  7021. scale_filler {
  7022. type: "constant"
  7023. value: 1.0
  7024. }
  7025. bias_filler {
  7026. type: "constant"
  7027. value: 0.0
  7028. }
  7029. }
  7030. }
  7031. layer {
  7032. name: "conv5_3/1x1_reduce/relu"
  7033. type: "ReLU"
  7034. bottom: "conv5_3/1x1_reduce/bn"
  7035. top: "conv5_3/1x1_reduce/bn"
  7036. }
  7037. layer {
  7038. name: "conv5_3/3x3g32"
  7039. type: "Convolution"
  7040. bottom: "conv5_3/1x1_reduce/bn"
  7041. top: "conv5_3/3x3g32"
  7042. param {
  7043. lr_mult: 1.0
  7044. decay_mult: 1.0
  7045. }
  7046. convolution_param {
  7047. num_output: 1024
  7048. bias_term: false
  7049. pad: 1
  7050. kernel_size: 3
  7051. group: 32
  7052. stride: 1
  7053. weight_filler {
  7054. type: "msra"
  7055. }
  7056. }
  7057. }
  7058. layer {
  7059. name: "conv5_3/3x3g32/bn"
  7060. type: "CuDNNBatchNorm"
  7061. bottom: "conv5_3/3x3g32"
  7062. top: "conv5_3/3x3g32/bn"
  7063. param {
  7064. lr_mult: 1.0
  7065. decay_mult: 0.0
  7066. }
  7067. param {
  7068. lr_mult: 1.0
  7069. decay_mult: 0.0
  7070. }
  7071. param {
  7072. lr_mult: 0.0
  7073. decay_mult: 0.0
  7074. }
  7075. param {
  7076. lr_mult: 0.0
  7077. decay_mult: 0.0
  7078. }
  7079. batch_norm_param {
  7080. frozen: false
  7081. momentum: 0.95
  7082. scale_filler {
  7083. type: "constant"
  7084. value: 1.0
  7085. }
  7086. bias_filler {
  7087. type: "constant"
  7088. value: 0.0
  7089. }
  7090. }
  7091. }
  7092. layer {
  7093. name: "conv5_3/3x3g32/relu"
  7094. type: "ReLU"
  7095. bottom: "conv5_3/3x3g32/bn"
  7096. top: "conv5_3/3x3g32/bn"
  7097. }
  7098. layer {
  7099. name: "conv5_3/3x3g32d2"
  7100. type: "Convolution"
  7101. bottom: "conv5_3/1x1_reduce/bn"
  7102. top: "conv5_3/3x3g32d2"
  7103. param {
  7104. lr_mult: 1.0
  7105. decay_mult: 1.0
  7106. }
  7107. convolution_param {
  7108. num_output: 1024
  7109. bias_term: false
  7110. pad: 2
  7111. kernel_size: 3
  7112. group: 32
  7113. stride: 1
  7114. weight_filler {
  7115. type: "msra"
  7116. }
  7117. dilation: 2
  7118. }
  7119. }
  7120. layer {
  7121. name: "conv5_3/3x3g32d2/bn"
  7122. type: "CuDNNBatchNorm"
  7123. bottom: "conv5_3/3x3g32d2"
  7124. top: "conv5_3/3x3g32d2/bn"
  7125. param {
  7126. lr_mult: 1.0
  7127. decay_mult: 0.0
  7128. }
  7129. param {
  7130. lr_mult: 1.0
  7131. decay_mult: 0.0
  7132. }
  7133. param {
  7134. lr_mult: 0.0
  7135. decay_mult: 0.0
  7136. }
  7137. param {
  7138. lr_mult: 0.0
  7139. decay_mult: 0.0
  7140. }
  7141. batch_norm_param {
  7142. frozen: false
  7143. momentum: 0.95
  7144. scale_filler {
  7145. type: "constant"
  7146. value: 1.0
  7147. }
  7148. bias_filler {
  7149. type: "constant"
  7150. value: 0.0
  7151. }
  7152. }
  7153. }
  7154. layer {
  7155. name: "conv5_3/3x3g32d2/relu"
  7156. type: "ReLU"
  7157. bottom: "conv5_3/3x3g32d2/bn"
  7158. top: "conv5_3/3x3g32d2/bn"
  7159. }
  7160. layer {
  7161. name: "conv5_3_3x3"
  7162. type: "Eltwise"
  7163. bottom: "conv5_3/3x3g32/bn"
  7164. bottom: "conv5_3/3x3g32d2/bn"
  7165. top: "conv5_3_3x3"
  7166. eltwise_param {
  7167. operation: SUM
  7168. }
  7169. }
  7170. layer {
  7171. name: "conv5_3/B_global_pool"
  7172. type: "Pooling"
  7173. bottom: "conv5_3_3x3"
  7174. top: "conv5_3/B_global_pool"
  7175. pooling_param {
  7176. pool: AVE
  7177. engine: CAFFE
  7178. global_pooling: true
  7179. }
  7180. }
  7181. layer {
  7182. name: "conv5_3/B_fc1"
  7183. type: "Convolution"
  7184. bottom: "conv5_3/B_global_pool"
  7185. top: "conv5_3/B_fc1"
  7186. param {
  7187. lr_mult: 1.0
  7188. decay_mult: 1.0
  7189. }
  7190. convolution_param {
  7191. num_output: 64
  7192. bias_term: false
  7193. kernel_size: 1
  7194. stride: 1
  7195. weight_filler {
  7196. type: "gaussian"
  7197. std: 0.01
  7198. }
  7199. }
  7200. }
  7201. layer {
  7202. name: "conv5_3/B_fc1/bn"
  7203. type: "CuDNNBatchNorm"
  7204. bottom: "conv5_3/B_fc1"
  7205. top: "conv5_3/B_fc1/bn"
  7206. param {
  7207. lr_mult: 1.0
  7208. decay_mult: 0.0
  7209. }
  7210. param {
  7211. lr_mult: 1.0
  7212. decay_mult: 0.0
  7213. }
  7214. param {
  7215. lr_mult: 0.0
  7216. decay_mult: 0.0
  7217. }
  7218. param {
  7219. lr_mult: 0.0
  7220. decay_mult: 0.0
  7221. }
  7222. batch_norm_param {
  7223. frozen: false
  7224. momentum: 0.95
  7225. scale_filler {
  7226. type: "constant"
  7227. value: 1.0
  7228. }
  7229. bias_filler {
  7230. type: "constant"
  7231. value: 0.0
  7232. }
  7233. }
  7234. }
  7235. layer {
  7236. name: "conv5_3/B_fc1/relu"
  7237. type: "ReLU"
  7238. bottom: "conv5_3/B_fc1/bn"
  7239. top: "conv5_3/B_fc1/bn"
  7240. }
  7241. layer {
  7242. name: "conv5_3/B_fc2"
  7243. type: "Convolution"
  7244. bottom: "conv5_3/B_fc1/bn"
  7245. top: "conv5_3/B_fc2"
  7246. param {
  7247. lr_mult: 1.0
  7248. decay_mult: 1.0
  7249. }
  7250. convolution_param {
  7251. num_output: 2048
  7252. bias_term: false
  7253. kernel_size: 1
  7254. stride: 1
  7255. weight_filler {
  7256. type: "gaussian"
  7257. std: 0.01
  7258. }
  7259. }
  7260. }
  7261. layer {
  7262. name: "conv5_3/B_re"
  7263. type: "Reshape"
  7264. bottom: "conv5_3/B_fc2"
  7265. top: "conv5_3/B_re"
  7266. reshape_param {
  7267. shape {
  7268. dim: 0
  7269. dim: 2
  7270. dim: -1
  7271. dim: 0
  7272. }
  7273. }
  7274. }
  7275. layer {
  7276. name: "conv5_3/B_softmax"
  7277. type: "Softmax"
  7278. bottom: "conv5_3/B_re"
  7279. top: "conv5_3/B_softmax"
  7280. softmax_param {
  7281. axis: 1
  7282. }
  7283. }
  7284. layer {
  7285. name: "conv5_3/B_slice"
  7286. type: "Slice"
  7287. bottom: "conv5_3/B_softmax"
  7288. top: "conv5_3/B_slice0_"
  7289. top: "conv5_3/B_slice1_"
  7290. slice_param {
  7291. slice_point: 1
  7292. axis: 1
  7293. }
  7294. }
  7295. layer {
  7296. name: "conv5_3/B_slice1"
  7297. type: "Reshape"
  7298. bottom: "conv5_3/B_slice1_"
  7299. top: "conv5_3/B_slice1"
  7300. reshape_param {
  7301. shape {
  7302. dim: 0
  7303. dim: 1024
  7304. dim: -1
  7305. dim: 0
  7306. }
  7307. }
  7308. }
  7309. layer {
  7310. name: "conv5_3/B_slice0"
  7311. type: "Reshape"
  7312. bottom: "conv5_3/B_slice0_"
  7313. top: "conv5_3/B_slice0"
  7314. reshape_param {
  7315. shape {
  7316. dim: 0
  7317. dim: 1024
  7318. dim: -1
  7319. dim: 0
  7320. }
  7321. }
  7322. }
  7323. layer {
  7324. name: "conv5_3/B_w0/reshape"
  7325. type: "Reshape"
  7326. bottom: "conv5_3/B_slice0"
  7327. top: "conv5_3/B_w0/reshape"
  7328. reshape_param {
  7329. shape {
  7330. dim: 0
  7331. dim: 0
  7332. }
  7333. }
  7334. }
  7335. layer {
  7336. name: "conv5_3/scale"
  7337. type: "Scale"
  7338. bottom: "conv5_3/3x3g32/bn"
  7339. bottom: "conv5_3/B_w0/reshape"
  7340. top: "conv5_3/scale"
  7341. scale_param {
  7342. axis: 0
  7343. bias_term: false
  7344. }
  7345. }
  7346. layer {
  7347. name: "conv5_3/B_axpy"
  7348. type: "Axpy"
  7349. bottom: "conv5_3/B_slice1"
  7350. bottom: "conv5_3/3x3g32d2/bn"
  7351. bottom: "conv5_3/scale"
  7352. top: "conv5_3/B_axpy"
  7353. }
  7354. layer {
  7355. name: "conv5_3/1x1_increase"
  7356. type: "Convolution"
  7357. bottom: "conv5_3/B_axpy"
  7358. top: "conv5_3/1x1_increase"
  7359. param {
  7360. lr_mult: 1.0
  7361. decay_mult: 1.0
  7362. }
  7363. convolution_param {
  7364. num_output: 2048
  7365. bias_term: false
  7366. kernel_size: 1
  7367. stride: 1
  7368. weight_filler {
  7369. type: "msra"
  7370. }
  7371. }
  7372. }
  7373. layer {
  7374. name: "conv5_3/1x1_increase/bn"
  7375. type: "CuDNNBatchNorm"
  7376. bottom: "conv5_3/1x1_increase"
  7377. top: "conv5_3/1x1_increase/bn"
  7378. param {
  7379. lr_mult: 1.0
  7380. decay_mult: 0.0
  7381. }
  7382. param {
  7383. lr_mult: 1.0
  7384. decay_mult: 0.0
  7385. }
  7386. param {
  7387. lr_mult: 0.0
  7388. decay_mult: 0.0
  7389. }
  7390. param {
  7391. lr_mult: 0.0
  7392. decay_mult: 0.0
  7393. }
  7394. batch_norm_param {
  7395. frozen: false
  7396. momentum: 0.95
  7397. scale_filler {
  7398. type: "constant"
  7399. value: 1.0
  7400. }
  7401. bias_filler {
  7402. type: "constant"
  7403. value: 0.0
  7404. }
  7405. }
  7406. }
  7407. layer {
  7408. name: "conv5_3"
  7409. type: "Eltwise"
  7410. bottom: "conv5_3/1x1_increase/bn"
  7411. bottom: "conv5_2"
  7412. top: "conv5_3"
  7413. eltwise_param {
  7414. operation: SUM
  7415. }
  7416. }
  7417. layer {
  7418. name: "conv5_3/relu"
  7419. type: "ReLU"
  7420. bottom: "conv5_3"
  7421. top: "conv5_3"
  7422. }
  7423. layer {
  7424. name: "avepool/7x7"
  7425. type: "Pooling"
  7426. bottom: "conv5_3"
  7427. top: "avepool/7x7"
  7428. pooling_param {
  7429. pool: AVE
  7430. kernel_size: 7
  7431. stride: 1
  7432. }
  7433. }
  7434. layer {
  7435. name: "classifier"
  7436. type: "InnerProduct"
  7437. bottom: "avepool/7x7"
  7438. top: "classifier"
  7439. param {
  7440. lr_mult: 1.0
  7441. decay_mult: 1.0
  7442. }
  7443. param {
  7444. lr_mult: 2.0
  7445. decay_mult: 0.0
  7446. }
  7447. inner_product_param {
  7448. num_output: 1000
  7449. weight_filler {
  7450. type: "gaussian"
  7451. std: 0.01
  7452. }
  7453. bias_filler {
  7454. type: "constant"
  7455. value: 0.0
  7456. }
  7457. }
  7458. }
  7459.  
  7460. layer {
  7461. name: "loss"
  7462. type: "SoftmaxWithLoss"
  7463. bottom: "classifier"
  7464. bottom: "label"
  7465. top: "loss"
  7466. }
  7467. layer {
  7468. name: "top-1"
  7469. type: "Accuracy"
  7470. bottom: "classifier"
  7471. bottom: "label"
  7472. top: "top-1"
  7473. }
  7474. layer {
  7475. name: "top-5"
  7476. type: "Accuracy"
  7477. bottom: "classifier"
  7478. bottom: "label"
  7479. top: "top-5"
  7480. accuracy_param {
  7481. top_k: 5
  7482. }
  7483. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement