Guest User

Untitled

a guest
May 26th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 59.74 KB | None | 0 0
  1. name: "TSN_RGB_TRAIN_VAL(BN-Inception)"
  2. layer {
  3. name: "data"
  4. type: "VideoData"
  5. top: "data"
  6. top: "label"
  7. video_data_param {
  8. source: "data/ucf101_rgb_train_split_1.txt"
  9. batch_size: 32
  10. new_length: 1
  11. num_segments: 3
  12. modality: RGB
  13. shuffle: true
  14. name_pattern: "img_%05d.jpg"
  15. }
  16. transform_param{
  17. crop_size: 224
  18. mirror: true
  19. fix_crop: true
  20. more_fix_crop: true
  21. multi_scale: true
  22. max_distort: 1
  23. scale_ratios:[1,0.875,0.75, 0.66]
  24. is_flow: false
  25. mean_value: [104, 117, 123, 104, 117, 123, 104, 117, 123]
  26. }
  27. include: { phase: TRAIN }
  28. }
  29. layer {
  30. name: "data"
  31. type: "VideoData"
  32. top: "data"
  33. top: "label"
  34. video_data_param {
  35. source: "data/ucf101_rgb_val_split_1.txt"
  36. batch_size: 1
  37. new_length: 1
  38. num_segments: 3
  39. modality: RGB
  40. name_pattern: "img_%05d.jpg"
  41. }
  42. transform_param{
  43. crop_size: 224
  44. mirror: false
  45. mean_value: [104, 117, 123, 104, 117, 123, 104, 117, 123]
  46. }
  47. include: { phase: TEST }
  48. }
  49. layer { name: "reshape_data" type: "Reshape" bottom: "data" top: "reshape_data" reshape_param { shape { dim: -1 dim: 3 dim: 224 dim: 224 } } }
  50.  
  51. ####################################### conv1 #######################################
  52. layer { name: "conv1/7x7_s2" type: "Convolution" bottom: "reshape_data" top: "conv1/7x7_s2"
  53. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  54. convolution_param { num_output: 64 pad: 3 kernel_size: 7 stride: 2
  55. weight_filler { type: "xavier" }
  56. bias_filler { type: "constant" value: 0.2 } } }
  57. layer { name: "conv1/7x7_s2_bn" type: "BN" bottom: "conv1/7x7_s2" top: "conv1/7x7_s2_bn"
  58. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  59. bn_param { frozen: false slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  60. layer { name: "conv1/relu_7x7" type: "ReLU" bottom: "conv1/7x7_s2_bn" top: "conv1/7x7_s2_bn" }
  61. layer { name: "pool1/3x3_s2" type: "Pooling" bottom: "conv1/7x7_s2_bn" top: "pool1/3x3_s2"
  62. pooling_param { pool: MAX kernel_size: 3 stride: 2 } }
  63.  
  64. ####################################### conv2 #######################################
  65. layer { name: "conv2/3x3_reduce" type: "Convolution" bottom: "pool1/3x3_s2" top: "conv2/3x3_reduce"
  66. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  67. convolution_param { num_output: 64 kernel_size: 1
  68. weight_filler { type: "xavier"}
  69. bias_filler { type: "constant" value: 0.2 } } }
  70. layer { name: "conv2/3x3_reduce_bn" type: "BN" bottom: "conv2/3x3_reduce" top: "conv2/3x3_reduce_bn"
  71. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  72. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  73. layer { name: "conv2/relu_3x3_reduce" type: "ReLU" bottom: "conv2/3x3_reduce_bn" top: "conv2/3x3_reduce_bn" }
  74. layer { name: "conv2/3x3" type: "Convolution" bottom: "conv2/3x3_reduce_bn" top: "conv2/3x3"
  75. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  76. convolution_param { num_output: 192 pad: 1 kernel_size: 3
  77. weight_filler { type: "xavier"}
  78. bias_filler { type: "constant" value: 0.2 } } }
  79. layer { name: "conv2/3x3_bn" type: "BN" bottom: "conv2/3x3" top: "conv2/3x3_bn"
  80. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  81. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  82. layer { name: "conv2/relu_3x3" type: "ReLU" bottom: "conv2/3x3_bn" top: "conv2/3x3_bn" }
  83. layer { name: "pool2/3x3_s2" type: "Pooling" bottom: "conv2/3x3_bn" top: "pool2/3x3_s2"
  84. pooling_param { pool: MAX kernel_size: 3 stride: 2 } }
  85.  
  86. ####################################### inception_3a #######################################
  87. layer { name: "inception_3a/1x1" type: "Convolution" bottom: "pool2/3x3_s2" top: "inception_3a/1x1"
  88. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  89. convolution_param { num_output: 64 kernel_size: 1
  90. weight_filler { type: "xavier"}
  91. bias_filler { type: "constant" value: 0.2 } } }
  92. layer { name: "inception_3a/1x1_bn" type: "BN" bottom: "inception_3a/1x1" top: "inception_3a/1x1_bn"
  93. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  94. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  95. layer { name: "inception_3a/relu_1x1" type: "ReLU" bottom: "inception_3a/1x1_bn" top: "inception_3a/1x1_bn" }
  96. layer { name: "inception_3a/3x3_reduce" type: "Convolution" bottom: "pool2/3x3_s2" top: "inception_3a/3x3_reduce"
  97. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  98. convolution_param { num_output: 64 kernel_size: 1
  99. weight_filler { type: "xavier"}
  100. bias_filler { type: "constant" value: 0.2 } } }
  101. layer { name: "inception_3a/3x3_reduce_bn" type: "BN" bottom: "inception_3a/3x3_reduce" top: "inception_3a/3x3_reduce_bn"
  102. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  103. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  104. layer { name: "inception_3a/relu_3x3_reduce" type: "ReLU" bottom: "inception_3a/3x3_reduce_bn" top: "inception_3a/3x3_reduce_bn" }
  105. layer { name: "inception_3a/3x3" type: "Convolution" bottom: "inception_3a/3x3_reduce_bn" top: "inception_3a/3x3"
  106. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  107. convolution_param { num_output: 64 pad: 1 kernel_size: 3
  108. weight_filler { type: "xavier" }
  109. bias_filler { type: "constant" value: 0.2 } } }
  110. layer { name: "inception_3a/3x3_bn" type: "BN" bottom: "inception_3a/3x3" top: "inception_3a/3x3_bn"
  111. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  112. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  113. layer { name: "inception_3a/relu_3x3" type: "ReLU" bottom: "inception_3a/3x3_bn" top: "inception_3a/3x3_bn" }
  114. layer { name: "inception_3a/double_3x3_reduce" type: "Convolution" bottom: "pool2/3x3_s2" top: "inception_3a/double_3x3_reduce"
  115. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  116. convolution_param { num_output: 64 kernel_size: 1
  117. weight_filler { type: "xavier" }
  118. bias_filler { type: "constant" value: 0.2 } } }
  119. layer { name: "inception_3a/double_3x3_reduce_bn" type: "BN" bottom: "inception_3a/double_3x3_reduce" top: "inception_3a/double_3x3_reduce_bn"
  120. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  121. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  122. layer { name: "inception_3a/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_3a/double_3x3_reduce_bn" top: "inception_3a/double_3x3_reduce_bn" }
  123. layer { name: "inception_3a/double_3x3_1" type: "Convolution" bottom: "inception_3a/double_3x3_reduce_bn" top: "inception_3a/double_3x3_1"
  124. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  125. convolution_param { num_output: 96 pad: 1 kernel_size: 3
  126. weight_filler { type: "xavier"}
  127. bias_filler { type: "constant" value: 0.2 } } }
  128. layer { name: "inception_3a/double_3x3_1_bn" type: "BN" bottom: "inception_3a/double_3x3_1" top: "inception_3a/double_3x3_1_bn"
  129. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  130. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  131. layer { name: "inception_3a/relu_double_3x3_1" type: "ReLU" bottom: "inception_3a/double_3x3_1_bn" top: "inception_3a/double_3x3_1_bn" }
  132. layer { name: "inception_3a/double_3x3_2" type: "Convolution" bottom: "inception_3a/double_3x3_1_bn" top: "inception_3a/double_3x3_2"
  133. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  134. convolution_param { num_output: 96 pad: 1 kernel_size: 3
  135. weight_filler { type: "xavier"}
  136. bias_filler { type: "constant" value: 0.2 } } }
  137. layer { name: "inception_3a/double_3x3_2_bn" type: "BN" bottom: "inception_3a/double_3x3_2" top: "inception_3a/double_3x3_2_bn"
  138. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  139. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  140. layer { name: "inception_3a/relu_double_3x3_2" type: "ReLU" bottom: "inception_3a/double_3x3_2_bn" top: "inception_3a/double_3x3_2_bn" }
  141. layer { name: "inception_3a/pool" type: "Pooling" bottom: "pool2/3x3_s2" top: "inception_3a/pool"
  142. pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } }
  143. layer { name: "inception_3a/pool_proj" type: "Convolution" bottom: "inception_3a/pool" top: "inception_3a/pool_proj"
  144. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  145. convolution_param { num_output: 32 kernel_size: 1
  146. weight_filler { type: "xavier" }
  147. bias_filler { type: "constant" value: 0.2 } } }
  148. layer { name: "inception_3a/pool_proj_bn" type: "BN" bottom: "inception_3a/pool_proj" top: "inception_3a/pool_proj_bn"
  149. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  150. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  151. layer { name: "inception_3a/relu_pool_proj" type: "ReLU" bottom: "inception_3a/pool_proj_bn" top: "inception_3a/pool_proj_bn" }
  152. layer { name: "inception_3a/output" type: "Concat"
  153. bottom: "inception_3a/1x1_bn"
  154. bottom: "inception_3a/3x3_bn"
  155. bottom: "inception_3a/double_3x3_2_bn"
  156. bottom: "inception_3a/pool_proj_bn"
  157. top: "inception_3a/output" }
  158.  
  159. ####################################### inception_3b #######################################
  160. layer { name: "inception_3b/1x1" type: "Convolution" bottom: "inception_3a/output" top: "inception_3b/1x1"
  161. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  162. convolution_param { num_output: 64 kernel_size: 1
  163. weight_filler { type: "xavier"}
  164. bias_filler { type: "constant" value: 0.2 } } }
  165. layer { name: "inception_3b/1x1_bn" type: "BN" bottom: "inception_3b/1x1" top: "inception_3b/1x1_bn"
  166. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  167. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  168. layer { name: "inception_3b/relu_1x1" type: "ReLU" bottom: "inception_3b/1x1_bn" top: "inception_3b/1x1_bn" }
  169. layer { name: "inception_3b/3x3_reduce" type: "Convolution" bottom: "inception_3a/output" top: "inception_3b/3x3_reduce"
  170. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  171. convolution_param { num_output: 64 kernel_size: 1
  172. weight_filler { type: "xavier"}
  173. bias_filler { type: "constant" value: 0.2 } } }
  174. layer { name: "inception_3b/3x3_reduce_bn" type: "BN" bottom: "inception_3b/3x3_reduce" top: "inception_3b/3x3_reduce_bn"
  175. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  176. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  177. layer { name: "inception_3b/relu_3x3_reduce" type: "ReLU" bottom: "inception_3b/3x3_reduce_bn" top: "inception_3b/3x3_reduce_bn" }
  178. layer { name: "inception_3b/3x3" type: "Convolution" bottom: "inception_3b/3x3_reduce_bn" top: "inception_3b/3x3"
  179. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  180. convolution_param { num_output: 96 pad: 1 kernel_size: 3
  181. weight_filler { type: "xavier" }
  182. bias_filler { type: "constant" value: 0.2 } } }
  183. layer { name: "inception_3b/3x3_bn" type: "BN" bottom: "inception_3b/3x3" top: "inception_3b/3x3_bn"
  184. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  185. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  186. layer { name: "inception_3b/relu_3x3" type: "ReLU" bottom: "inception_3b/3x3_bn" top: "inception_3b/3x3_bn" }
  187. layer { name: "inception_3b/double_3x3_reduce" type: "Convolution" bottom: "inception_3a/output" top: "inception_3b/double_3x3_reduce"
  188. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  189. convolution_param { num_output: 64 kernel_size: 1
  190. weight_filler { type: "xavier" }
  191. bias_filler { type: "constant" value: 0.2 } } }
  192. layer { name: "inception_3b/double_3x3_reduce_bn" type: "BN" bottom: "inception_3b/double_3x3_reduce" top: "inception_3b/double_3x3_reduce_bn"
  193. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  194. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  195. layer { name: "inception_3b/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_3b/double_3x3_reduce_bn" top: "inception_3b/double_3x3_reduce_bn" }
  196. layer { name: "inception_3b/double_3x3_1" type: "Convolution" bottom: "inception_3b/double_3x3_reduce_bn" top: "inception_3b/double_3x3_1"
  197. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  198. convolution_param { num_output: 96 pad: 1 kernel_size: 3
  199. weight_filler { type: "xavier"}
  200. bias_filler { type: "constant" value: 0.2 } } }
  201. layer { name: "inception_3b/double_3x3_1_bn" type: "BN" bottom: "inception_3b/double_3x3_1" top: "inception_3b/double_3x3_1_bn"
  202. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  203. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  204. layer { name: "inception_3b/relu_double_3x3_1" type: "ReLU" bottom: "inception_3b/double_3x3_1_bn" top: "inception_3b/double_3x3_1_bn" }
  205. layer { name: "inception_3b/double_3x3_2" type: "Convolution" bottom: "inception_3b/double_3x3_1_bn" top: "inception_3b/double_3x3_2"
  206. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  207. convolution_param { num_output: 96 pad: 1 kernel_size: 3
  208. weight_filler { type: "xavier"}
  209. bias_filler { type: "constant" value: 0.2 } } }
  210. layer { name: "inception_3b/double_3x3_2_bn" type: "BN" bottom: "inception_3b/double_3x3_2" top: "inception_3b/double_3x3_2_bn"
  211. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  212. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  213. layer { name: "inception_3b/relu_double_3x3_2" type: "ReLU" bottom: "inception_3b/double_3x3_2_bn" top: "inception_3b/double_3x3_2_bn" }
  214. layer { name: "inception_3b/pool" type: "Pooling" bottom: "inception_3a/output" top: "inception_3b/pool"
  215. pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } }
  216. layer { name: "inception_3b/pool_proj" type: "Convolution" bottom: "inception_3b/pool" top: "inception_3b/pool_proj"
  217. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  218. convolution_param { num_output: 64 kernel_size: 1
  219. weight_filler { type: "xavier" }
  220. bias_filler { type: "constant" value: 0.2 } } }
  221. layer { name: "inception_3b/pool_proj_bn" type: "BN" bottom: "inception_3b/pool_proj" top: "inception_3b/pool_proj_bn"
  222. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  223. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  224. layer { name: "inception_3b/relu_pool_proj" type: "ReLU" bottom: "inception_3b/pool_proj_bn" top: "inception_3b/pool_proj_bn" }
  225. layer { name: "inception_3b/output" type: "Concat"
  226. bottom: "inception_3b/1x1_bn"
  227. bottom: "inception_3b/3x3_bn"
  228. bottom: "inception_3b/double_3x3_2_bn"
  229. bottom: "inception_3b/pool_proj_bn"
  230. top: "inception_3b/output" }
  231.  
  232. ####################################### inception_3c #######################################
  233. layer { name: "inception_3c/3x3_reduce" type: "Convolution" bottom: "inception_3b/output" top: "inception_3c/3x3_reduce"
  234. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  235. convolution_param { num_output: 128 kernel_size: 1
  236. weight_filler { type: "xavier"}
  237. bias_filler { type: "constant" value: 0.2 } } }
  238. layer { name: "inception_3c/3x3_reduce_bn" type: "BN" bottom: "inception_3c/3x3_reduce" top: "inception_3c/3x3_reduce_bn"
  239. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  240. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  241. layer { name: "inception_3c/relu_3x3_reduce" type: "ReLU" bottom: "inception_3c/3x3_reduce_bn" top: "inception_3c/3x3_reduce_bn" }
  242. layer { name: "inception_3c/3x3" type: "Convolution" bottom: "inception_3c/3x3_reduce_bn" top: "inception_3c/3x3"
  243. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  244. convolution_param { num_output: 160 pad: 1 kernel_size: 3 stride: 2
  245. weight_filler { type: "xavier" }
  246. bias_filler { type: "constant" value: 0.2 } } }
  247. layer { name: "inception_3c/3x3_bn" type: "BN" bottom: "inception_3c/3x3" top: "inception_3c/3x3_bn"
  248. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  249. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  250. layer { name: "inception_3c/relu_3x3" type: "ReLU" bottom: "inception_3c/3x3_bn" top: "inception_3c/3x3_bn" }
  251. layer { name: "inception_3c/double_3x3_reduce" type: "Convolution" bottom: "inception_3b/output" top: "inception_3c/double_3x3_reduce"
  252. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  253. convolution_param { num_output: 64 kernel_size: 1
  254. weight_filler { type: "xavier" }
  255. bias_filler { type: "constant" value: 0.2 } } }
  256. layer { name: "inception_3c/double_3x3_reduce_bn" type: "BN" bottom: "inception_3c/double_3x3_reduce" top: "inception_3c/double_3x3_reduce_bn"
  257. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  258. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  259. layer { name: "inception_3c/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_3c/double_3x3_reduce_bn" top: "inception_3c/double_3x3_reduce_bn" }
  260. layer { name: "inception_3c/double_3x3_1" type: "Convolution" bottom: "inception_3c/double_3x3_reduce_bn" top: "inception_3c/double_3x3_1"
  261. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  262. convolution_param { num_output: 96 pad: 1 kernel_size: 3
  263. weight_filler { type: "xavier"}
  264. bias_filler { type: "constant" value: 0.2 } } }
  265. layer { name: "inception_3c/double_3x3_1_bn" type: "BN" bottom: "inception_3c/double_3x3_1" top: "inception_3c/double_3x3_1_bn"
  266. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  267. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  268. layer { name: "inception_3c/relu_double_3x3_1" type: "ReLU" bottom: "inception_3c/double_3x3_1_bn" top: "inception_3c/double_3x3_1_bn" }
  269. layer { name: "inception_3c/double_3x3_2" type: "Convolution" bottom: "inception_3c/double_3x3_1_bn" top: "inception_3c/double_3x3_2"
  270. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  271. convolution_param { num_output: 96 pad: 1 kernel_size: 3 stride: 2
  272. weight_filler { type: "xavier"}
  273. bias_filler { type: "constant" value: 0.2 } } }
  274. layer { name: "inception_3c/double_3x3_2_bn" type: "BN" bottom: "inception_3c/double_3x3_2" top: "inception_3c/double_3x3_2_bn"
  275. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  276. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  277. layer { name: "inception_3c/relu_double_3x3_2" type: "ReLU" bottom: "inception_3c/double_3x3_2_bn" top: "inception_3c/double_3x3_2_bn" }
  278. layer { name: "inception_3c/pool" type: "Pooling" bottom: "inception_3b/output" top: "inception_3c/pool"
  279. pooling_param { pool: MAX kernel_size: 3 stride: 2 } }
  280. layer { name: "inception_3c/output" type: "Concat"
  281. bottom: "inception_3c/3x3_bn"
  282. bottom: "inception_3c/double_3x3_2_bn"
  283. bottom: "inception_3c/pool"
  284. top: "inception_3c/output" }
  285.  
  286. ####################################### inception_4a #######################################
  287. layer { name: "inception_4a/1x1" type: "Convolution" bottom: "inception_3c/output" top: "inception_4a/1x1"
  288. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  289. convolution_param { num_output: 224 kernel_size: 1
  290. weight_filler { type: "xavier"}
  291. bias_filler { type: "constant" value: 0.2 } } }
  292. layer { name: "inception_4a/1x1_bn" type: "BN" bottom: "inception_4a/1x1" top: "inception_4a/1x1_bn"
  293. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  294. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  295. layer { name: "inception_4a/relu_1x1" type: "ReLU" bottom: "inception_4a/1x1_bn" top: "inception_4a/1x1_bn" }
  296. layer { name: "inception_4a/3x3_reduce" type: "Convolution" bottom: "inception_3c/output" top: "inception_4a/3x3_reduce"
  297. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  298. convolution_param { num_output: 64 kernel_size: 1
  299. weight_filler { type: "xavier"}
  300. bias_filler { type: "constant" value: 0.2 } } }
  301. layer { name: "inception_4a/3x3_reduce_bn" type: "BN" bottom: "inception_4a/3x3_reduce" top: "inception_4a/3x3_reduce_bn"
  302. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  303. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  304. layer { name: "inception_4a/relu_3x3_reduce" type: "ReLU" bottom: "inception_4a/3x3_reduce_bn" top: "inception_4a/3x3_reduce_bn" }
  305. layer { name: "inception_4a/3x3" type: "Convolution" bottom: "inception_4a/3x3_reduce_bn" top: "inception_4a/3x3"
  306. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  307. convolution_param { num_output: 96 pad: 1 kernel_size: 3
  308. weight_filler { type: "xavier" }
  309. bias_filler { type: "constant" value: 0.2 } } }
  310. layer { name: "inception_4a/3x3_bn" type: "BN" bottom: "inception_4a/3x3" top: "inception_4a/3x3_bn"
  311. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  312. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  313. layer { name: "inception_4a/relu_3x3" type: "ReLU" bottom: "inception_4a/3x3_bn" top: "inception_4a/3x3_bn" }
  314. layer { name: "inception_4a/double_3x3_reduce" type: "Convolution" bottom: "inception_3c/output" top: "inception_4a/double_3x3_reduce"
  315. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  316. convolution_param { num_output: 96 kernel_size: 1
  317. weight_filler { type: "xavier" }
  318. bias_filler { type: "constant" value: 0.2 } } }
  319. layer { name: "inception_4a/double_3x3_reduce_bn" type: "BN" bottom: "inception_4a/double_3x3_reduce" top: "inception_4a/double_3x3_reduce_bn"
  320. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  321. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  322. layer { name: "inception_4a/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_4a/double_3x3_reduce_bn" top: "inception_4a/double_3x3_reduce_bn" }
  323. layer { name: "inception_4a/double_3x3_1" type: "Convolution" bottom: "inception_4a/double_3x3_reduce_bn" top: "inception_4a/double_3x3_1"
  324. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  325. convolution_param { num_output: 128 pad: 1 kernel_size: 3
  326. weight_filler { type: "xavier"}
  327. bias_filler { type: "constant" value: 0.2 } } }
  328. layer { name: "inception_4a/double_3x3_1_bn" type: "BN" bottom: "inception_4a/double_3x3_1" top: "inception_4a/double_3x3_1_bn"
  329. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  330. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  331. layer { name: "inception_4a/relu_double_3x3_1" type: "ReLU" bottom: "inception_4a/double_3x3_1_bn" top: "inception_4a/double_3x3_1_bn" }
  332. layer { name: "inception_4a/double_3x3_2" type: "Convolution" bottom: "inception_4a/double_3x3_1_bn" top: "inception_4a/double_3x3_2"
  333. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  334. convolution_param { num_output: 128 pad: 1 kernel_size: 3
  335. weight_filler { type: "xavier"}
  336. bias_filler { type: "constant" value: 0.2 } } }
  337. layer { name: "inception_4a/double_3x3_2_bn" type: "BN" bottom: "inception_4a/double_3x3_2" top: "inception_4a/double_3x3_2_bn"
  338. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  339. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  340. layer { name: "inception_4a/relu_double_3x3_2" type: "ReLU" bottom: "inception_4a/double_3x3_2_bn" top: "inception_4a/double_3x3_2_bn" }
  341. layer { name: "inception_4a/pool" type: "Pooling" bottom: "inception_3c/output" top: "inception_4a/pool"
  342. pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } }
  343. layer { name: "inception_4a/pool_proj" type: "Convolution" bottom: "inception_4a/pool" top: "inception_4a/pool_proj"
  344. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  345. convolution_param { num_output: 128 kernel_size: 1
  346. weight_filler { type: "xavier" }
  347. bias_filler { type: "constant" value: 0.2 } } }
  348. layer { name: "inception_4a/pool_proj_bn" type: "BN" bottom: "inception_4a/pool_proj" top: "inception_4a/pool_proj_bn"
  349. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  350. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  351. layer { name: "inception_4a/relu_pool_proj" type: "ReLU" bottom: "inception_4a/pool_proj_bn" top: "inception_4a/pool_proj_bn" }
  352. layer { name: "inception_4a/output" type: "Concat"
  353. bottom: "inception_4a/1x1_bn"
  354. bottom: "inception_4a/3x3_bn"
  355. bottom: "inception_4a/double_3x3_2_bn"
  356. bottom: "inception_4a/pool_proj_bn"
  357. top: "inception_4a/output" }
  358.  
  359. ####################################### inception_4b #######################################
  360. layer { name: "inception_4b/1x1" type: "Convolution" bottom: "inception_4a/output" top: "inception_4b/1x1"
  361. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  362. convolution_param { num_output: 192 kernel_size: 1
  363. weight_filler { type: "xavier"}
  364. bias_filler { type: "constant" value: 0.2 } } }
  365. layer { name: "inception_4b/1x1_bn" type: "BN" bottom: "inception_4b/1x1" top: "inception_4b/1x1_bn"
  366. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  367. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  368. layer { name: "inception_4b/relu_1x1" type: "ReLU" bottom: "inception_4b/1x1_bn" top: "inception_4b/1x1_bn" }
  369. layer { name: "inception_4b/3x3_reduce" type: "Convolution" bottom: "inception_4a/output" top: "inception_4b/3x3_reduce"
  370. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  371. convolution_param { num_output: 96 kernel_size: 1
  372. weight_filler { type: "xavier"}
  373. bias_filler { type: "constant" value: 0.2 } } }
  374. layer { name: "inception_4b/3x3_reduce_bn" type: "BN" bottom: "inception_4b/3x3_reduce" top: "inception_4b/3x3_reduce_bn"
  375. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  376. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  377. layer { name: "inception_4b/relu_3x3_reduce" type: "ReLU" bottom: "inception_4b/3x3_reduce_bn" top: "inception_4b/3x3_reduce_bn" }
  378. layer { name: "inception_4b/3x3" type: "Convolution" bottom: "inception_4b/3x3_reduce_bn" top: "inception_4b/3x3"
  379. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  380. convolution_param { num_output: 128 pad: 1 kernel_size: 3
  381. weight_filler { type: "xavier" }
  382. bias_filler { type: "constant" value: 0.2 } } }
  383. layer { name: "inception_4b/3x3_bn" type: "BN" bottom: "inception_4b/3x3" top: "inception_4b/3x3_bn"
  384. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  385. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  386. layer { name: "inception_4b/relu_3x3" type: "ReLU" bottom: "inception_4b/3x3_bn" top: "inception_4b/3x3_bn" }
  387. layer { name: "inception_4b/double_3x3_reduce" type: "Convolution" bottom: "inception_4a/output" top: "inception_4b/double_3x3_reduce"
  388. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  389. convolution_param { num_output: 96 kernel_size: 1
  390. weight_filler { type: "xavier" }
  391. bias_filler { type: "constant" value: 0.2 } } }
  392. layer { name: "inception_4b/double_3x3_reduce_bn" type: "BN" bottom: "inception_4b/double_3x3_reduce" top: "inception_4b/double_3x3_reduce_bn"
  393. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  394. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  395. layer { name: "inception_4b/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_4b/double_3x3_reduce_bn" top: "inception_4b/double_3x3_reduce_bn" }
  396. layer { name: "inception_4b/double_3x3_1" type: "Convolution" bottom: "inception_4b/double_3x3_reduce_bn" top: "inception_4b/double_3x3_1"
  397. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  398. convolution_param { num_output: 128 pad: 1 kernel_size: 3
  399. weight_filler { type: "xavier"}
  400. bias_filler { type: "constant" value: 0.2 } } }
  401. layer { name: "inception_4b/double_3x3_1_bn" type: "BN" bottom: "inception_4b/double_3x3_1" top: "inception_4b/double_3x3_1_bn"
  402. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  403. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  404. layer { name: "inception_4b/relu_double_3x3_1" type: "ReLU" bottom: "inception_4b/double_3x3_1_bn" top: "inception_4b/double_3x3_1_bn" }
  405. layer { name: "inception_4b/double_3x3_2" type: "Convolution" bottom: "inception_4b/double_3x3_1_bn" top: "inception_4b/double_3x3_2"
  406. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  407. convolution_param { num_output: 128 pad: 1 kernel_size: 3
  408. weight_filler { type: "xavier"}
  409. bias_filler { type: "constant" value: 0.2 } } }
  410. layer { name: "inception_4b/double_3x3_2_bn" type: "BN" bottom: "inception_4b/double_3x3_2" top: "inception_4b/double_3x3_2_bn"
  411. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  412. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  413. layer { name: "inception_4b/relu_double_3x3_2" type: "ReLU" bottom: "inception_4b/double_3x3_2_bn" top: "inception_4b/double_3x3_2_bn" }
  414. layer { name: "inception_4b/pool" type: "Pooling" bottom: "inception_4a/output" top: "inception_4b/pool"
  415. pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } }
  416. layer { name: "inception_4b/pool_proj" type: "Convolution" bottom: "inception_4b/pool" top: "inception_4b/pool_proj"
  417. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  418. convolution_param { num_output: 128 kernel_size: 1
  419. weight_filler { type: "xavier" }
  420. bias_filler { type: "constant" value: 0.2 } } }
  421. layer { name: "inception_4b/pool_proj_bn" type: "BN" bottom: "inception_4b/pool_proj" top: "inception_4b/pool_proj_bn"
  422. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  423. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  424. layer { name: "inception_4b/relu_pool_proj" type: "ReLU" bottom: "inception_4b/pool_proj_bn" top: "inception_4b/pool_proj_bn" }
  425. layer { name: "inception_4b/output" type: "Concat"
  426. bottom: "inception_4b/1x1_bn"
  427. bottom: "inception_4b/3x3_bn"
  428. bottom: "inception_4b/double_3x3_2_bn"
  429. bottom: "inception_4b/pool_proj_bn"
  430. top: "inception_4b/output" }
  431.  
  432. ####################################### inception_4c #######################################
  433. layer { name: "inception_4c/1x1" type: "Convolution" bottom: "inception_4b/output" top: "inception_4c/1x1"
  434. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  435. convolution_param { num_output: 160 kernel_size: 1
  436. weight_filler { type: "xavier"}
  437. bias_filler { type: "constant" value: 0.2 } } }
  438. layer { name: "inception_4c/1x1_bn" type: "BN" bottom: "inception_4c/1x1" top: "inception_4c/1x1_bn"
  439. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  440. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  441. layer { name: "inception_4c/relu_1x1" type: "ReLU" bottom: "inception_4c/1x1_bn" top: "inception_4c/1x1_bn" }
  442. layer { name: "inception_4c/3x3_reduce" type: "Convolution" bottom: "inception_4b/output" top: "inception_4c/3x3_reduce"
  443. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  444. convolution_param { num_output: 128 kernel_size: 1
  445. weight_filler { type: "xavier"}
  446. bias_filler { type: "constant" value: 0.2 } } }
  447. layer { name: "inception_4c/3x3_reduce_bn" type: "BN" bottom: "inception_4c/3x3_reduce" top: "inception_4c/3x3_reduce_bn"
  448. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  449. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  450. layer { name: "inception_4c/relu_3x3_reduce" type: "ReLU" bottom: "inception_4c/3x3_reduce_bn" top: "inception_4c/3x3_reduce_bn" }
  451. layer { name: "inception_4c/3x3" type: "Convolution" bottom: "inception_4c/3x3_reduce_bn" top: "inception_4c/3x3"
  452. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  453. convolution_param { num_output: 160 pad: 1 kernel_size: 3
  454. weight_filler { type: "xavier" }
  455. bias_filler { type: "constant" value: 0.2 } } }
  456. layer { name: "inception_4c/3x3_bn" type: "BN" bottom: "inception_4c/3x3" top: "inception_4c/3x3_bn"
  457. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  458. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  459. layer { name: "inception_4c/relu_3x3" type: "ReLU" bottom: "inception_4c/3x3_bn" top: "inception_4c/3x3_bn" }
  460. layer { name: "inception_4c/double_3x3_reduce" type: "Convolution" bottom: "inception_4b/output" top: "inception_4c/double_3x3_reduce"
  461. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  462. convolution_param { num_output: 128 kernel_size: 1
  463. weight_filler { type: "xavier" }
  464. bias_filler { type: "constant" value: 0.2 } } }
  465. layer { name: "inception_4c/double_3x3_reduce_bn" type: "BN" bottom: "inception_4c/double_3x3_reduce" top: "inception_4c/double_3x3_reduce_bn"
  466. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  467. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  468. layer { name: "inception_4c/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_4c/double_3x3_reduce_bn" top: "inception_4c/double_3x3_reduce_bn" }
  469. layer { name: "inception_4c/double_3x3_1" type: "Convolution" bottom: "inception_4c/double_3x3_reduce_bn" top: "inception_4c/double_3x3_1"
  470. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  471. convolution_param { num_output: 160 pad: 1 kernel_size: 3
  472. weight_filler { type: "xavier"}
  473. bias_filler { type: "constant" value: 0.2 } } }
  474. layer { name: "inception_4c/double_3x3_1_bn" type: "BN" bottom: "inception_4c/double_3x3_1" top: "inception_4c/double_3x3_1_bn"
  475. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  476. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  477. layer { name: "inception_4c/relu_double_3x3_1" type: "ReLU" bottom: "inception_4c/double_3x3_1_bn" top: "inception_4c/double_3x3_1_bn" }
  478. layer { name: "inception_4c/double_3x3_2" type: "Convolution" bottom: "inception_4c/double_3x3_1_bn" top: "inception_4c/double_3x3_2"
  479. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  480. convolution_param { num_output: 160 pad: 1 kernel_size: 3
  481. weight_filler { type: "xavier"}
  482. bias_filler { type: "constant" value: 0.2 } } }
  483. layer { name: "inception_4c/double_3x3_2_bn" type: "BN" bottom: "inception_4c/double_3x3_2" top: "inception_4c/double_3x3_2_bn"
  484. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  485. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  486. layer { name: "inception_4c/relu_double_3x3_2" type: "ReLU" bottom: "inception_4c/double_3x3_2_bn" top: "inception_4c/double_3x3_2_bn" }
  487. layer { name: "inception_4c/pool" type: "Pooling" bottom: "inception_4b/output" top: "inception_4c/pool"
  488. pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } }
  489. layer { name: "inception_4c/pool_proj" type: "Convolution" bottom: "inception_4c/pool" top: "inception_4c/pool_proj"
  490. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  491. convolution_param { num_output: 128 kernel_size: 1
  492. weight_filler { type: "xavier" }
  493. bias_filler { type: "constant" value: 0.2 } } }
  494. layer { name: "inception_4c/pool_proj_bn" type: "BN" bottom: "inception_4c/pool_proj" top: "inception_4c/pool_proj_bn"
  495. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  496. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  497. layer { name: "inception_4c/relu_pool_proj" type: "ReLU" bottom: "inception_4c/pool_proj_bn" top: "inception_4c/pool_proj_bn" }
  498. layer { name: "inception_4c/output" type: "Concat"
  499. bottom: "inception_4c/1x1_bn"
  500. bottom: "inception_4c/3x3_bn"
  501. bottom: "inception_4c/double_3x3_2_bn"
  502. bottom: "inception_4c/pool_proj_bn"
  503. top: "inception_4c/output" }
  504.  
  505. ####################################### inception_4d #######################################
  506. layer { name: "inception_4d/1x1" type: "Convolution" bottom: "inception_4c/output" top: "inception_4d/1x1"
  507. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  508. convolution_param { num_output: 96 kernel_size: 1
  509. weight_filler { type: "xavier"}
  510. bias_filler { type: "constant" value: 0.2 } } }
  511. layer { name: "inception_4d/1x1_bn" type: "BN" bottom: "inception_4d/1x1" top: "inception_4d/1x1_bn"
  512. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  513. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  514. layer { name: "inception_4d/relu_1x1" type: "ReLU" bottom: "inception_4d/1x1_bn" top: "inception_4d/1x1_bn" }
  515. layer { name: "inception_4d/3x3_reduce" type: "Convolution" bottom: "inception_4c/output" top: "inception_4d/3x3_reduce"
  516. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  517. convolution_param { num_output: 128 kernel_size: 1
  518. weight_filler { type: "xavier"}
  519. bias_filler { type: "constant" value: 0.2 } } }
  520. layer { name: "inception_4d/3x3_reduce_bn" type: "BN" bottom: "inception_4d/3x3_reduce" top: "inception_4d/3x3_reduce_bn"
  521. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  522. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  523. layer { name: "inception_4d/relu_3x3_reduce" type: "ReLU" bottom: "inception_4d/3x3_reduce_bn" top: "inception_4d/3x3_reduce_bn" }
  524. layer { name: "inception_4d/3x3" type: "Convolution" bottom: "inception_4d/3x3_reduce_bn" top: "inception_4d/3x3"
  525. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  526. convolution_param { num_output: 192 pad: 1 kernel_size: 3
  527. weight_filler { type: "xavier" }
  528. bias_filler { type: "constant" value: 0.2 } } }
  529. layer { name: "inception_4d/3x3_bn" type: "BN" bottom: "inception_4d/3x3" top: "inception_4d/3x3_bn"
  530. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  531. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  532. layer { name: "inception_4d/relu_3x3" type: "ReLU" bottom: "inception_4d/3x3_bn" top: "inception_4d/3x3_bn" }
  533. layer { name: "inception_4d/double_3x3_reduce" type: "Convolution" bottom: "inception_4c/output" top: "inception_4d/double_3x3_reduce"
  534. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  535. convolution_param { num_output: 160 kernel_size: 1
  536. weight_filler { type: "xavier" }
  537. bias_filler { type: "constant" value: 0.2 } } }
  538. layer { name: "inception_4d/double_3x3_reduce_bn" type: "BN" bottom: "inception_4d/double_3x3_reduce" top: "inception_4d/double_3x3_reduce_bn"
  539. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  540. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  541. layer { name: "inception_4d/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_4d/double_3x3_reduce_bn" top: "inception_4d/double_3x3_reduce_bn" }
  542. layer { name: "inception_4d/double_3x3_1" type: "Convolution" bottom: "inception_4d/double_3x3_reduce_bn" top: "inception_4d/double_3x3_1"
  543. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  544. convolution_param { num_output: 192 pad: 1 kernel_size: 3
  545. weight_filler { type: "xavier"}
  546. bias_filler { type: "constant" value: 0.2 } } }
  547. layer { name: "inception_4d/double_3x3_1_bn" type: "BN" bottom: "inception_4d/double_3x3_1" top: "inception_4d/double_3x3_1_bn"
  548. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  549. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  550. layer { name: "inception_4d/relu_double_3x3_1" type: "ReLU" bottom: "inception_4d/double_3x3_1_bn" top: "inception_4d/double_3x3_1_bn" }
  551. layer { name: "inception_4d/double_3x3_2" type: "Convolution" bottom: "inception_4d/double_3x3_1_bn" top: "inception_4d/double_3x3_2"
  552. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  553. convolution_param { num_output: 192 pad: 1 kernel_size: 3
  554. weight_filler { type: "xavier"}
  555. bias_filler { type: "constant" value: 0.2 } } }
  556. layer { name: "inception_4d/double_3x3_2_bn" type: "BN" bottom: "inception_4d/double_3x3_2" top: "inception_4d/double_3x3_2_bn"
  557. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  558. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  559. layer { name: "inception_4d/relu_double_3x3_2" type: "ReLU" bottom: "inception_4d/double_3x3_2_bn" top: "inception_4d/double_3x3_2_bn" }
  560. layer { name: "inception_4d/pool" type: "Pooling" bottom: "inception_4c/output" top: "inception_4d/pool"
  561. pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } }
  562. layer { name: "inception_4d/pool_proj" type: "Convolution" bottom: "inception_4d/pool" top: "inception_4d/pool_proj"
  563. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  564. convolution_param { num_output: 128 kernel_size: 1
  565. weight_filler { type: "xavier" }
  566. bias_filler { type: "constant" value: 0.2 } } }
  567. layer { name: "inception_4d/pool_proj_bn" type: "BN" bottom: "inception_4d/pool_proj" top: "inception_4d/pool_proj_bn"
  568. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  569. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  570. layer { name: "inception_4d/relu_pool_proj" type: "ReLU" bottom: "inception_4d/pool_proj_bn" top: "inception_4d/pool_proj_bn" }
  571. layer { name: "inception_4d/output" type: "Concat"
  572. bottom: "inception_4d/1x1_bn"
  573. bottom: "inception_4d/3x3_bn"
  574. bottom: "inception_4d/double_3x3_2_bn"
  575. bottom: "inception_4d/pool_proj_bn"
  576. top: "inception_4d/output" }
  577.  
  578. ####################################### inception_4e #######################################
  579. layer { name: "inception_4e/3x3_reduce" type: "Convolution" bottom: "inception_4d/output" top: "inception_4e/3x3_reduce"
  580. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  581. convolution_param { num_output: 128 kernel_size: 1
  582. weight_filler { type: "xavier"}
  583. bias_filler { type: "constant" value: 0.2 } } }
  584. layer { name: "inception_4e/3x3_reduce_bn" type: "BN" bottom: "inception_4e/3x3_reduce" top: "inception_4e/3x3_reduce_bn"
  585. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  586. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  587. layer { name: "inception_4e/relu_3x3_reduce" type: "ReLU" bottom: "inception_4e/3x3_reduce_bn" top: "inception_4e/3x3_reduce_bn" }
  588. layer { name: "inception_4e/3x3" type: "Convolution" bottom: "inception_4e/3x3_reduce_bn" top: "inception_4e/3x3"
  589. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  590. convolution_param { num_output: 192 pad: 1 kernel_size: 3 stride: 2
  591. weight_filler { type: "xavier" }
  592. bias_filler { type: "constant" value: 0.2 } } }
  593. layer { name: "inception_4e/3x3_bn" type: "BN" bottom: "inception_4e/3x3" top: "inception_4e/3x3_bn"
  594. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  595. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  596. layer { name: "inception_4e/relu_3x3" type: "ReLU" bottom: "inception_4e/3x3_bn" top: "inception_4e/3x3_bn" }
  597. layer { name: "inception_4e/double_3x3_reduce" type: "Convolution" bottom: "inception_4d/output" top: "inception_4e/double_3x3_reduce"
  598. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  599. convolution_param { num_output: 192 kernel_size: 1
  600. weight_filler { type: "xavier" }
  601. bias_filler { type: "constant" value: 0.2 } } }
  602. layer { name: "inception_4e/double_3x3_reduce_bn" type: "BN" bottom: "inception_4e/double_3x3_reduce" top: "inception_4e/double_3x3_reduce_bn"
  603. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  604. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  605. layer { name: "inception_4e/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_4e/double_3x3_reduce_bn" top: "inception_4e/double_3x3_reduce_bn" }
  606. layer { name: "inception_4e/double_3x3_1" type: "Convolution" bottom: "inception_4e/double_3x3_reduce_bn" top: "inception_4e/double_3x3_1"
  607. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  608. convolution_param { num_output: 256 pad: 1 kernel_size: 3
  609. weight_filler { type: "xavier"}
  610. bias_filler { type: "constant" value: 0.2 } } }
  611. layer { name: "inception_4e/double_3x3_1_bn" type: "BN" bottom: "inception_4e/double_3x3_1" top: "inception_4e/double_3x3_1_bn"
  612. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  613. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  614. layer { name: "inception_4e/relu_double_3x3_1" type: "ReLU" bottom: "inception_4e/double_3x3_1_bn" top: "inception_4e/double_3x3_1_bn" }
  615. layer { name: "inception_4e/double_3x3_2" type: "Convolution" bottom: "inception_4e/double_3x3_1_bn" top: "inception_4e/double_3x3_2"
  616. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  617. convolution_param { num_output: 256 pad: 1 kernel_size: 3 stride: 2
  618. weight_filler { type: "xavier"}
  619. bias_filler { type: "constant" value: 0.2 } } }
  620. layer { name: "inception_4e/double_3x3_2_bn" type: "BN" bottom: "inception_4e/double_3x3_2" top: "inception_4e/double_3x3_2_bn"
  621. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  622. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  623. layer { name: "inception_4e/relu_double_3x3_2" type: "ReLU" bottom: "inception_4e/double_3x3_2_bn" top: "inception_4e/double_3x3_2_bn" }
  624. layer { name: "inception_4e/pool" type: "Pooling" bottom: "inception_4d/output" top: "inception_4e/pool"
  625. pooling_param { pool: MAX kernel_size: 3 stride: 2 } }
  626. layer { name: "inception_4e/output" type: "Concat"
  627. bottom: "inception_4e/3x3_bn"
  628. bottom: "inception_4e/double_3x3_2_bn"
  629. bottom: "inception_4e/pool"
  630. top: "inception_4e/output" }
  631.  
  632. ####################################### inception_5a #######################################
  633. layer { name: "inception_5a/1x1" type: "Convolution" bottom: "inception_4e/output" top: "inception_5a/1x1"
  634. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  635. convolution_param { num_output: 352 kernel_size: 1
  636. weight_filler { type: "xavier"}
  637. bias_filler { type: "constant" value: 0.2 } } }
  638. layer { name: "inception_5a/1x1_bn" type: "BN" bottom: "inception_5a/1x1" top: "inception_5a/1x1_bn"
  639. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  640. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  641. layer { name: "inception_5a/relu_1x1" type: "ReLU" bottom: "inception_5a/1x1_bn" top: "inception_5a/1x1_bn" }
  642. layer { name: "inception_5a/3x3_reduce" type: "Convolution" bottom: "inception_4e/output" top: "inception_5a/3x3_reduce"
  643. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  644. convolution_param { num_output: 192 kernel_size: 1
  645. weight_filler { type: "xavier"}
  646. bias_filler { type: "constant" value: 0.2 } } }
  647. layer { name: "inception_5a/3x3_reduce_bn" type: "BN" bottom: "inception_5a/3x3_reduce" top: "inception_5a/3x3_reduce_bn"
  648. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  649. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  650. layer { name: "inception_5a/relu_3x3_reduce" type: "ReLU" bottom: "inception_5a/3x3_reduce_bn" top: "inception_5a/3x3_reduce_bn" }
  651. layer { name: "inception_5a/3x3" type: "Convolution" bottom: "inception_5a/3x3_reduce_bn" top: "inception_5a/3x3"
  652. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  653. convolution_param { num_output: 320 pad: 1 kernel_size: 3
  654. weight_filler { type: "xavier" }
  655. bias_filler { type: "constant" value: 0.2 } } }
  656. layer { name: "inception_5a/3x3_bn" type: "BN" bottom: "inception_5a/3x3" top: "inception_5a/3x3_bn"
  657. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  658. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  659. layer { name: "inception_5a/relu_3x3" type: "ReLU" bottom: "inception_5a/3x3_bn" top: "inception_5a/3x3_bn" }
  660. layer { name: "inception_5a/double_3x3_reduce" type: "Convolution" bottom: "inception_4e/output" top: "inception_5a/double_3x3_reduce"
  661. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  662. convolution_param { num_output: 160 kernel_size: 1
  663. weight_filler { type: "xavier" }
  664. bias_filler { type: "constant" value: 0.2 } } }
  665. layer { name: "inception_5a/double_3x3_reduce_bn" type: "BN" bottom: "inception_5a/double_3x3_reduce" top: "inception_5a/double_3x3_reduce_bn"
  666. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  667. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  668. layer { name: "inception_5a/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_5a/double_3x3_reduce_bn" top: "inception_5a/double_3x3_reduce_bn" }
  669. layer { name: "inception_5a/double_3x3_1" type: "Convolution" bottom: "inception_5a/double_3x3_reduce_bn" top: "inception_5a/double_3x3_1"
  670. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  671. convolution_param { num_output: 224 pad: 1 kernel_size: 3
  672. weight_filler { type: "xavier"}
  673. bias_filler { type: "constant" value: 0.2 } } }
  674. layer { name: "inception_5a/double_3x3_1_bn" type: "BN" bottom: "inception_5a/double_3x3_1" top: "inception_5a/double_3x3_1_bn"
  675. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  676. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  677. layer { name: "inception_5a/relu_double_3x3_1" type: "ReLU" bottom: "inception_5a/double_3x3_1_bn" top: "inception_5a/double_3x3_1_bn" }
  678. layer { name: "inception_5a/double_3x3_2" type: "Convolution" bottom: "inception_5a/double_3x3_1_bn" top: "inception_5a/double_3x3_2"
  679. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  680. convolution_param { num_output: 224 pad: 1 kernel_size: 3
  681. weight_filler { type: "xavier"}
  682. bias_filler { type: "constant" value: 0.2 } } }
  683. layer { name: "inception_5a/double_3x3_2_bn" type: "BN" bottom: "inception_5a/double_3x3_2" top: "inception_5a/double_3x3_2_bn"
  684. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  685. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  686. layer { name: "inception_5a/relu_double_3x3_2" type: "ReLU" bottom: "inception_5a/double_3x3_2_bn" top: "inception_5a/double_3x3_2_bn" }
  687. layer { name: "inception_5a/pool" type: "Pooling" bottom: "inception_4e/output" top: "inception_5a/pool"
  688. pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } }
  689. layer { name: "inception_5a/pool_proj" type: "Convolution" bottom: "inception_5a/pool" top: "inception_5a/pool_proj"
  690. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  691. convolution_param { num_output: 128 kernel_size: 1
  692. weight_filler { type: "xavier" }
  693. bias_filler { type: "constant" value: 0.2 } } }
  694. layer { name: "inception_5a/pool_proj_bn" type: "BN" bottom: "inception_5a/pool_proj" top: "inception_5a/pool_proj_bn"
  695. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  696. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  697. layer { name: "inception_5a/relu_pool_proj" type: "ReLU" bottom: "inception_5a/pool_proj_bn" top: "inception_5a/pool_proj_bn" }
  698. layer { name: "inception_5a/output" type: "Concat"
  699. bottom: "inception_5a/1x1_bn"
  700. bottom: "inception_5a/3x3_bn"
  701. bottom: "inception_5a/double_3x3_2_bn"
  702. bottom: "inception_5a/pool_proj_bn"
  703. top: "inception_5a/output" }
  704.  
  705. ####################################### inception_5b #######################################
  706. layer { name: "inception_5b/1x1" type: "Convolution" bottom: "inception_5a/output" top: "inception_5b/1x1"
  707. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  708. convolution_param { num_output: 352 kernel_size: 1
  709. weight_filler { type: "xavier"}
  710. bias_filler { type: "constant" value: 0.2 } } }
  711. layer { name: "inception_5b/1x1_bn" type: "BN" bottom: "inception_5b/1x1" top: "inception_5b/1x1_bn"
  712. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  713. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  714. layer { name: "inception_5b/relu_1x1" type: "ReLU" bottom: "inception_5b/1x1_bn" top: "inception_5b/1x1_bn" }
  715. layer { name: "inception_5b/3x3_reduce" type: "Convolution" bottom: "inception_5a/output" top: "inception_5b/3x3_reduce"
  716. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  717. convolution_param { num_output: 192 kernel_size: 1
  718. weight_filler { type: "xavier"}
  719. bias_filler { type: "constant" value: 0.2 } } }
  720. layer { name: "inception_5b/3x3_reduce_bn" type: "BN" bottom: "inception_5b/3x3_reduce" top: "inception_5b/3x3_reduce_bn"
  721. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  722. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  723. layer { name: "inception_5b/relu_3x3_reduce" type: "ReLU" bottom: "inception_5b/3x3_reduce_bn" top: "inception_5b/3x3_reduce_bn" }
  724. layer { name: "inception_5b/3x3" type: "Convolution" bottom: "inception_5b/3x3_reduce_bn" top: "inception_5b/3x3"
  725. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  726. convolution_param { num_output: 320 pad: 1 kernel_size: 3
  727. weight_filler { type: "xavier" }
  728. bias_filler { type: "constant" value: 0.2 } } }
  729. layer { name: "inception_5b/3x3_bn" type: "BN" bottom: "inception_5b/3x3" top: "inception_5b/3x3_bn"
  730. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  731. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  732. layer { name: "inception_5b/relu_3x3" type: "ReLU" bottom: "inception_5b/3x3_bn" top: "inception_5b/3x3_bn" }
  733. layer { name: "inception_5b/double_3x3_reduce" type: "Convolution" bottom: "inception_5a/output" top: "inception_5b/double_3x3_reduce"
  734. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  735. convolution_param { num_output: 192 kernel_size: 1
  736. weight_filler { type: "xavier" }
  737. bias_filler { type: "constant" value: 0.2 } } }
  738. layer { name: "inception_5b/double_3x3_reduce_bn" type: "BN" bottom: "inception_5b/double_3x3_reduce" top: "inception_5b/double_3x3_reduce_bn"
  739. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  740. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  741. layer { name: "inception_5b/relu_double_3x3_reduce" type: "ReLU" bottom: "inception_5b/double_3x3_reduce_bn" top: "inception_5b/double_3x3_reduce_bn" }
  742. layer { name: "inception_5b/double_3x3_1" type: "Convolution" bottom: "inception_5b/double_3x3_reduce_bn" top: "inception_5b/double_3x3_1"
  743. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  744. convolution_param { num_output: 224 pad: 1 kernel_size: 3
  745. weight_filler { type: "xavier"}
  746. bias_filler { type: "constant" value: 0.2 } } }
  747. layer { name: "inception_5b/double_3x3_1_bn" type: "BN" bottom: "inception_5b/double_3x3_1" top: "inception_5b/double_3x3_1_bn"
  748. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  749. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  750. layer { name: "inception_5b/relu_double_3x3_1" type: "ReLU" bottom: "inception_5b/double_3x3_1_bn" top: "inception_5b/double_3x3_1_bn" }
  751. layer { name: "inception_5b/double_3x3_2" type: "Convolution" bottom: "inception_5b/double_3x3_1_bn" top: "inception_5b/double_3x3_2"
  752. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  753. convolution_param { num_output: 224 pad: 1 kernel_size: 3
  754. weight_filler { type: "xavier"}
  755. bias_filler { type: "constant" value: 0.2 } } }
  756. layer { name: "inception_5b/double_3x3_2_bn" type: "BN" bottom: "inception_5b/double_3x3_2" top: "inception_5b/double_3x3_2_bn"
  757. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  758. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  759. layer { name: "inception_5b/relu_double_3x3_2" type: "ReLU" bottom: "inception_5b/double_3x3_2_bn" top: "inception_5b/double_3x3_2_bn" }
  760. layer { name: "inception_5b/pool" type: "Pooling" bottom: "inception_5a/output" top: "inception_5b/pool"
  761. pooling_param { pool: MAX kernel_size: 3 stride: 1 pad: 1 } }
  762. layer { name: "inception_5b/pool_proj" type: "Convolution" bottom: "inception_5b/pool" top: "inception_5b/pool_proj"
  763. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  764. convolution_param { num_output: 128 kernel_size: 1
  765. weight_filler { type: "xavier" }
  766. bias_filler { type: "constant" value: 0.2 } } }
  767. layer { name: "inception_5b/pool_proj_bn" type: "BN" bottom: "inception_5b/pool_proj" top: "inception_5b/pool_proj_bn"
  768. param { lr_mult: 1 decay_mult: 0 } param { lr_mult: 1 decay_mult: 0 }
  769. bn_param { frozen: true slope_filler { type: "constant" value: 1 } bias_filler { type: "constant" value: 0 } } }
  770. layer { name: "inception_5b/relu_pool_proj" type: "ReLU" bottom: "inception_5b/pool_proj_bn" top: "inception_5b/pool_proj_bn" }
  771. layer { name: "inception_5b/output" type: "Concat"
  772. bottom: "inception_5b/1x1_bn"
  773. bottom: "inception_5b/3x3_bn"
  774. bottom: "inception_5b/double_3x3_2_bn"
  775. bottom: "inception_5b/pool_proj_bn"
  776. top: "inception_5b/output" }
  777.  
  778. ####################################### global pool #######################################
  779. layer { name: "global_pool" top: "global_pool" bottom: "inception_5b/output" type: "Pooling"
  780. pooling_param { pool: AVE kernel_size: 7 stride: 1 } }
  781. layer { name: "dropout" top: "global_pool" bottom: "global_pool" type: "Dropout"
  782. dropout_param { dropout_ratio: 0.8 } }
  783.  
  784. ####################################### loss accuracy #######################################
  785. layer { name: "fc-action" type: "InnerProduct" bottom: "global_pool" top: "fc"
  786. param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 }
  787. inner_product_param { num_output: 101
  788. weight_filler { type: "gaussian" std: 0.001 }
  789. bias_filler { type: "constant" value: 0 } }}
  790. layer { name: "reshape_fc" type: "Reshape" bottom: "fc" top: "reshape_fc" reshape_param { shape { dim: [-1, 1, 3, 101] } } }
  791. layer { name: "segment_consensus" type: "Pooling" bottom: "reshape_fc" top: "pool_fusion" pooling_param { pool: AVE kernel_h: 3 kernel_w: 1 } }
  792. layer { name: "loss" type: "SoftmaxWithLoss" bottom: "pool_fusion" bottom: "label" top: "loss" softmax_param { axis: 3} }
  793. layer { name: "accuracy_top1" type: "Accuracy" bottom: "pool_fusion" bottom: "label" top: "accuracy" accuracy_param {axis:3}
  794. include { phase: TEST } }
Add Comment
Please, Sign In to add comment