(self, image)
| 27 | class Model(ImageNetModel): |
| 28 | |
| 29 | def get_logits(self, image): |
| 30 | cfg = { |
| 31 | 18: ([2, 2, 2, 2], preresnet_basicblock), |
| 32 | 34: ([3, 4, 6, 3], preresnet_basicblock), |
| 33 | } |
| 34 | defs, block_func = cfg[DEPTH] |
| 35 | |
| 36 | with argscope(Conv2D, use_bias=False, |
| 37 | kernel_initializer=tf.variance_scaling_initializer(scale=2.0, mode='fan_out')), \ |
| 38 | argscope([Conv2D, MaxPooling, GlobalAvgPooling, BatchNorm], data_format='channels_first'): |
| 39 | convmaps = (LinearWrap(image) |
| 40 | .Conv2D('conv0', 64, 7, strides=2, activation=BNReLU) |
| 41 | .MaxPooling('pool0', 3, strides=2, padding='SAME') |
| 42 | .apply2(preresnet_group, 'group0', block_func, 64, defs[0], 1) |
| 43 | .apply2(preresnet_group, 'group1', block_func, 128, defs[1], 2) |
| 44 | .apply2(preresnet_group, 'group2', block_func, 256, defs[2], 2) |
| 45 | .apply2(preresnet_group, 'group3new', block_func, 512, defs[3], 1)()) |
| 46 | print(convmaps) |
| 47 | convmaps = GlobalAvgPooling('gap', convmaps) |
| 48 | logits = FullyConnected('linearnew', convmaps, 1000) |
| 49 | return logits |
| 50 | |
| 51 | def optimizer(self): |
| 52 | lr = tf.get_variable('learning_rate', initializer=0.1, trainable=False) |
nothing calls this directly
no test coverage detected