(self, image)
| 60 | weight_decay = 5e-4 |
| 61 | |
| 62 | def get_logits(self, image): |
| 63 | with argscope(Conv2D, kernel_initializer=tf.variance_scaling_initializer(scale=2.)), \ |
| 64 | argscope([Conv2D, MaxPooling, BatchNorm], data_format='channels_first'): |
| 65 | logits = (LinearWrap(image) |
| 66 | .apply(convnormrelu, 'conv1_1', 64) |
| 67 | .apply(convnormrelu, 'conv1_2', 64) |
| 68 | .MaxPooling('pool1', 2) |
| 69 | # 112 |
| 70 | .apply(convnormrelu, 'conv2_1', 128) |
| 71 | .apply(convnormrelu, 'conv2_2', 128) |
| 72 | .MaxPooling('pool2', 2) |
| 73 | # 56 |
| 74 | .apply(convnormrelu, 'conv3_1', 256) |
| 75 | .apply(convnormrelu, 'conv3_2', 256) |
| 76 | .apply(convnormrelu, 'conv3_3', 256) |
| 77 | .MaxPooling('pool3', 2) |
| 78 | # 28 |
| 79 | .apply(convnormrelu, 'conv4_1', 512) |
| 80 | .apply(convnormrelu, 'conv4_2', 512) |
| 81 | .apply(convnormrelu, 'conv4_3', 512) |
| 82 | .MaxPooling('pool4', 2) |
| 83 | # 14 |
| 84 | .apply(convnormrelu, 'conv5_1', 512) |
| 85 | .apply(convnormrelu, 'conv5_2', 512) |
| 86 | .apply(convnormrelu, 'conv5_3', 512) |
| 87 | .MaxPooling('pool5', 2) |
| 88 | # 7 |
| 89 | .FullyConnected('fc6', 4096, |
| 90 | kernel_initializer=tf.random_normal_initializer(stddev=0.001)) |
| 91 | .tf.nn.relu(name='fc6_relu') |
| 92 | .Dropout('drop0', rate=0.5) |
| 93 | .FullyConnected('fc7', 4096, |
| 94 | kernel_initializer=tf.random_normal_initializer(stddev=0.001)) |
| 95 | .tf.nn.relu(name='fc7_relu') |
| 96 | .Dropout('drop1', rate=0.5) |
| 97 | .FullyConnected('fc8', 1000, |
| 98 | kernel_initializer=tf.random_normal_initializer(stddev=0.01))()) |
| 99 | add_param_summary(('.*', ['histogram', 'rms'])) |
| 100 | return logits |
| 101 | |
| 102 | |
| 103 | def get_data(name, batch): |
nothing calls this directly
no test coverage detected