[关闭]
@betasy 2017-09-03T02:41:59.000000Z 字数 11179 阅读 952

main network structures

deep-learning


VGG16: Top-5 error 9.62, Top-1 error 28.41

  1. VGG (
  2. (features): Sequential (
  3. (0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  4. (1): ReLU (inplace)
  5. (2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  6. (3): ReLU (inplace)
  7. (4): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  8. (5): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  9. (6): ReLU (inplace)
  10. (7): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  11. (8): ReLU (inplace)
  12. (9): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  13. (10): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  14. (11): ReLU (inplace)
  15. (12): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  16. (13): ReLU (inplace)
  17. (14): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  18. (15): ReLU (inplace)
  19. (16): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  20. (17): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  21. (18): ReLU (inplace)
  22. (19): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  23. (20): ReLU (inplace)
  24. (21): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  25. (22): ReLU (inplace)
  26. (23): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  27. (24): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  28. (25): ReLU (inplace)
  29. (26): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  30. (27): ReLU (inplace)
  31. (28): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  32. (29): ReLU (inplace)
  33. (30): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  34. )
  35. (classifier): Sequential (
  36. (0): Linear (25088 -> 4096)
  37. (1): ReLU (inplace)
  38. (2): Dropout (p = 0.5)
  39. (3): Linear (4096 -> 4096)
  40. (4): ReLU (inplace)
  41. (5): Dropout (p = 0.5)
  42. (6): Linear (4096 -> 1000)
  43. )
  44. )

VGG13 with batch normalization: Top-5 error 10.75, Top-1 error 30.07

  1. VGG (
  2. (features): Sequential (
  3. (0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  4. (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)
  5. (2): ReLU (inplace)
  6. (3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  7. (4): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)
  8. (5): ReLU (inplace)
  9. (6): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  10. (7): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  11. (8): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  12. (9): ReLU (inplace)
  13. (10): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  14. (11): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  15. (12): ReLU (inplace)
  16. (13): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  17. (14): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  18. (15): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  19. (16): ReLU (inplace)
  20. (17): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  21. (18): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  22. (19): ReLU (inplace)
  23. (20): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  24. (21): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  25. (22): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  26. (23): ReLU (inplace)
  27. (24): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  28. (25): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  29. (26): ReLU (inplace)
  30. (27): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  31. (28): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  32. (29): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  33. (30): ReLU (inplace)
  34. (31): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
  35. (32): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  36. (33): ReLU (inplace)
  37. (34): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))
  38. )
  39. (classifier): Sequential (
  40. (0): Linear (25088 -> 4096)
  41. (1): ReLU (inplace)
  42. (2): Dropout (p = 0.5)
  43. (3): Linear (4096 -> 4096)
  44. (4): ReLU (inplace)
  45. (5): Dropout (p = 0.5)
  46. (6): Linear (4096 -> 1000)
  47. )
  48. )

Resnet50: Top-5 error 7.13, Top-1 error 28.15

  1. ResNet (
  2. (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
  3. (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)
  4. (relu): ReLU (inplace)
  5. (maxpool): MaxPool2d (size=(3, 3), stride=(2, 2), padding=(1, 1), dilation=(1, 1))
  6. (layer1): Sequential (
  7. (0): Bottleneck (
  8. (conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
  9. (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)
  10. (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  11. (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)
  12. (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  13. (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  14. (relu): ReLU (inplace)
  15. (downsample): Sequential (
  16. (0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  17. (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  18. )
  19. )
  20. (1): Bottleneck (
  21. (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
  22. (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)
  23. (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  24. (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)
  25. (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  26. (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  27. (relu): ReLU (inplace)
  28. )
  29. (2): Bottleneck (
  30. (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
  31. (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)
  32. (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  33. (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)
  34. (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  35. (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  36. (relu): ReLU (inplace)
  37. )
  38. )
  39. (layer2): Sequential (
  40. (0): Bottleneck (
  41. (conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
  42. (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  43. (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
  44. (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  45. (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  46. (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  47. (relu): ReLU (inplace)
  48. (downsample): Sequential (
  49. (0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False)
  50. (1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  51. )
  52. )
  53. (1): Bottleneck (
  54. (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
  55. (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  56. (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  57. (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  58. (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  59. (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  60. (relu): ReLU (inplace)
  61. )
  62. (2): Bottleneck (
  63. (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
  64. (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  65. (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  66. (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  67. (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  68. (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  69. (relu): ReLU (inplace)
  70. )
  71. (3): Bottleneck (
  72. (conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
  73. (bn1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  74. (conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  75. (bn2): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)
  76. (conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  77. (bn3): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  78. (relu): ReLU (inplace)
  79. )
  80. )
  81. (layer3): Sequential (
  82. (0): Bottleneck (
  83. (conv1): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  84. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  85. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
  86. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  87. (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  88. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True)
  89. (relu): ReLU (inplace)
  90. (downsample): Sequential (
  91. (0): Conv2d(512, 1024, kernel_size=(1, 1), stride=(2, 2), bias=False)
  92. (1): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True)
  93. )
  94. )
  95. (1): Bottleneck (
  96. (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  97. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  98. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  99. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  100. (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  101. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True)
  102. (relu): ReLU (inplace)
  103. )
  104. (2): Bottleneck (
  105. (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  106. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  107. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  108. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  109. (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  110. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True)
  111. (relu): ReLU (inplace)
  112. )
  113. (3): Bottleneck (
  114. (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  115. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  116. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  117. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  118. (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  119. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True)
  120. (relu): ReLU (inplace)
  121. )
  122. (4): Bottleneck (
  123. (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  124. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  125. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  126. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  127. (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  128. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True)
  129. (relu): ReLU (inplace)
  130. )
  131. (5): Bottleneck (
  132. (conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
  133. (bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  134. (conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  135. (bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)
  136. (conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
  137. (bn3): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True)
  138. (relu): ReLU (inplace)
  139. )
  140. )
  141. (layer4): Sequential (
  142. (0): Bottleneck (
  143. (conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  144. (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  145. (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
  146. (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  147. (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)
  148. (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True)
  149. (relu): ReLU (inplace)
  150. (downsample): Sequential (
  151. (0): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(2, 2), bias=False)
  152. (1): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True)
  153. )
  154. )
  155. (1): Bottleneck (
  156. (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  157. (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  158. (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  159. (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  160. (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)
  161. (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True)
  162. (relu): ReLU (inplace)
  163. )
  164. (2): Bottleneck (
  165. (conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
  166. (bn1): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  167. (conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
  168. (bn2): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)
  169. (conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)
  170. (bn3): BatchNorm2d(2048, eps=1e-05, momentum=0.1, affine=True)
  171. (relu): ReLU (inplace)
  172. )
  173. )
  174. (avgpool): AvgPool2d (size=7, stride=7, padding=0, ceil_mode=False, count_include_pad=True)
  175. (fc): Linear (2048 -> 1000)
  176. )
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注