Python tensorflow.multiply() Examples
The following are 30
code examples of tensorflow.multiply().
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
, or try the search function
.
Example #1
Source File: utils.py From HardRLWithYoutube with MIT License | 6 votes |
def dense(x, size, name, weight_init=None, bias_init=0, weight_loss_dict=None, reuse=None): with tf.variable_scope(name, reuse=reuse): assert (len(tf.get_variable_scope().name.split('/')) == 2) w = tf.get_variable("w", [x.get_shape()[1], size], initializer=weight_init) b = tf.get_variable("b", [size], initializer=tf.constant_initializer(bias_init)) weight_decay_fc = 3e-4 if weight_loss_dict is not None: weight_decay = tf.multiply(tf.nn.l2_loss(w), weight_decay_fc, name='weight_decay_loss') if weight_loss_dict is not None: weight_loss_dict[w] = weight_decay_fc weight_loss_dict[b] = 0.0 tf.add_to_collection(tf.get_variable_scope().name.split('/')[0] + '_' + 'losses', weight_decay) return tf.nn.bias_add(tf.matmul(x, w), b)
Example #2
Source File: resnet_tf.py From neural-fingerprinting with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _decay(self): """L2 weight decay loss.""" if self.decay_cost is not None: return self.decay_cost costs = [] if self.device_name is None: for var in tf.trainable_variables(): if var.op.name.find(r'DW') > 0: costs.append(tf.nn.l2_loss(var)) else: for layer in self.layers: for var in layer.params_device[self.device_name].values(): if (isinstance(var, tf.Variable) and var.op.name.find(r'DW') > 0): costs.append(tf.nn.l2_loss(var)) self.decay_cost = tf.multiply(self.hps.weight_decay_rate, tf.add_n(costs)) return self.decay_cost
Example #3
Source File: cifar10.py From DOTA_models with Apache License 2.0 | 6 votes |
def _variable_with_weight_decay(name, shape, stddev, wd): """Helper to create an initialized Variable with weight decay. Note that the Variable is initialized with a truncated normal distribution. A weight decay is added only if one is specified. Args: name: name of the variable shape: list of ints stddev: standard deviation of a truncated Gaussian wd: add L2Loss weight decay multiplied by this float. If None, weight decay is not added for this Variable. Returns: Variable Tensor """ dtype = tf.float16 if FLAGS.use_fp16 else tf.float32 var = _variable_on_cpu( name, shape, tf.truncated_normal_initializer(stddev=stddev, dtype=dtype)) if wd is not None: weight_decay = tf.multiply(tf.nn.l2_loss(var), wd, name='weight_loss') tf.add_to_collection('losses', weight_decay) return var
Example #4
Source File: deep_cnn.py From DOTA_models with Apache License 2.0 | 6 votes |
def _variable_with_weight_decay(name, shape, stddev, wd): """Helper to create an initialized Variable with weight decay. Note that the Variable is initialized with a truncated normal distribution. A weight decay is added only if one is specified. Args: name: name of the variable shape: list of ints stddev: standard deviation of a truncated Gaussian wd: add L2Loss weight decay multiplied by this float. If None, weight decay is not added for this Variable. Returns: Variable Tensor """ var = _variable_on_cpu(name, shape, tf.truncated_normal_initializer(stddev=stddev)) if wd is not None: weight_decay = tf.multiply(tf.nn.l2_loss(var), wd, name='weight_loss') tf.add_to_collection('losses', weight_decay) return var
Example #5
Source File: losses.py From DOTA_models with Apache License 2.0 | 6 votes |
def l2_loss(tensor, weight=1.0, scope=None): """Define a L2Loss, useful for regularize, i.e. weight decay. Args: tensor: tensor to regularize. weight: an optional weight to modulate the loss. scope: Optional scope for name_scope. Returns: the L2 loss op. """ with tf.name_scope(scope, 'L2Loss', [tensor]): weight = tf.convert_to_tensor(weight, dtype=tensor.dtype.base_dtype, name='loss_weight') loss = tf.multiply(weight, tf.nn.l2_loss(tensor), name='value') tf.add_to_collection(LOSSES_COLLECTION, loss) return loss
Example #6
Source File: losses.py From DOTA_models with Apache License 2.0 | 6 votes |
def l1_regularizer(weight=1.0, scope=None): """Define a L1 regularizer. Args: weight: scale the loss by this factor. scope: Optional scope for name_scope. Returns: a regularizer function. """ def regularizer(tensor): with tf.name_scope(scope, 'L1Regularizer', [tensor]): l1_weight = tf.convert_to_tensor(weight, dtype=tensor.dtype.base_dtype, name='weight') return tf.multiply(l1_weight, tf.reduce_sum(tf.abs(tensor)), name='value') return regularizer
Example #7
Source File: losses.py From DOTA_models with Apache License 2.0 | 6 votes |
def l2_regularizer(weight=1.0, scope=None): """Define a L2 regularizer. Args: weight: scale the loss by this factor. scope: Optional scope for name_scope. Returns: a regularizer function. """ def regularizer(tensor): with tf.name_scope(scope, 'L2Regularizer', [tensor]): l2_weight = tf.convert_to_tensor(weight, dtype=tensor.dtype.base_dtype, name='weight') return tf.multiply(l2_weight, tf.nn.l2_loss(tensor), name='value') return regularizer
Example #8
Source File: losses.py From DOTA_models with Apache License 2.0 | 6 votes |
def l1_l2_regularizer(weight_l1=1.0, weight_l2=1.0, scope=None): """Define a L1L2 regularizer. Args: weight_l1: scale the L1 loss by this factor. weight_l2: scale the L2 loss by this factor. scope: Optional scope for name_scope. Returns: a regularizer function. """ def regularizer(tensor): with tf.name_scope(scope, 'L1L2Regularizer', [tensor]): weight_l1_t = tf.convert_to_tensor(weight_l1, dtype=tensor.dtype.base_dtype, name='weight_l1') weight_l2_t = tf.convert_to_tensor(weight_l2, dtype=tensor.dtype.base_dtype, name='weight_l2') reg_l1 = tf.multiply(weight_l1_t, tf.reduce_sum(tf.abs(tensor)), name='value_l1') reg_l2 = tf.multiply(weight_l2_t, tf.nn.l2_loss(tensor), name='value_l2') return tf.add(reg_l1, reg_l2, name='value') return regularizer
Example #9
Source File: losses.py From DOTA_models with Apache License 2.0 | 6 votes |
def l1_loss(tensor, weight=1.0, scope=None): """Define a L1Loss, useful for regularize, i.e. lasso. Args: tensor: tensor to regularize. weight: scale the loss by this factor. scope: Optional scope for name_scope. Returns: the L1 loss op. """ with tf.name_scope(scope, 'L1Loss', [tensor]): weight = tf.convert_to_tensor(weight, dtype=tensor.dtype.base_dtype, name='loss_weight') loss = tf.multiply(weight, tf.reduce_sum(tf.abs(tensor)), name='value') tf.add_to_collection(LOSSES_COLLECTION, loss) return loss
Example #10
Source File: actor.py From reinforcement_learning with MIT License | 6 votes |
def __init__(self, state_size, action_size, lr, n_h1=400, n_h2=300, tau=0.001): self.state_size = state_size self.action_size = action_size self.optimizer = tf.train.AdamOptimizer(lr) self.tau = tau self.n_h1 = n_h1 self.n_h2 = n_h2 self.input_s, self.actor_variables, self.action_values = self._build_network("actor") self.input_s_target, self.actor_variables_target, self.action_values_target = self._build_network("actor_target") self.action_gradients = tf.placeholder(tf.float32, [None, self.action_size]) self.actor_gradients = tf.gradients(self.action_values, self.actor_variables, -self.action_gradients) self.update_target_op = [self.actor_variables_target[i].assign(tf.multiply(self.actor_variables[i], self.tau) + tf.multiply(self.actor_variables_target[i], 1 - self.tau)) for i in range(len(self.actor_variables))] self.optimize = self.optimizer.apply_gradients(zip(self.actor_gradients, self.actor_variables))
Example #11
Source File: critic.py From reinforcement_learning with MIT License | 6 votes |
def __init__(self, state_size, action_size, lr, n_h1=400, n_h2=300, tau=0.001): self.state_size = state_size self.action_size = action_size self.optimizer = tf.train.AdamOptimizer(lr) self.tau = tau self.n_h1 = n_h1 self.n_h2 = n_h2 self.input_s, self.action, self.critic_variables, self.q_value = self._build_network("critic") self.input_s_target, self.action_target, self.critic_variables_target, self.q_value_target = self._build_network("critic_target") self.target = tf.placeholder(tf.float32, [None]) self.l2_loss = tf.add_n([tf.nn.l2_loss(v) for v in self.critic_variables]) self.loss = tf.reduce_mean(tf.square(self.target - self.q_value)) + 0.01*self.l2_loss self.optimize = self.optimizer.minimize(self.loss) self.update_target_op = [self.critic_variables_target[i].assign(tf.multiply(self.critic_variables[i], self.tau) + tf.multiply(self.critic_variables_target[i], 1 - self.tau)) for i in range(len(self.critic_variables))] self.action_gradients = tf.gradients(self.q_value, self.action)
Example #12
Source File: filter.py From kvae with MIT License | 6 votes |
def compute_forwards(self, reuse=None): """Compute the forward step in the Kalman filter. The forward pass is intialized with p(z_1)=N(self.mu, self.Sigma). We then return the mean and covariances of the predictive distribution p(z_t|z_tm1,u_t), t=2,..T+1 and the filtering distribution p(z_t|x_1:t,u_1:t), t=1,..T We follow the notation of Murphy's book, section 18.3.1 """ # To make sure we are not accidentally using the real outputs in the steps with missing values, set them to 0. y_masked = tf.multiply(tf.expand_dims(self.mask, 2), self.y) inputs = tf.concat([y_masked, self.u, tf.expand_dims(self.mask, 2)], axis=2) y_prev = tf.expand_dims(self.y_0, 0) # (1, dim_y) y_prev = tf.tile(y_prev, (tf.shape(self.mu)[0], 1)) alpha, state, u, buffer = self.alpha(y_prev, self.state, self.u[:, 0], init_buffer=True, reuse= reuse) # dummy matrix to initialize B and C in scan dummy_init_A = tf.ones([self.Sigma.get_shape()[0], self.dim_z, self.dim_z]) dummy_init_B = tf.ones([self.Sigma.get_shape()[0], self.dim_z, self.dim_u]) dummy_init_C = tf.ones([self.Sigma.get_shape()[0], self.dim_y, self.dim_z]) forward_states = tf.scan(self.forward_step_fn, tf.transpose(inputs, [1, 0, 2]), initializer=(self.mu, self.Sigma, self.mu, self.Sigma, alpha, u, state, buffer, dummy_init_A, dummy_init_B, dummy_init_C), parallel_iterations=1, name='forward') return forward_states
Example #13
Source File: nn.py From kvae with MIT License | 6 votes |
def log_likelihood(mu, var, x, muq, varq, a, mask_flat, config): if config.out_distr == 'bernoulli': log_lik = log_bernoulli(x, mu, eps=1e-6) # (bs*L, d1*d2) elif config.out_distr == 'gaussian': log_lik = log_gaussian(x, mu, var) log_lik = tf.reduce_sum(log_lik, 1) # (bs*L, ) log_lik = tf.multiply(mask_flat, log_lik) # TODO: dropout scales the output as input/keep_prob. Issue? if config.ll_keep_prob < 1.0: log_lik = tf.layers.dropout(log_lik, config.ll_keep_prob) # We compute the log-likelihood *per frame* num_el = tf.reduce_sum(mask_flat) log_px_given_a = tf.truediv(tf.reduce_sum(log_lik), num_el) # () if config.use_vae: log_qa_given_x = tf.reduce_sum(log_gaussian(a, muq, varq), 1) # (bs*L, ) log_qa_given_x = tf.multiply(mask_flat, log_qa_given_x) log_qa_given_x = tf.truediv(tf.reduce_sum(log_qa_given_x), num_el) # () else: log_qa_given_x = tf.constant(0.0, dtype=tf.float32, shape=()) LL = log_px_given_a - log_qa_given_x return LL, log_px_given_a, log_qa_given_x
Example #14
Source File: mdbt_util.py From ConvLab with MIT License | 6 votes |
def get_metrics(predictions, true_predictions, no_turns, mask, num_slots): mask = tf.reshape(mask, [-1, num_slots]) correct_prediction = tf.cast(tf.equal(predictions, true_predictions), "float32") * mask num_positives = tf.reduce_sum(true_predictions) classified_positives = tf.reduce_sum(predictions) true_positives = tf.multiply(predictions, true_predictions) num_true_positives = tf.reduce_sum(true_positives) recall = num_true_positives / num_positives precision = num_true_positives / classified_positives f_score = (2 * recall * precision) / (recall + precision) accuracy = tf.reduce_sum(correct_prediction) / (tf.cast(tf.reduce_sum(no_turns), dtype="float32") * num_slots) return precision, recall, f_score, accuracy # main.py
Example #15
Source File: preprocessor_test.py From object_detector_app with MIT License | 6 votes |
def testRandomFlipBoxes(self): boxes = self.createTestBoxes() # Case where the boxes are flipped. boxes_expected1 = self.expectedBoxesAfterMirroring() # Case where the boxes are not flipped. boxes_expected2 = boxes # After elementwise multiplication, the result should be all-zero since one # of them is all-zero. boxes_diff = tf.multiply( tf.squared_difference(boxes, boxes_expected1), tf.squared_difference(boxes, boxes_expected2)) expected_result = tf.zeros_like(boxes_diff) with self.test_session() as sess: (boxes_diff, expected_result) = sess.run([boxes_diff, expected_result]) self.assertAllEqual(boxes_diff, expected_result)
Example #16
Source File: utils.py From lirpg with MIT License | 6 votes |
def dense(x, size, name, weight_init=None, bias_init=0, weight_loss_dict=None, reuse=None): with tf.variable_scope(name, reuse=reuse): assert (len(tf.get_variable_scope().name.split('/')) == 2) w = tf.get_variable("w", [x.get_shape()[1], size], initializer=weight_init) b = tf.get_variable("b", [size], initializer=tf.constant_initializer(bias_init)) weight_decay_fc = 3e-4 if weight_loss_dict is not None: weight_decay = tf.multiply(tf.nn.l2_loss(w), weight_decay_fc, name='weight_decay_loss') if weight_loss_dict is not None: weight_loss_dict[w] = weight_decay_fc weight_loss_dict[b] = 0.0 tf.add_to_collection(tf.get_variable_scope().name.split('/')[0] + '_' + 'losses', weight_decay) return tf.nn.bias_add(tf.matmul(x, w), b)
Example #17
Source File: metric.py From Face-skin-hair-segmentaiton-and-skin-color-evaluation with Apache License 2.0 | 6 votes |
def mean_iou(y_true, y_pred, cls_num=CLS_NUM): result = 0 nc = tf.cast(tf.shape(y_true)[-1], tf.float32) for i in range(cls_num): # nii = number of pixels of classe i predicted to belong to class i nii = tf.reduce_sum(tf.round(tf.multiply( y_true[:, :, :, i], y_pred[:, :, :, i]))) ti = tf.reduce_sum(y_true[:, :, :, i]) # number of pixels of class i loc_sum = 0 for j in range(cls_num): # number of pixels of classe j predicted to belong to class i nji = tf.reduce_sum(tf.round(tf.multiply( y_true[:, :, :, j], y_pred[:, :, :, i]))) loc_sum += nji result += nii / (ti - nii + loc_sum) return (1 / nc) * result
Example #18
Source File: similarities.py From NTM-One-Shot-TF with MIT License | 5 votes |
def cosine_similarity(x, y, eps=1e-6): z = tf.matmul(x, tf.transpose(y, perm=[0,2,1])) z /= tf.sqrt(tf.multiply(tf.expand_dims(tf.reduce_sum(tf.multiply(x,x), 2), 2),tf.expand_dims(tf.reduce_sum(tf.multiply(y,y), 2), 1)) + eps) return z
Example #19
Source File: module.py From Voice_Converter_CycleGAN with MIT License | 5 votes |
def gated_linear_layer(inputs, gates, name = None): activation = tf.multiply(x = inputs, y = tf.sigmoid(gates), name = name) return activation
Example #20
Source File: tf_extensions.py From tangent with Apache License 2.0 | 5 votes |
def ttfreduce_max(y, x, axis=None, keep_dims=False): mask = tf.to_float( tf.equal( tangent.unreduce( tf.ones_like(y), tangent.shape_as_list(x), axis, keep_dims), x)) d[y] = tf.multiply(d[x], mask)
Example #21
Source File: tf_util.py From pointnet-registration-framework with MIT License | 5 votes |
def _variable_with_weight_decay(name, shape, stddev, wd, use_xavier=True): """Helper to create an initialized Variable with weight decay. Note that the Variable is initialized with a truncated normal distribution. A weight decay is added only if one is specified. Args: name: name of the variable shape: list of ints stddev: standard deviation of a truncated Gaussian wd: add L2Loss weight decay multiplied by this float. If None, weight decay is not added for this Variable. use_xavier: bool, whether to use xavier initializer Returns: Variable Tensor """ if use_xavier: initializer = tf.contrib.layers.xavier_initializer() else: initializer = tf.truncated_normal_initializer(stddev=stddev) var = _variable_on_cpu(name, shape, initializer) if wd is not None: weight_decay = tf.multiply(tf.nn.l2_loss(var), wd, name='weight_loss') tf.add_to_collection('losses', weight_decay) return var
Example #22
Source File: preprocessor_test.py From object_detector_app with MIT License | 5 votes |
def testRandomRGBtoGray(self): preprocess_options = [(preprocessor.random_rgb_to_gray, {})] images_original = self.createTestImages() tensor_dict = {fields.InputDataFields.image: images_original} tensor_dict = preprocessor.preprocess(tensor_dict, preprocess_options) images_gray = tensor_dict[fields.InputDataFields.image] images_gray_r, images_gray_g, images_gray_b = tf.split( value=images_gray, num_or_size_splits=3, axis=3) images_r, images_g, images_b = tf.split( value=images_original, num_or_size_splits=3, axis=3) images_r_diff1 = tf.squared_difference(tf.to_float(images_r), tf.to_float(images_gray_r)) images_r_diff2 = tf.squared_difference(tf.to_float(images_gray_r), tf.to_float(images_gray_g)) images_r_diff = tf.multiply(images_r_diff1, images_r_diff2) images_g_diff1 = tf.squared_difference(tf.to_float(images_g), tf.to_float(images_gray_g)) images_g_diff2 = tf.squared_difference(tf.to_float(images_gray_g), tf.to_float(images_gray_b)) images_g_diff = tf.multiply(images_g_diff1, images_g_diff2) images_b_diff1 = tf.squared_difference(tf.to_float(images_b), tf.to_float(images_gray_b)) images_b_diff2 = tf.squared_difference(tf.to_float(images_gray_b), tf.to_float(images_gray_r)) images_b_diff = tf.multiply(images_b_diff1, images_b_diff2) image_zero1 = tf.constant(0, dtype=tf.float32, shape=[1, 4, 4, 1]) with self.test_session() as sess: (images_r_diff_, images_g_diff_, images_b_diff_, image_zero1_) = sess.run( [images_r_diff, images_g_diff, images_b_diff, image_zero1]) self.assertAllClose(images_r_diff_, image_zero1_) self.assertAllClose(images_g_diff_, image_zero1_) self.assertAllClose(images_b_diff_, image_zero1_)
Example #23
Source File: detect_face.py From insightface with MIT License | 5 votes |
def prelu(self, inp, name): with tf.variable_scope(name): i = int(inp.get_shape()[-1]) alpha = self.make_var('alpha', shape=(i,)) output = tf.nn.relu(inp) + tf.multiply(alpha, -tf.nn.relu(-inp)) return output
Example #24
Source File: base_model.py From hierarchical_loc with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _train_graph(self, data): tower_losses, tower_gradvars, update_ops = self._gpu_tower(data, Mode.TRAIN) # Perform the consolidation on CPU gradvars = [] with tf.device('/cpu:0'): # Average losses and gradients with tf.name_scope('tower_averaging'): all_grads = {} for grad, var in itertools.chain(*tower_gradvars): if grad is not None: all_grads.setdefault(var, []).append(grad) for var, grads in all_grads.items(): if len(grads) == 1: avg_grad = grads[0] else: avg_grad = tf.multiply(tf.add_n(grads), 1. / len(grads)) gradvars.append((avg_grad, var)) self.loss = tf.reduce_mean(tower_losses) tf.summary.scalar('loss', self.loss) # Create optimizer ops self.global_step = tf.Variable(0, trainable=False, name='global_step') opt = tf.train.RMSPropOptimizer(self.config['learning_rate']) with tf.control_dependencies(update_ops): self.trainer = opt.apply_gradients( gradvars, global_step=self.global_step)
Example #25
Source File: preprocessor.py From object_detector_app with MIT License | 5 votes |
def random_pixel_value_scale(image, minval=0.9, maxval=1.1, seed=None): """Scales each value in the pixels of the image. This function scales each pixel independent of the other ones. For each value in image tensor, draws a random number between minval and maxval and multiples the values with them. Args: image: rank 3 float32 tensor contains 1 image -> [height, width, channels] with pixel values varying between [0, 1]. minval: lower ratio of scaling pixel values. maxval: upper ratio of scaling pixel values. seed: random seed. Returns: image: image which is the same shape as input image. boxes: boxes which is the same shape as input boxes. """ with tf.name_scope('RandomPixelValueScale', values=[image]): color_coef = tf.random_uniform( tf.shape(image), minval=minval, maxval=maxval, dtype=tf.float32, seed=seed) image = tf.multiply(image, color_coef) image = tf.clip_by_value(image, 0.0, 1.0) return image
Example #26
Source File: preprocessor.py From object_detector_app with MIT License | 5 votes |
def normalize_image(image, original_minval, original_maxval, target_minval, target_maxval): """Normalizes pixel values in the image. Moves the pixel values from the current [original_minval, original_maxval] range to a the [target_minval, target_maxval] range. Args: image: rank 3 float32 tensor containing 1 image -> [height, width, channels]. original_minval: current image minimum value. original_maxval: current image maximum value. target_minval: target image minimum value. target_maxval: target image maximum value. Returns: image: image which is the same shape as input image. """ with tf.name_scope('NormalizeImage', values=[image]): original_minval = float(original_minval) original_maxval = float(original_maxval) target_minval = float(target_minval) target_maxval = float(target_maxval) image = tf.to_float(image) image = tf.subtract(image, original_minval) image = tf.multiply(image, (target_maxval - target_minval) / (original_maxval - original_minval)) image = tf.add(image, target_minval) return image
Example #27
Source File: discrete.py From tensorflow_RL with MIT License | 5 votes |
def __init__(self, name, window_size, obs_stack, output_size, num_support, batch_size): self.window_size = window_size self.obs_stack = obs_stack self.output_size = output_size self.num_support = num_support self.batch_size = batch_size self.quantile_embedding_dim = 128 with tf.variable_scope(name): self.input = tf.placeholder(tf.float32, shape=[None, self.window_size, self.window_size, self.obs_stack]) self.input_expand = tf.expand_dims(self.input, axis=1) self.input_tile = tf.tile(self.input_expand, [1, self.num_support, 1, 1, 1]) self.input_reshape = tf.reshape(self.input_tile, [-1, self.window_size, self.window_size, self.obs_stack]) self.conv1 = tf.layers.conv2d(inputs=self.input_reshape, filters=32, kernel_size=[8, 8], strides=[4, 4], padding='VALID', activation=tf.nn.relu) self.conv2 = tf.layers.conv2d(inputs=self.conv1, filters=64, kernel_size=[4, 4], strides=[2, 2], padding='VALID', activation=tf.nn.relu) self.conv3 = tf.layers.conv2d(inputs=self.conv2, filters=64, kernel_size=[3, 3], strides=[1, 1], padding='VALID', activation=tf.nn.relu) self.reshape = tf.reshape(self.conv3, [-1, 7 * 7 * 64]) self.l1 = tf.layers.dense(inputs=self.reshape, units=self.quantile_embedding_dim, activation=tf.nn.relu) self.tau = tf.placeholder(tf.float32, [None, self.num_support]) self.tau_reshape = tf.reshape(self.tau, [-1, 1]) self.pi_mtx = tf.constant(np.expand_dims(np.pi * np.arange(0, 64), axis=0), dtype=tf.float32) self.cos_tau = tf.cos(tf.matmul(self.tau_reshape, self.pi_mtx)) self.phi = tf.layers.dense(inputs=self.cos_tau, units=self.quantile_embedding_dim, activation=tf.nn.relu) self.net_sum = tf.multiply(self.l1, self.phi) self.net_l1 = tf.layers.dense(inputs=self.net_sum, units=512, activation=tf.nn.relu) self.net_l2 = tf.layers.dense(inputs=self.net_l1, units=256, activation=tf.nn.relu) self.net_l3 = tf.layers.dense(inputs=self.net_l2, units=self.output_size, activation=None) self.net_action = tf.transpose(tf.split(self.net_l3, 1, axis=0), perm=[0, 2, 1]) self.net = tf.transpose(tf.split(self.net_l3, self.batch_size, axis=0), perm=[0, 2, 1]) self.scope = tf.get_variable_scope().name
Example #28
Source File: discrete.py From tensorflow_RL with MIT License | 5 votes |
def __init__(self, name, state_size, output_size, num_support, batch_size): self.state_size = state_size self.output_size = output_size self.num_support = num_support self.quantile_embedding_dim = 128 self.batch_size = batch_size with tf.variable_scope(name): self.input = tf.placeholder(tf.float32, shape=[None, self.state_size]) self.tau = tf.placeholder(tf.float32, shape=[None, self.num_support]) state_tile = tf.tile(self.input, [1, self.num_support]) state_reshape = tf.reshape(state_tile, [-1, self.state_size]) state_net = tf.layers.dense(inputs=state_reshape, units=self.quantile_embedding_dim, activation=tf.nn.selu) tau = tf.reshape(self.tau, [-1, 1]) pi_mtx = tf.constant(np.expand_dims(np.pi * np.arange(0, 64), axis=0), dtype=tf.float32) cos_tau = tf.cos(tf.matmul(tau, pi_mtx)) phi = tf.layers.dense(inputs=cos_tau, units=self.quantile_embedding_dim, activation=tf.nn.relu) net = tf.multiply(state_net, phi) net = tf.layers.dense(inputs=net, units=512, activation=tf.nn.relu) net = tf.layers.dense(inputs=net, units=128, activation=tf.nn.relu) net = tf.layers.dense(inputs=net, units=self.output_size, activation=None) self.net_action = tf.transpose(tf.split(net, 1, axis=0), perm=[0, 2, 1]) self.net = tf.transpose(tf.split(net, self.batch_size, axis=0), perm=[0, 2, 1]) self.scope = tf.get_variable_scope().name
Example #29
Source File: inception_preprocessing.py From STORK with MIT License | 5 votes |
def preprocess_for_eval(image, height, width, central_fraction=0.875, scope=None): """Prepare one image for evaluation. If height and width are specified it would output an image with that size by applying resize_bilinear. If central_fraction is specified it would crop the central fraction of the input image. Args: image: 3-D Tensor of image. If dtype is tf.float32 then the range should be [0, 1], otherwise it would converted to tf.float32 assuming that the range is [0, MAX], where MAX is largest positive representable number for int(8/16/32) data type (see `tf.image.convert_image_dtype` for details) height: integer width: integer central_fraction: Optional Float, fraction of the image to crop. scope: Optional scope for name_scope. Returns: 3-D float Tensor of prepared image. """ with tf.name_scope(scope, 'eval_image', [image, height, width]): if image.dtype != tf.float32: image = tf.image.convert_image_dtype(image, dtype=tf.float32) # Crop the central region of the image with an area containing 87.5% of # the original image. if central_fraction: image = tf.image.central_crop(image, central_fraction=central_fraction) if height and width: # Resize the image to the specified height and width. image = tf.expand_dims(image, 0) image = tf.image.resize_bilinear(image, [height, width], align_corners=False) image = tf.squeeze(image, [0]) image = tf.subtract(image, 0.5) image = tf.multiply(image, 2.0) return image
Example #30
Source File: layer.py From 3DGCN with MIT License | 5 votes |
def call(self, inputs, mask=None): # Import graph tensors # scalar_features_1 = (samples, max_atoms, max_atoms, atom_feat) # scalar_features_2 = (samples, max_atoms, max_atoms, atom_feat) # adjacency = (samples, max_atoms, max_atoms) scalar_features_1, scalar_features_2, adjacency = inputs # Get parameters max_atoms = int(scalar_features_1.shape[1]) atom_feat_1 = int(scalar_features_1.shape[-1]) atom_feat_2 = int(scalar_features_2.shape[-1]) # Concatenate two features scalar_features = tf.concat([scalar_features_1, scalar_features_2], axis=-1) # Linear combination scalar_features = tf.reshape(scalar_features, [-1, atom_feat_1 + atom_feat_2]) scalar_features = tf.matmul(scalar_features, self.w_conv_scalar) + self.b_conv_scalar scalar_features = tf.reshape(scalar_features, [-1, max_atoms, max_atoms, self.filters]) # Adjacency masking adjacency = tf.reshape(adjacency, [-1, max_atoms, max_atoms, 1]) adjacency = tf.tile(adjacency, [1, 1, 1, self.filters]) scalar_features = tf.multiply(scalar_features, adjacency) # Integrate over second atom axis if self.pooling == "sum": scalar_features = tf.reduce_sum(scalar_features, axis=2) elif self.pooling == "max": scalar_features = tf.reduce_max(scalar_features, axis=2) # Activation scalar_features = self.activation(scalar_features) return scalar_features