(image, num_blocks)
| 166 | |
| 167 | |
| 168 | def resnet_c4_backbone(image, num_blocks): |
| 169 | assert len(num_blocks) == 3 |
| 170 | freeze_at = cfg.BACKBONE.FREEZE_AT |
| 171 | with backbone_scope(freeze=freeze_at > 0): |
| 172 | l = tf.pad(image, [[0, 0], [0, 0], maybe_reverse_pad(2, 3), maybe_reverse_pad(2, 3)]) |
| 173 | l = Conv2D('conv0', l, 64, 7, strides=2, padding='VALID') |
| 174 | l = tf.pad(l, [[0, 0], [0, 0], maybe_reverse_pad(0, 1), maybe_reverse_pad(0, 1)]) |
| 175 | l = MaxPooling('pool0', l, 3, strides=2, padding='VALID') |
| 176 | |
| 177 | with backbone_scope(freeze=freeze_at > 1): |
| 178 | c2 = resnet_group('group0', l, resnet_bottleneck, 64, num_blocks[0], 1) |
| 179 | with backbone_scope(freeze=False): |
| 180 | c3 = resnet_group('group1', c2, resnet_bottleneck, 128, num_blocks[1], 2) |
| 181 | c4 = resnet_group('group2', c3, resnet_bottleneck, 256, num_blocks[2], 2) |
| 182 | # 16x downsampling up to now |
| 183 | return c4 |
| 184 | |
| 185 | |
| 186 | @auto_reuse_variable_scope |
no test coverage detected
searching dependent graphs…