Python tensorflow.contrib.slim.flatten() Examples
The following are 30
code examples of tensorflow.contrib.slim.flatten().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
tensorflow.contrib.slim
, or try the search function
.
Example #1
Source File: network.py From Relational-NEM with MIT License | 6 votes |
def __call__(self, inputs, state, scope=None): batch_size = tf.shape(inputs)[0] if self._apply_to == 'input': inputs = slim.flatten(inputs) if self._shape == -1 else tf.reshape(inputs, [batch_size] + self._shape) return self._cell(inputs, state) elif self._apply_to == 'output': output, res_state = self._cell(inputs, state) output = slim.flatten(output) if self._shape == -1 else tf.reshape(output, [batch_size] + self._shape) return output, res_state elif self._apply_to == 'state': output, res_state = self._cell(inputs, state) res_state = slim.flatten(res_state) if self._shape == -1 else tf.reshape(res_state, [batch_size] + self._shape) return output, res_state else: raise ValueError('Unknown apply_to: "{}"'.format(self._apply_to))
Example #2
Source File: dfc_vae_large.py From tindetheus with MIT License | 6 votes |
def encoder(self, images, is_training): activation_fn = leaky_relu # tf.nn.relu weight_decay = 0.0 with tf.variable_scope('encoder'): with slim.arg_scope([slim.batch_norm], is_training=is_training): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=self.batch_norm_params): net = slim.conv2d(images, 32, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_1') net = slim.conv2d(net, 64, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_2') net = slim.conv2d(net, 128, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_3') net = slim.conv2d(net, 256, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_4') net = slim.conv2d(net, 512, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_5') net = slim.flatten(net) fc1 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_1') fc2 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_2') return fc1, fc2
Example #3
Source File: dfc_vae.py From TNT with GNU General Public License v3.0 | 6 votes |
def encoder(self, images, is_training): activation_fn = leaky_relu # tf.nn.relu weight_decay = 0.0 with tf.variable_scope('encoder'): with slim.arg_scope([slim.batch_norm], is_training=is_training): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=self.batch_norm_params): net = slim.conv2d(images, 32, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_1') net = slim.conv2d(net, 64, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_2') net = slim.conv2d(net, 128, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_3') net = slim.conv2d(net, 256, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_4') net = slim.flatten(net) fc1 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_1') fc2 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_2') return fc1, fc2
Example #4
Source File: dfc_vae_large.py From TNT with GNU General Public License v3.0 | 6 votes |
def encoder(self, images, is_training): activation_fn = leaky_relu # tf.nn.relu weight_decay = 0.0 with tf.variable_scope('encoder'): with slim.arg_scope([slim.batch_norm], is_training=is_training): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=self.batch_norm_params): net = slim.conv2d(images, 32, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_1') net = slim.conv2d(net, 64, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_2') net = slim.conv2d(net, 128, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_3') net = slim.conv2d(net, 256, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_4') net = slim.conv2d(net, 512, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_5') net = slim.flatten(net) fc1 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_1') fc2 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_2') return fc1, fc2
Example #5
Source File: dfc_vae.py From tindetheus with MIT License | 6 votes |
def encoder(self, images, is_training): activation_fn = leaky_relu # tf.nn.relu weight_decay = 0.0 with tf.variable_scope('encoder'): with slim.arg_scope([slim.batch_norm], is_training=is_training): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=self.batch_norm_params): net = slim.conv2d(images, 32, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_1') net = slim.conv2d(net, 64, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_2') net = slim.conv2d(net, 128, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_3') net = slim.conv2d(net, 256, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_4') net = slim.flatten(net) fc1 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_1') fc2 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_2') return fc1, fc2
Example #6
Source File: models.py From STGAN with MIT License | 6 votes |
def gradient_penalty(f, real, fake=None): def _interpolate(a, b=None): with tf.name_scope('interpolate'): if b is None: # interpolation in DRAGAN beta = tf.random_uniform(shape=tf.shape(a), minval=0., maxval=1.) _, variance = tf.nn.moments(a, list(range(a.shape.ndims))) b = a + 0.5 * tf.sqrt(variance) * beta shape = [tf.shape(a)[0]] + [1] * (a.shape.ndims - 1) alpha = tf.random_uniform(shape=shape, minval=0., maxval=1.) inter = a + alpha * (b - a) inter.set_shape(a.get_shape().as_list()) return inter with tf.name_scope('gradient_penalty'): x = _interpolate(real, fake) pred = f(x) if isinstance(pred, tuple): pred = pred[0] grad = tf.gradients(pred, x)[0] norm = tf.norm(slim.flatten(grad), axis=1) gp = tf.reduce_mean((norm - 1.)**2) return gp
Example #7
Source File: vision_baseline_lstm.py From yolo_v2 with Apache License 2.0 | 6 votes |
def combine_setup(name, combine_type, embed_img, embed_goal, num_img_neuorons=None, num_goal_neurons=None): with tf.name_scope(name + '_' + combine_type): if combine_type == 'add': # Simple concat features from goal and image out = embed_img + embed_goal elif combine_type == 'multiply': # Multiply things together re_embed_img = tf.reshape( embed_img, shape=[-1, num_img_neuorons / num_goal_neurons, num_goal_neurons]) re_embed_goal = tf.reshape(embed_goal, shape=[-1, num_goal_neurons, 1]) x = tf.matmul(re_embed_img, re_embed_goal, transpose_a=False, transpose_b=False) out = slim.flatten(x) elif combine_type == 'none' or combine_type == 'imgonly': out = embed_img elif combine_type == 'goalonly': out = embed_goal else: logging.fatal('Undefined combine_type: %s', combine_type) return out
Example #8
Source File: vision_baseline_lstm.py From Gun-Detector with Apache License 2.0 | 6 votes |
def combine_setup(name, combine_type, embed_img, embed_goal, num_img_neuorons=None, num_goal_neurons=None): with tf.name_scope(name + '_' + combine_type): if combine_type == 'add': # Simple concat features from goal and image out = embed_img + embed_goal elif combine_type == 'multiply': # Multiply things together re_embed_img = tf.reshape( embed_img, shape=[-1, num_img_neuorons / num_goal_neurons, num_goal_neurons]) re_embed_goal = tf.reshape(embed_goal, shape=[-1, num_goal_neurons, 1]) x = tf.matmul(re_embed_img, re_embed_goal, transpose_a=False, transpose_b=False) out = slim.flatten(x) elif combine_type == 'none' or combine_type == 'imgonly': out = embed_img elif combine_type == 'goalonly': out = embed_goal else: logging.fatal('Undefined combine_type: %s', combine_type) return out
Example #9
Source File: sphere_net_PFE.py From Probabilistic-Face-Embeddings with MIT License | 6 votes |
def se_module(input_net, ratio=16, reuse = None, scope = None): with tf.variable_scope(scope, 'SE', [input_net], reuse=reuse): h,w,c = tuple([dim.value for dim in input_net.shape[1:4]]) assert c % ratio == 0 hidden_units = int(c / ratio) squeeze = slim.avg_pool2d(input_net, [h,w], padding='VALID') excitation = slim.flatten(squeeze) excitation = slim.fully_connected(excitation, hidden_units, scope='se_fc1', weights_regularizer=None, weights_initializer=slim.xavier_initializer(), activation_fn=tf.nn.relu) excitation = slim.fully_connected(excitation, c, scope='se_fc2', weights_regularizer=None, weights_initializer=slim.xavier_initializer(), activation_fn=tf.nn.sigmoid) excitation = tf.reshape(excitation, [-1,1,1,c]) output_net = input_net * excitation return output_net
Example #10
Source File: dfc_vae_large.py From facenet_mtcnn_to_mobile with MIT License | 6 votes |
def encoder(self, images, is_training): activation_fn = leaky_relu # tf.nn.relu weight_decay = 0.0 with tf.variable_scope('encoder'): with slim.arg_scope([slim.batch_norm], is_training=is_training): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=self.batch_norm_params): net = slim.conv2d(images, 32, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_1') net = slim.conv2d(net, 64, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_2') net = slim.conv2d(net, 128, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_3') net = slim.conv2d(net, 256, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_4') net = slim.conv2d(net, 512, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_5') net = slim.flatten(net) fc1 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_1') fc2 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_2') return fc1, fc2
Example #11
Source File: model.py From domain-transfer-network with MIT License | 6 votes |
def content_extractor(self, images, reuse=False): # images: (batch, 32, 32, 3) or (batch, 32, 32, 1) if images.get_shape()[3] == 1: # For mnist dataset, replicate the gray scale image 3 times. images = tf.image.grayscale_to_rgb(images) with tf.variable_scope('content_extractor', reuse=reuse): with slim.arg_scope([slim.conv2d], padding='SAME', activation_fn=None, stride=2, weights_initializer=tf.contrib.layers.xavier_initializer()): with slim.arg_scope([slim.batch_norm], decay=0.95, center=True, scale=True, activation_fn=tf.nn.relu, is_training=(self.mode=='train' or self.mode=='pretrain')): net = slim.conv2d(images, 64, [3, 3], scope='conv1') # (batch_size, 16, 16, 64) net = slim.batch_norm(net, scope='bn1') net = slim.conv2d(net, 128, [3, 3], scope='conv2') # (batch_size, 8, 8, 128) net = slim.batch_norm(net, scope='bn2') net = slim.conv2d(net, 256, [3, 3], scope='conv3') # (batch_size, 4, 4, 256) net = slim.batch_norm(net, scope='bn3') net = slim.conv2d(net, 128, [4, 4], padding='VALID', scope='conv4') # (batch_size, 1, 1, 128) net = slim.batch_norm(net, activation_fn=tf.nn.tanh, scope='bn4') if self.mode == 'pretrain': net = slim.conv2d(net, 10, [1, 1], padding='VALID', scope='out') net = slim.flatten(net) return net
Example #12
Source File: vision_baseline_lstm.py From DOTA_models with Apache License 2.0 | 6 votes |
def combine_setup(name, combine_type, embed_img, embed_goal, num_img_neuorons=None, num_goal_neurons=None): with tf.name_scope(name + '_' + combine_type): if combine_type == 'add': # Simple concat features from goal and image out = embed_img + embed_goal elif combine_type == 'multiply': # Multiply things together re_embed_img = tf.reshape( embed_img, shape=[-1, num_img_neuorons / num_goal_neurons, num_goal_neurons]) re_embed_goal = tf.reshape(embed_goal, shape=[-1, num_goal_neurons, 1]) x = tf.matmul(re_embed_img, re_embed_goal, transpose_a=False, transpose_b=False) out = slim.flatten(x) elif combine_type == 'none' or combine_type == 'imgonly': out = embed_img elif combine_type == 'goalonly': out = embed_goal else: logging.fatal('Undefined combine_type: %s', combine_type) return out
Example #13
Source File: network.py From Neural-EM with MIT License | 6 votes |
def __call__(self, inputs, state, scope=None): batch_size = tf.shape(inputs)[0] if self._apply_to == 'input': inputs = slim.flatten(inputs) if self._shape == -1 else tf.reshape(inputs, [batch_size] + self._shape) return self._cell(inputs, state) elif self._apply_to == 'output': output, res_state = self._cell(inputs, state) output = slim.flatten(output) if self._shape == -1 else tf.reshape(output, [batch_size] + self._shape) return output, res_state elif self._apply_to == 'state': output, res_state = self._cell(inputs, state) res_state = slim.flatten(res_state) if self._shape == -1 else tf.reshape(res_state, [batch_size] + self._shape) return output, res_state else: raise ValueError('Unknown apply_to: "{}"'.format(self._apply_to))
Example #14
Source File: vgg16.py From Faster-RCNN-TensorFlow-Python3 with MIT License | 6 votes |
def build_predictions(self, net, rois, is_training, initializer, initializer_bbox): # Crop image ROIs pool5 = self._crop_pool_layer(net, rois, "pool5") pool5_flat = slim.flatten(pool5, scope='flatten') # Fully connected layers fc6 = slim.fully_connected(pool5_flat, 4096, scope='fc6') if is_training: fc6 = slim.dropout(fc6, keep_prob=0.5, is_training=True, scope='dropout6') fc7 = slim.fully_connected(fc6, 4096, scope='fc7') if is_training: fc7 = slim.dropout(fc7, keep_prob=0.5, is_training=True, scope='dropout7') # Scores and predictions cls_score = slim.fully_connected(fc7, self._num_classes, weights_initializer=initializer, trainable=is_training, activation_fn=None, scope='cls_score') cls_prob = self._softmax_layer(cls_score, "cls_prob") bbox_prediction = slim.fully_connected(fc7, self._num_classes * 4, weights_initializer=initializer_bbox, trainable=is_training, activation_fn=None, scope='bbox_pred') return cls_score, cls_prob, bbox_prediction
Example #15
Source File: base_memory.py From iter-reason with MIT License | 6 votes |
def _fc_iter(self, mem_pool5, is_training, name, iter): xavier = tf.contrib.layers.variance_scaling_initializer() with tf.variable_scope(name): mem_fc7 = slim.flatten(mem_pool5, scope='flatten') with slim.arg_scope([slim.fully_connected], activation_fn=tf.nn.relu, trainable=is_training, weights_initializer=xavier, biases_initializer=tf.constant_initializer(0.0)): for i in xrange(cfg.MEM.FC_L): mem_fc7 = slim.fully_connected(mem_fc7, cfg.MEM.FC_C, scope="mem_fc%d" % (i+6)) self._act_summaries.append(mem_fc7) self._score_summaries[iter].append(mem_fc7) return mem_fc7
Example #16
Source File: dfc_vae.py From facenet-demo with MIT License | 6 votes |
def encoder(self, images, is_training): activation_fn = leaky_relu # tf.nn.relu weight_decay = 0.0 with tf.variable_scope('encoder'): with slim.arg_scope([slim.batch_norm], is_training=is_training): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=self.batch_norm_params): net = slim.conv2d(images, 32, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_1') net = slim.conv2d(net, 64, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_2') net = slim.conv2d(net, 128, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_3') net = slim.conv2d(net, 256, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_4') net = slim.flatten(net) fc1 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_1') fc2 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_2') return fc1, fc2
Example #17
Source File: dfc_vae_large.py From facenet-demo with MIT License | 6 votes |
def encoder(self, images, is_training): activation_fn = leaky_relu # tf.nn.relu weight_decay = 0.0 with tf.variable_scope('encoder'): with slim.arg_scope([slim.batch_norm], is_training=is_training): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=self.batch_norm_params): net = slim.conv2d(images, 32, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_1') net = slim.conv2d(net, 64, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_2') net = slim.conv2d(net, 128, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_3') net = slim.conv2d(net, 256, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_4') net = slim.conv2d(net, 512, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_5') net = slim.flatten(net) fc1 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_1') fc2 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_2') return fc1, fc2
Example #18
Source File: model.py From domain-transfer-network with MIT License | 6 votes |
def discriminator(self, images, reuse=False): # images: (batch, 32, 32, 1) with tf.variable_scope('discriminator', reuse=reuse): with slim.arg_scope([slim.conv2d], padding='SAME', activation_fn=None, stride=2, weights_initializer=tf.contrib.layers.xavier_initializer()): with slim.arg_scope([slim.batch_norm], decay=0.95, center=True, scale=True, activation_fn=tf.nn.relu, is_training=(self.mode=='train')): net = slim.conv2d(images, 128, [3, 3], activation_fn=tf.nn.relu, scope='conv1') # (batch_size, 16, 16, 128) net = slim.batch_norm(net, scope='bn1') net = slim.conv2d(net, 256, [3, 3], scope='conv2') # (batch_size, 8, 8, 256) net = slim.batch_norm(net, scope='bn2') net = slim.conv2d(net, 512, [3, 3], scope='conv3') # (batch_size, 4, 4, 512) net = slim.batch_norm(net, scope='bn3') net = slim.conv2d(net, 1, [4, 4], padding='VALID', scope='conv4') # (batch_size, 1, 1, 1) net = slim.flatten(net) return net
Example #19
Source File: dfc_vae.py From facenet_mtcnn_to_mobile with MIT License | 6 votes |
def encoder(self, images, is_training): activation_fn = leaky_relu # tf.nn.relu weight_decay = 0.0 with tf.variable_scope('encoder'): with slim.arg_scope([slim.batch_norm], is_training=is_training): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=self.batch_norm_params): net = slim.conv2d(images, 32, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_1') net = slim.conv2d(net, 64, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_2') net = slim.conv2d(net, 128, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_3') net = slim.conv2d(net, 256, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_4') net = slim.flatten(net) fc1 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_1') fc2 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_2') return fc1, fc2
Example #20
Source File: utils_tf.py From robust_physical_perturbations with MIT License | 5 votes |
def l2_batch_normalize(x, epsilon=1e-12, scope=None): """ Helper function to normalize a batch of vectors. :param x: the input placeholder :param epsilon: stabilizes division :return: the batch of l2 normalized vector """ with tf.name_scope(scope, "l2_batch_normalize") as scope: x_shape = tf.shape(x) x = slim.flatten(x) x /= (epsilon + tf.reduce_max(tf.abs(x), 1, keep_dims=True)) square_sum = tf.reduce_sum(tf.square(x), 1, keep_dims=True) x_inv_norm = tf.rsqrt(np.sqrt(epsilon) + square_sum) x_norm = tf.multiply(x, x_inv_norm) return tf.reshape(x_norm, x_shape, scope)
Example #21
Source File: simple.py From Traffic-Signs-and-Object-Detection with GNU General Public License v3.0 | 5 votes |
def forward(self): temp = tf.transpose( self.inp.out, [0,3,1,2]) self.out = slim.flatten( temp, scope = self.scope)
Example #22
Source File: KalmanVariationalAutoencoder.py From kvae with MIT License | 5 votes |
def encoder(self, x): """ Convolutional variational encoder to encode image into a low-dimensional latent code If config.conv == False it is a MLP VAE. If config.use_vae == False, it is a normal encoder :param x: sequence of images :return: a, a_mu, a_var """ with tf.variable_scope('vae/encoder'): if self.config.conv: x_flat_conv = tf.reshape(x, (-1, self.d1, self.d2, 1)) enc_hidden = slim.stack(x_flat_conv, slim.conv2d, self.num_filters, kernel_size=self.config.filter_size, stride=2, activation_fn=self.activation_fn, padding='SAME') enc_flat = slim.flatten(enc_hidden) self.enc_shape = enc_hidden.get_shape().as_list()[1:] else: x_flat = tf.reshape(x, (-1, self.d1 * self.d2)) enc_flat = slim.repeat(x_flat, self.config.num_layers, slim.fully_connected, self.config.vae_num_units, self.activation_fn) a_mu = slim.fully_connected(enc_flat, self.config.dim_a, activation_fn=None) if self.config.use_vae: a_var = slim.fully_connected(enc_flat, self.config.dim_a, activation_fn=tf.nn.sigmoid) a_var = self.config.noise_emission * a_var a = simple_sample(a_mu, a_var) else: a_var = tf.constant(1., dtype=tf.float32, shape=()) a = a_mu a_seq = tf.reshape(a, tf.stack((-1, self.ph_steps, self.config.dim_a))) return a_seq, a_mu, a_var
Example #23
Source File: iCAN_ResNet50_VCOCO.py From iCAN with MIT License | 5 votes |
def sp_to_head(self): with tf.variable_scope(self.scope, self.scope): conv1_sp = slim.conv2d(self.spatial, 64, [5, 5], padding='VALID', scope='conv1_sp') pool1_sp = slim.max_pool2d(conv1_sp, [2, 2], scope='pool1_sp') conv2_sp = slim.conv2d(pool1_sp, 32, [5, 5], padding='VALID', scope='conv2_sp') pool2_sp = slim.max_pool2d(conv2_sp, [2, 2], scope='pool2_sp') pool2_flat_sp = slim.flatten(pool2_sp) return pool2_flat_sp
Example #24
Source File: iCAN_ResNet50_VCOCO_Early.py From iCAN with MIT License | 5 votes |
def sp_to_head(self): with tf.variable_scope(self.scope, self.scope): conv1_sp = slim.conv2d(self.spatial, 64, [5, 5], padding='VALID', scope='conv1_sp') pool1_sp = slim.max_pool2d(conv1_sp, [2, 2], scope='pool1_sp') conv2_sp = slim.conv2d(pool1_sp, 32, [5, 5], padding='VALID', scope='conv2_sp') pool2_sp = slim.max_pool2d(conv2_sp, [2, 2], scope='pool2_sp') pool2_flat_sp = slim.flatten(pool2_sp) return pool2_flat_sp
Example #25
Source File: train_bier.py From bier with GNU General Public License v3.0 | 5 votes |
def embedding_tower(hidden_layer, embedding_sizes, reuse=False): """ Creates the embedding tower on top of a feature extractor. Args: hidden_layer: Last hidden layer of the feature extractor. embedding_sizes: array indicating the sizes of our embedding, e.g. [96, 160, 256] reuse: tensorflow reuse flag for the variable scope. Returns: A tuple consisting of the embedding and end_points. """ end_points = {} final_layers = [] with tf.variable_scope(EMBEDDING_SCOPE_NAME, reuse=reuse) as scope: hidden_layer = slim.flatten(hidden_layer) for idx, embedding_size in enumerate(embedding_sizes): scope_name = 'embedding/fc_{}'.format(idx) embedding = slim.fully_connected( hidden_layer, embedding_size, activation_fn=None, scope=scope_name) regul_out = slim.fully_connected(tf.stop_gradient( hidden_layer), embedding_size, scope=scope_name, reuse=True, activation_fn=None, biases_initializer=None) end_points['{}/embedding/fc_{}'.format( EMBEDDING_SCOPE_NAME, idx)] = embedding end_points['{}/embedding/fc_{}_regularizer'.format( EMBEDDING_SCOPE_NAME, idx)] = regul_out final_layers.append(embedding) embedding = tf.concat(final_layers, axis=1) end_points['{}/embedding'.format(EMBEDDING_SCOPE_NAME)] = embedding weight_variables = slim.get_variables_by_name('weights', scope=scope) for w in weight_variables: tf.add_to_collection('weights', w) return embedding, end_points
Example #26
Source File: sphere_net_PFE.py From Probabilistic-Face-Embeddings with MIT License | 5 votes |
def inference(images, embedding_size=512, reuse=None, scope='SphereNet'): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_regularizer=slim.l2_regularizer(0.0), normalizer_fn=None, normalizer_params=None, activation_fn=parametric_relu): with tf.variable_scope('SphereNet', [images], reuse=reuse): # Fix the moving mean and std when training PFE with slim.arg_scope([slim.batch_norm, slim.dropout], is_training=False): print('SphereNet input shape:', [dim.value for dim in images.shape]) model_version = '64' num_layers, num_kernels = model_params[model_version] net = conv_module(images, num_layers[0], num_kernels[0], scope='conv1') print('module_1 shape:', [dim.value for dim in net.shape]) net = conv_module(net, num_layers[1], num_kernels[1], scope='conv2') print('module_2 shape:', [dim.value for dim in net.shape]) net = conv_module(net, num_layers[2], num_kernels[2], scope='conv3') print('module_3 shape:', [dim.value for dim in net.shape]) net = conv_module(net, num_layers[3], num_kernels[3], scope='conv4') print('module_4 shape:', [dim.value for dim in net.shape]) net_ = net net = slim.flatten(net) mu = slim.fully_connected(net, embedding_size, scope='Bottleneck', weights_initializer=slim.xavier_initializer(), normalizer_fn=slim.batch_norm, normalizer_params=batch_norm_params_last, activation_fn=None) # Output used for PFE mu = tf.nn.l2_normalize(mu, axis=1) conv_final = net return mu, conv_final
Example #27
Source File: uncertainty_module.py From Probabilistic-Face-Embeddings with MIT License | 5 votes |
def inference(inputs, embedding_size, phase_train, weight_decay=5e-4, reuse=None, scope='UncertaintyModule'): with slim.arg_scope([slim.fully_connected], weights_regularizer=slim.l2_regularizer(weight_decay), activation_fn=tf.nn.relu): with tf.variable_scope(scope, [inputs], reuse=reuse): with slim.arg_scope([slim.batch_norm, slim.dropout], is_training=phase_train): print('UncertaintyModule input shape:', [dim.value for dim in inputs.shape]) net = slim.flatten(inputs) net = slim.fully_connected(net, embedding_size, scope='fc1', normalizer_fn=slim.batch_norm, normalizer_params=batch_norm_params, activation_fn=tf.nn.relu) log_sigma_sq = slim.fully_connected(net, embedding_size, scope='fc_log_sigma_sq', normalizer_fn=slim.batch_norm, normalizer_params=batch_norm_params_sigma, activation_fn=None) # Share the gamma and beta for all dimensions log_sigma_sq = scale_and_shift(log_sigma_sq, 1e-4, -7.0) # Add epsilon for sigma_sq for numerical stableness log_sigma_sq = tf.log(1e-6 + tf.exp(log_sigma_sq)) return log_sigma_sq
Example #28
Source File: dfc_vae_resnet.py From facenet_mtcnn_to_mobile with MIT License | 5 votes |
def encoder(self, images, is_training): activation_fn = leaky_relu # tf.nn.relu weight_decay = 0.0 with tf.variable_scope('encoder'): with slim.arg_scope([slim.batch_norm], is_training=is_training): with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=self.batch_norm_params): net = images net = slim.conv2d(net, 32, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_1a') net = slim.repeat(net, 3, conv2d_block, 0.1, 32, [4, 4], 1, activation_fn=activation_fn, scope='Conv2d_1b') net = slim.conv2d(net, 64, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_2a') net = slim.repeat(net, 3, conv2d_block, 0.1, 64, [4, 4], 1, activation_fn=activation_fn, scope='Conv2d_2b') net = slim.conv2d(net, 128, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_3a') net = slim.repeat(net, 3, conv2d_block, 0.1, 128, [4, 4], 1, activation_fn=activation_fn, scope='Conv2d_3b') net = slim.conv2d(net, 256, [4, 4], 2, activation_fn=activation_fn, scope='Conv2d_4a') net = slim.repeat(net, 3, conv2d_block, 0.1, 256, [4, 4], 1, activation_fn=activation_fn, scope='Conv2d_4b') net = slim.flatten(net) fc1 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_1') fc2 = slim.fully_connected(net, self.latent_variable_dim, activation_fn=None, normalizer_fn=None, scope='Fc_2') return fc1, fc2
Example #29
Source File: utils_tf.py From robust_physical_perturbations with MIT License | 5 votes |
def l2_batch_normalize(x, epsilon=1e-12, scope=None): """ Helper function to normalize a batch of vectors. :param x: the input placeholder :param epsilon: stabilizes division :return: the batch of l2 normalized vector """ with tf.name_scope(scope, "l2_batch_normalize") as scope: x_shape = tf.shape(x) x = slim.flatten(x) x /= (epsilon + tf.reduce_max(tf.abs(x), 1, keep_dims=True)) square_sum = tf.reduce_sum(tf.square(x), 1, keep_dims=True) x_inv_norm = tf.rsqrt(np.sqrt(epsilon) + square_sum) x_norm = tf.multiply(x, x_inv_norm) return tf.reshape(x_norm, x_shape, scope)
Example #30
Source File: vgg16.py From SSH-TensorFlow with MIT License | 5 votes |
def _head_to_tail(self, pool5, is_training, reuse=None): with tf.variable_scope(self._scope, self._scope, reuse=reuse): pool5_flat = slim.flatten(pool5, scope='flatten') fc6 = slim.fully_connected(pool5_flat, 4096, scope='fc6') if is_training: fc6 = slim.dropout(fc6, keep_prob=0.5, is_training=True, scope='dropout6') fc7 = slim.fully_connected(fc6, 4096, scope='fc7') if is_training: fc7 = slim.dropout(fc7, keep_prob=0.5, is_training=True, scope='dropout7') return fc7