def FeatureExtractor(self, X, reuse = False):
     input_X = utils.NormalizeImage(X)
     with tf.variable_scope('feature_extractor_conv1',reuse = reuse):
         h_conv1 = layers.conv2d(input_X, self.ef_dim, 3, stride=1,
                                 activation_fn=tf.nn.relu, weights_initializer=self.initializer)
         h_conv1 = layers.conv2d(h_conv1, self.ef_dim, 3, stride=1,
                                 activation_fn=tf.nn.relu, weights_initializer=self.initializer)
         h_conv1 = layers.max_pool2d(h_conv1, [2, 2], 2, padding='SAME')        
         
     with tf.variable_scope('feature_extractor_conv2',reuse = reuse):  
         h_conv2 = layers.conv2d(h_conv1, self.ef_dim * 2, 3, stride=1,
                                 activation_fn=tf.nn.relu, weights_initializer=self.initializer)
         h_conv2 = layers.conv2d(h_conv2, self.ef_dim * 2, 3, stride=1,
                                 activation_fn=tf.nn.relu, weights_initializer=self.initializer)
         h_conv2 = layers.max_pool2d(h_conv2, [2, 2], 2, padding='SAME')
         
     with tf.variable_scope('feature_extractor_conv3',reuse = reuse):  
         h_conv3 = layers.conv2d(h_conv2, self.ef_dim * 4, 3, stride=1,
                                 activation_fn=tf.nn.relu, weights_initializer=self.initializer)
         h_conv3 = layers.conv2d(h_conv3, self.ef_dim * 4, 3, stride=1,
                                 activation_fn=tf.nn.relu, weights_initializer=self.initializer)
         h_conv3 = layers.max_pool2d(h_conv3, [2, 2], 2, padding='SAME')
         
     with tf.variable_scope('feature_extractor_fc1', reuse = reuse):
         fc_input = layers.flatten(h_conv3)
         fc_1 = layers.fully_connected(inputs=fc_input, num_outputs=self.latent_dim,
                                           activation_fn=None, weights_initializer=self.initializer)
         features =  fc_1
     return features
 def create_operators(self):
     size = 224
     img_mean = [0.485, 0.456, 0.406]
     img_std = [0.229, 0.224, 0.225]
     img_scale = 1.0 / 255.0
     decode_op = utils.DecodeImage()
     resize_op = utils.ResizeImage(resize_short=256)
     crop_op = utils.CropImage(size=(size, size))
     normalize_op = utils.NormalizeImage(scale=img_scale,
                                         mean=img_mean,
                                         std=img_std)
     totensor_op = utils.ToTensor()
     return [decode_op, resize_op, crop_op, normalize_op, totensor_op]
예제 #3
0
def create_operators(interpolation=1):
    size = 224
    img_mean = [0.485, 0.456, 0.406]
    img_std = [0.229, 0.224, 0.225]
    img_scale = 1.0 / 255.0

    resize_op = utils.ResizeImage(resize_short=256,
                                  interpolation=interpolation)
    crop_op = utils.CropImage(size=(size, size))
    normalize_op = utils.NormalizeImage(scale=img_scale,
                                        mean=img_mean,
                                        std=img_std)
    totensor_op = utils.ToTensor()

    return [resize_op, crop_op, normalize_op, totensor_op]