• 快速抽取resnet_v2_152中间的特征层


    一、背景

            用resnet提取对象特征时,往往中间层也会包含一些细节信息,所以有时候会将中间层的特征抽取出来,本文将介绍如何抽取中间层的特征。

    二、准备代码

    1. import tensorflow as tf
    2. from tensorflow.contrib import slim
    3. from tensorflow.contrib.slim.nets import resnet_v2
    4. def resnet_arg_scope(self, is_training=True, # 训练标记
    5. weight_decay=0.0001, # 权重衰减速率
    6. batch_norm_decay=0.997, # BN的衰减速率
    7. batch_norm_epsilon=1e-5, # BN的epsilon默认1e-5
    8. batch_norm_scale=True): # BN的scale默认值
    9. batch_norm_params = { # 定义batch normalization(标准化)的参数字典
    10. 'is_training': is_training,
    11. 'decay': batch_norm_decay,
    12. 'epsilon': batch_norm_epsilon,
    13. 'scale': batch_norm_scale,
    14. 'updates_collections': tf.GraphKeys.UPDATE_OPS,
    15. }
    16. with slim.arg_scope( # 通过slim.arg_scope将[slim.conv2d]的几个默认参数设置好
    17. [slim.conv2d],
    18. weights_regularizer=slim.l2_regularizer(weight_decay), # 权重正则器设置为L2正则
    19. weights_initializer=slim.variance_scaling_initializer(), # 权重初始化器
    20. activation_fn=tf.nn.relu, # 激活函数
    21. normalizer_fn=slim.batch_norm, # 标准化器设置为BN
    22. normalizer_params=batch_norm_params):
    23. with slim.arg_scope([slim.batch_norm], **batch_norm_params):
    24. with slim.arg_scope([slim.max_pool2d], padding='SAME') as arg_sc: # ResNet原论文是VALID模式,SAME模式可让特征对齐更简单
    25. return arg_sc
    26. def _image_extract_resnet(image):
    27. with slim.arg_scope(resnet_arg_scope(is_training=True)):
    28. net, end_points = resnet_v2.resnet_v2_152(image, reuse=tf.AUTO_REUSE)

            以上代码是调用resnet152的过程,抽取特征则只涉及到end_points的信息。

    三、resnet-152的所有中间层名称及其大小

            直接对endpoint进行输出,然后整理一下就可以得到所有中间层的信息。整理的结果如下:

    1. ('resnet_v2_152/conv1', shape=(1, 112, 112, 64)),
    2. ('resnet_v2_152/block1/unit_1/bottleneck_v2/shortcut', shape=(1, 56, 56, 256)),
    3. ('resnet_v2_152/block1/unit_1/bottleneck_v2/conv1', shape=(1, 56, 56, 64)),
    4. ('resnet_v2_152/block1/unit_1/bottleneck_v2/conv2', shape=(1, 56, 56, 64)),
    5. ('resnet_v2_152/block1/unit_1/bottleneck_v2/conv3', shape=(1, 56, 56, 256)),
    6. ('resnet_v2_152/block1/unit_1/bottleneck_v2', shape=(1, 56, 56, 256)),
    7. ('resnet_v2_152/block1/unit_2/bottleneck_v2/conv1', shape=(1, 56, 56, 64)),
    8. ('resnet_v2_152/block1/unit_2/bottleneck_v2/conv2', shape=(1, 56, 56, 64)),
    9. ('resnet_v2_152/block1/unit_2/bottleneck_v2/conv3', shape=(1, 56, 56, 256)),
    10. ('resnet_v2_152/block1/unit_2/bottleneck_v2', shape=(1, 56, 56, 256)),
    11. ('resnet_v2_152/block1/unit_3/bottleneck_v2/conv1', shape=(1, 56, 56, 64)),
    12. ('resnet_v2_152/block1/unit_3/bottleneck_v2/conv2', shape=(1, 28, 28, 64)),
    13. ('resnet_v2_152/block1/unit_3/bottleneck_v2/conv3', shape=(1, 28, 28, 256)),
    14. ('resnet_v2_152/block1/unit_3/bottleneck_v2', shape=(1, 28, 28, 256)),
    15. ('resnet_v2_152/block1', shape=(1, 28, 28, 256)),
    16. ('resnet_v2_152/block2/unit_1/bottleneck_v2/shortcut', shape=(1, 28, 28, 512)),
    17. ('resnet_v2_152/block2/unit_1/bottleneck_v2/conv1', shape=(1, 28, 28, 128)),
    18. ('resnet_v2_152/block2/unit_1/bottleneck_v2/conv2', shape=(1, 28, 28, 128)),
    19. ('resnet_v2_152/block2/unit_1/bottleneck_v2/conv3', shape=(1, 28, 28, 512)),
    20. ('resnet_v2_152/block2/unit_1/bottleneck_v2', shape=(1, 28, 28, 512)),
    21. ('resnet_v2_152/block2/unit_2/bottleneck_v2/conv1', shape=(1, 28, 28, 128)),
    22. ('resnet_v2_152/block2/unit_2/bottleneck_v2/conv2', shape=(1, 28, 28, 128)),
    23. ('resnet_v2_152/block2/unit_2/bottleneck_v2/conv3', shape=(1, 28, 28, 512)),
    24. ('resnet_v2_152/block2/unit_2/bottleneck_v2', shape=(1, 28, 28, 512)),
    25. ('resnet_v2_152/block2/unit_3/bottleneck_v2/conv1', shape=(1, 28, 28, 128)),
    26. ('resnet_v2_152/block2/unit_3/bottleneck_v2/conv2', shape=(1, 28, 28, 128)),
    27. ('resnet_v2_152/block2/unit_3/bottleneck_v2/conv3', shape=(1, 28, 28, 512)),
    28. ('resnet_v2_152/block2/unit_3/bottleneck_v2', shape=(1, 28, 28, 512)),
    29. ('resnet_v2_152/block2/unit_4/bottleneck_v2/conv1', shape=(1, 28, 28, 128)),
    30. ('resnet_v2_152/block2/unit_4/bottleneck_v2/conv2', shape=(1, 28, 28, 128)),
    31. ('resnet_v2_152/block2/unit_4/bottleneck_v2/conv3', shape=(1, 28, 28, 512)),
    32. ('resnet_v2_152/block2/unit_4/bottleneck_v2', shape=(1, 28, 28, 512)),
    33. ('resnet_v2_152/block2/unit_5/bottleneck_v2/conv1', shape=(1, 28, 28, 128)),
    34. ('resnet_v2_152/block2/unit_5/bottleneck_v2/conv2', shape=(1, 28, 28, 128)),
    35. ('resnet_v2_152/block2/unit_5/bottleneck_v2/conv3', shape=(1, 28, 28, 512)),
    36. ('resnet_v2_152/block2/unit_5/bottleneck_v2', shape=(1, 28, 28, 512)),
    37. ('resnet_v2_152/block2/unit_6/bottleneck_v2/conv1', shape=(1, 28, 28, 128)),
    38. ('resnet_v2_152/block2/unit_6/bottleneck_v2/conv2', shape=(1, 28, 28, 128)),
    39. ('resnet_v2_152/block2/unit_6/bottleneck_v2/conv3', shape=(1, 28, 28, 512)),
    40. ('resnet_v2_152/block2/unit_6/bottleneck_v2', shape=(1, 28, 28, 512)),
    41. ('resnet_v2_152/block2/unit_7/bottleneck_v2/conv1', shape=(1, 28, 28, 128)),
    42. ('resnet_v2_152/block2/unit_7/bottleneck_v2/conv2', shape=(1, 28, 28, 128)),
    43. ('resnet_v2_152/block2/unit_7/bottleneck_v2/conv3', shape=(1, 28, 28, 512)),
    44. ('resnet_v2_152/block2/unit_7/bottleneck_v2', shape=(1, 28, 28, 512)),
    45. ('resnet_v2_152/block2/unit_8/bottleneck_v2/conv1', shape=(1, 28, 28, 128)),
    46. ('resnet_v2_152/block2/unit_8/bottleneck_v2/conv2', shape=(1, 14, 14, 128)),
    47. ('resnet_v2_152/block2/unit_8/bottleneck_v2/conv3', shape=(1, 14, 14, 512)),
    48. ('resnet_v2_152/block2/unit_8/bottleneck_v2', shape=(1, 14, 14, 512)),
    49. ('resnet_v2_152/block2', shape=(1, 14, 14, 512)),
    50. ('resnet_v2_152/block3/unit_1/bottleneck_v2/shortcut', shape=(1, 14, 14, 1024)),
    51. ('resnet_v2_152/block3/unit_1/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    52. ('resnet_v2_152/block3/unit_1/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    53. ('resnet_v2_152/block3/unit_1/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    54. ('resnet_v2_152/block3/unit_1/bottleneck_v2', shape=(1, 14, 14, 1024)),
    55. ('resnet_v2_152/block3/unit_2/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    56. ('resnet_v2_152/block3/unit_2/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    57. ('resnet_v2_152/block3/unit_2/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    58. ('resnet_v2_152/block3/unit_2/bottleneck_v2', shape=(1, 14, 14, 1024)),
    59. ('resnet_v2_152/block3/unit_3/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    60. ('resnet_v2_152/block3/unit_3/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    61. ('resnet_v2_152/block3/unit_3/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    62. ('resnet_v2_152/block3/unit_3/bottleneck_v2', shape=(1, 14, 14, 1024)),
    63. ('resnet_v2_152/block3/unit_4/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    64. ('resnet_v2_152/block3/unit_4/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    65. ('resnet_v2_152/block3/unit_4/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    66. ('resnet_v2_152/block3/unit_4/bottleneck_v2', shape=(1, 14, 14, 1024)),
    67. ('resnet_v2_152/block3/unit_5/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    68. ('resnet_v2_152/block3/unit_5/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    69. ('resnet_v2_152/block3/unit_5/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    70. ('resnet_v2_152/block3/unit_5/bottleneck_v2', shape=(1, 14, 14, 1024)),
    71. ('resnet_v2_152/block3/unit_6/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    72. ('resnet_v2_152/block3/unit_6/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    73. ('resnet_v2_152/block3/unit_6/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    74. ('resnet_v2_152/block3/unit_6/bottleneck_v2', shape=(1, 14, 14, 1024)),
    75. ('resnet_v2_152/block3/unit_7/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    76. ('resnet_v2_152/block3/unit_7/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    77. ('resnet_v2_152/block3/unit_7/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    78. ('resnet_v2_152/block3/unit_7/bottleneck_v2', shape=(1, 14, 14, 1024)),
    79. ('resnet_v2_152/block3/unit_8/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    80. ('resnet_v2_152/block3/unit_8/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    81. ('resnet_v2_152/block3/unit_8/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    82. ('resnet_v2_152/block3/unit_8/bottleneck_v2', shape=(1, 14, 14, 1024)),
    83. ('resnet_v2_152/block3/unit_9/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    84. ('resnet_v2_152/block3/unit_9/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    85. ('resnet_v2_152/block3/unit_9/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    86. ('resnet_v2_152/block3/unit_9/bottleneck_v2', shape=(1, 14, 14, 1024)),
    87. ('resnet_v2_152/block3/unit_10/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    88. ('resnet_v2_152/block3/unit_10/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    89. ('resnet_v2_152/block3/unit_10/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    90. ('resnet_v2_152/block3/unit_10/bottleneck_v2', shape=(1, 14, 14, 1024)),
    91. ('resnet_v2_152/block3/unit_11/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    92. ('resnet_v2_152/block3/unit_11/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    93. ('resnet_v2_152/block3/unit_11/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    94. ('resnet_v2_152/block3/unit_11/bottleneck_v2', shape=(1, 14, 14, 1024)),
    95. ('resnet_v2_152/block3/unit_12/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    96. ('resnet_v2_152/block3/unit_12/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    97. ('resnet_v2_152/block3/unit_12/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    98. ('resnet_v2_152/block3/unit_12/bottleneck_v2', shape=(1, 14, 14, 1024)),
    99. ('resnet_v2_152/block3/unit_13/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    100. ('resnet_v2_152/block3/unit_13/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    101. ('resnet_v2_152/block3/unit_13/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    102. ('resnet_v2_152/block3/unit_13/bottleneck_v2', shape=(1, 14, 14, 1024)),
    103. ('resnet_v2_152/block3/unit_14/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    104. ('resnet_v2_152/block3/unit_14/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    105. ('resnet_v2_152/block3/unit_14/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    106. ('resnet_v2_152/block3/unit_14/bottleneck_v2', shape=(1, 14, 14, 1024)),
    107. ('resnet_v2_152/block3/unit_15/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    108. ('resnet_v2_152/block3/unit_15/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    109. ('resnet_v2_152/block3/unit_15/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    110. ('resnet_v2_152/block3/unit_15/bottleneck_v2', shape=(1, 14, 14, 1024)),
    111. ('resnet_v2_152/block3/unit_16/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    112. ('resnet_v2_152/block3/unit_16/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    113. ('resnet_v2_152/block3/unit_16/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    114. ('resnet_v2_152/block3/unit_16/bottleneck_v2', shape=(1, 14, 14, 1024)),
    115. ('resnet_v2_152/block3/unit_17/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    116. ('resnet_v2_152/block3/unit_17/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    117. ('resnet_v2_152/block3/unit_17/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    118. ('resnet_v2_152/block3/unit_17/bottleneck_v2', shape=(1, 14, 14, 1024)),
    119. ('resnet_v2_152/block3/unit_18/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    120. ('resnet_v2_152/block3/unit_18/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    121. ('resnet_v2_152/block3/unit_18/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    122. ('resnet_v2_152/block3/unit_18/bottleneck_v2', shape=(1, 14, 14, 1024)),
    123. ('resnet_v2_152/block3/unit_19/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    124. ('resnet_v2_152/block3/unit_19/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    125. ('resnet_v2_152/block3/unit_19/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    126. ('resnet_v2_152/block3/unit_19/bottleneck_v2', shape=(1, 14, 14, 1024)),
    127. ('resnet_v2_152/block3/unit_20/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    128. ('resnet_v2_152/block3/unit_20/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    129. ('resnet_v2_152/block3/unit_20/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    130. ('resnet_v2_152/block3/unit_20/bottleneck_v2', shape=(1, 14, 14, 1024)),
    131. ('resnet_v2_152/block3/unit_21/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    132. ('resnet_v2_152/block3/unit_21/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    133. ('resnet_v2_152/block3/unit_21/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    134. ('resnet_v2_152/block3/unit_21/bottleneck_v2', shape=(1, 14, 14, 1024)),
    135. ('resnet_v2_152/block3/unit_22/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    136. ('resnet_v2_152/block3/unit_22/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    137. ('resnet_v2_152/block3/unit_22/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    138. ('resnet_v2_152/block3/unit_22/bottleneck_v2', shape=(1, 14, 14, 1024)),
    139. ('resnet_v2_152/block3/unit_23/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    140. ('resnet_v2_152/block3/unit_23/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    141. ('resnet_v2_152/block3/unit_23/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    142. ('resnet_v2_152/block3/unit_23/bottleneck_v2', shape=(1, 14, 14, 1024)),
    143. ('resnet_v2_152/block3/unit_24/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    144. ('resnet_v2_152/block3/unit_24/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    145. ('resnet_v2_152/block3/unit_24/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    146. ('resnet_v2_152/block3/unit_24/bottleneck_v2', shape=(1, 14, 14, 1024)),
    147. ('resnet_v2_152/block3/unit_25/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    148. ('resnet_v2_152/block3/unit_25/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    149. ('resnet_v2_152/block3/unit_25/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    150. ('resnet_v2_152/block3/unit_25/bottleneck_v2', shape=(1, 14, 14, 1024)),
    151. ('resnet_v2_152/block3/unit_26/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    152. ('resnet_v2_152/block3/unit_26/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    153. ('resnet_v2_152/block3/unit_26/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    154. ('resnet_v2_152/block3/unit_26/bottleneck_v2', shape=(1, 14, 14, 1024)),
    155. ('resnet_v2_152/block3/unit_27/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    156. ('resnet_v2_152/block3/unit_27/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    157. ('resnet_v2_152/block3/unit_27/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    158. ('resnet_v2_152/block3/unit_27/bottleneck_v2', shape=(1, 14, 14, 1024)),
    159. ('resnet_v2_152/block3/unit_28/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    160. ('resnet_v2_152/block3/unit_28/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    161. ('resnet_v2_152/block3/unit_28/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    162. ('resnet_v2_152/block3/unit_28/bottleneck_v2', shape=(1, 14, 14, 1024)),
    163. ('resnet_v2_152/block3/unit_29/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    164. ('resnet_v2_152/block3/unit_29/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    165. ('resnet_v2_152/block3/unit_29/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    166. ('resnet_v2_152/block3/unit_29/bottleneck_v2', shape=(1, 14, 14, 1024)),
    167. ('resnet_v2_152/block3/unit_30/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    168. ('resnet_v2_152/block3/unit_30/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    169. ('resnet_v2_152/block3/unit_30/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    170. ('resnet_v2_152/block3/unit_30/bottleneck_v2', shape=(1, 14, 14, 1024)),
    171. ('resnet_v2_152/block3/unit_31/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    172. ('resnet_v2_152/block3/unit_31/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    173. ('resnet_v2_152/block3/unit_31/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    174. ('resnet_v2_152/block3/unit_31/bottleneck_v2', shape=(1, 14, 14, 1024)),
    175. ('resnet_v2_152/block3/unit_32/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    176. ('resnet_v2_152/block3/unit_32/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    177. ('resnet_v2_152/block3/unit_32/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    178. ('resnet_v2_152/block3/unit_32/bottleneck_v2', shape=(1, 14, 14, 1024)),
    179. ('resnet_v2_152/block3/unit_33/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    180. ('resnet_v2_152/block3/unit_33/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    181. ('resnet_v2_152/block3/unit_33/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    182. ('resnet_v2_152/block3/unit_33/bottleneck_v2', shape=(1, 14, 14, 1024)),
    183. ('resnet_v2_152/block3/unit_34/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    184. ('resnet_v2_152/block3/unit_34/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    185. ('resnet_v2_152/block3/unit_34/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    186. ('resnet_v2_152/block3/unit_34/bottleneck_v2', shape=(1, 14, 14, 1024)),
    187. ('resnet_v2_152/block3/unit_35/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    188. ('resnet_v2_152/block3/unit_35/bottleneck_v2/conv2', shape=(1, 14, 14, 256)),
    189. ('resnet_v2_152/block3/unit_35/bottleneck_v2/conv3', shape=(1, 14, 14, 1024)),
    190. ('resnet_v2_152/block3/unit_35/bottleneck_v2', shape=(1, 14, 14, 1024)),
    191. ('resnet_v2_152/block3/unit_36/bottleneck_v2/conv1', shape=(1, 14, 14, 256)),
    192. ('resnet_v2_152/block3/unit_36/bottleneck_v2/conv2', shape=(1, 7, 7, 256)),
    193. ('resnet_v2_152/block3/unit_36/bottleneck_v2/conv3', shape=(1, 7, 7, 1024)),
    194. ('resnet_v2_152/block3/unit_36/bottleneck_v2', shape=(1, 7, 7, 1024)),
    195. ('resnet_v2_152/block3', shape=(1, 7, 7, 1024)),
    196. ('resnet_v2_152/block4/unit_1/bottleneck_v2/shortcut', shape=(1, 7, 7, 2048)),
    197. ('resnet_v2_152/block4/unit_1/bottleneck_v2/conv1', shape=(1, 7, 7, 512)),
    198. ('resnet_v2_152/block4/unit_1/bottleneck_v2/conv2', shape=(1, 7, 7, 512)),
    199. ('resnet_v2_152/block4/unit_1/bottleneck_v2/conv3', shape=(1, 7, 7, 2048)),
    200. ('resnet_v2_152/block4/unit_1/bottleneck_v2', shape=(1, 7, 7, 2048)),
    201. ('resnet_v2_152/block4/unit_2/bottleneck_v2/conv1', shape=(1, 7, 7, 512)),
    202. ('resnet_v2_152/block4/unit_2/bottleneck_v2/conv2', shape=(1, 7, 7, 512)),
    203. ('resnet_v2_152/block4/unit_2/bottleneck_v2/conv3', shape=(1, 7, 7, 2048)),
    204. ('resnet_v2_152/block4/unit_2/bottleneck_v2', shape=(1, 7, 7, 2048)),
    205. ('resnet_v2_152/block4/unit_3/bottleneck_v2/conv1', shape=(1, 7, 7, 512)),
    206. ('resnet_v2_152/block4/unit_3/bottleneck_v2/conv2', shape=(1, 7, 7, 512)),
    207. ('resnet_v2_152/block4/unit_3/bottleneck_v2/conv3', shape=(1, 7, 7, 2048)),
    208. ('resnet_v2_152/block4/unit_3/bottleneck_v2', shape=(1, 7, 7, 2048)),
    209. ('resnet_v2_152/block4', shape=(1, 7, 7, 2048))])

    如果想要调用中间的某一层可以如下设置:

    1. def _image_extract_resnet(self, image, label, driven=False):
    2. # 图像特征处理模块
    3. with slim.arg_scope(self.resnet_arg_scope(is_training=True)):
    4. net, end_points = resnet_v2.resnet_v2_152(image, reuse=tf.AUTO_REUSE)
    5. # 想要别的层的话替换[]中的内容就可以了
    6. feature = end_points['resnet_v2_152/conv1']
    7. return net, feature

  • 相关阅读:
    JAVA实现SAP接口
    【ChatGPT】无需代理使用ChatGPT
    傻妞and青龙面板对接短信登录【2022.7.4】
    拾壹博客拆解改造,页面元素替换(二)
    Animate动画
    Java线程未捕获异常处理 UncaughtExceptionHandler
    【接口测试】微信小程序接口自动化的实现方案
    vsCode设置文件注释和函数注释使用koroFileHeader插件
    磷脂-聚乙二醇-醛基 DSPE-PEG-Aldehyde DSPE-PEG-CHO MW:5000
    某建筑集团中层管理人员竞聘上岗项目成功案例纪实
  • 原文地址:https://blog.csdn.net/z704630835/article/details/126059288