Python tensorflow.random_shuffle() Examples
The following are 30
code examples of tensorflow.random_shuffle().
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: sv2p_model.py From video_prediction with MIT License | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #2
Source File: prediction_model.py From ECO-pytorch with BSD 2-Clause "Simplified" License | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #3
Source File: prediction_model.py From Gun-Detector with Apache License 2.0 | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #4
Source File: prediction_model.py From object_detection_kitti with Apache License 2.0 | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #5
Source File: prediction_model.py From DOTA_models with Apache License 2.0 | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #6
Source File: next_frame.py From fine-lm with MIT License | 6 votes |
def scheduled_sample(self, ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of groundtruth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(batch_size)) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, batch_size)) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #7
Source File: obj2sen.py From unsupervised_captioning with MIT License | 6 votes |
def parse_sentence(serialized): """Parses a tensorflow.SequenceExample into an caption. Args: serialized: A scalar string Tensor; a single serialized SequenceExample. Returns: key: The keywords in a sentence. num_key: The number of keywords. sentence: A description. sentence_length: The length of the description. """ context, sequence = tf.parse_single_sequence_example( serialized, context_features={}, sequence_features={ 'key': tf.FixedLenSequenceFeature([], dtype=tf.int64), 'sentence': tf.FixedLenSequenceFeature([], dtype=tf.int64), }) key = tf.to_int32(sequence['key']) key = tf.random_shuffle(key) sentence = tf.to_int32(sequence['sentence']) return key, tf.shape(key)[0], sentence, tf.shape(sentence)[0]
Example #8
Source File: prediction_model.py From hands-detection with MIT License | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #9
Source File: image_preprocess_multi_gpu.py From R3Det_Tensorflow with MIT License | 6 votes |
def aspect_ratio_jittering(img_tensor, gtboxes_and_label, aspect_ratio=(0.8, 1.5)): ratio_list = tf.range(aspect_ratio[0], aspect_ratio[1], delta=0.025) ratio = tf.random_shuffle(ratio_list)[0] img_h, img_w = tf.shape(img_tensor)[0], tf.shape(img_tensor)[1] areas = img_h * img_w areas = tf.cast(areas, tf.float32) short_side = tf.sqrt(areas / ratio) long_side = short_side * ratio short_side = tf.cast(short_side, tf.int32) long_side = tf.cast(long_side, tf.int32) image, gtbox, new_h, new_w = tf.cond(tf.less(img_w, img_h), true_fn=lambda: tf_resize_image(img_tensor, gtboxes_and_label, short_side, long_side), false_fn=lambda: tf_resize_image(img_tensor, gtboxes_and_label, long_side, short_side)) return image, gtbox, new_h, new_w
Example #10
Source File: image_preprocess_multi_gpu.py From R3Det_Tensorflow with MIT License | 6 votes |
def rotate_img(img_tensor, gtboxes_and_label): # thetas = tf.constant([-30, -60, -90, 30, 60, 90]) thetas = tf.range(-90, 90+16, delta=15) # -90, -75, -60, -45, -30, -15, 0, 15, 30, 45, 60, 75, 90 theta = tf.random_shuffle(thetas)[0] img_tensor, gtboxes_and_label = tf.py_func(rotate_img_np, inp=[img_tensor, gtboxes_and_label, theta], Tout=[tf.float32, tf.int32]) h, w, c = tf.shape(img_tensor)[0], tf.shape(img_tensor)[1], tf.shape(img_tensor)[2] img_tensor = tf.reshape(img_tensor, [h, w, c]) gtboxes_and_label = tf.reshape(gtboxes_and_label, [-1, 9]) return img_tensor, gtboxes_and_label
Example #11
Source File: augmentation_factory.py From MMNet with Apache License 2.0 | 6 votes |
def _generate_rand(min_factor, max_factor, step_size): """Gets a random value. Args: min_factor: Minimum value. max_factor: Maximum value. step_size: The step size from minimum to maximum value. Returns: A random value selected between minimum and maximum value. Raises: ValueError: min_factor has unexpected value. """ if min_factor < 0 or min_factor > max_factor: raise ValueError("Unexpected value of min_factor.") if min_factor == max_factor: return tf.to_float(min_factor) # When step_size = 0, we sample the value uniformly from [min, max). if step_size == 0: return tf.random_uniform([1], minval=min_factor, maxval=max_factor) # When step_size != 0, we randomly select one discrete value from [min, max]. num_steps = int((max_factor - min_factor) / step_size + 1) scale_factors = tf.lin_space(min_factor, max_factor, num_steps) shuffled_scale_factors = tf.random_shuffle(scale_factors) return shuffled_scale_factors[0]
Example #12
Source File: image_reader_cuda.py From Siamese-RPN-tensorflow with MIT License | 6 votes |
def read_from_disk(self,queue): index_t=queue[0]#tf.random_shuffle(self.input_list)[0] index_min=tf.reshape(tf.where(tf.less_equal(self.node,index_t)),[-1]) node_min=self.node[index_min[-1]] node_max=self.node[index_min[-1]+1] interval_list=list(range(30,100)) interval=tf.random_shuffle(interval_list)[0] index_d=[tf.cond(tf.greater(index_t-interval,node_min),lambda:index_t-interval,lambda:index_t+interval),tf.cond(tf.less(index_t+interval,node_max),lambda:index_t+interval,lambda:index_t-interval)] index_d=tf.random_shuffle(index_d) index_d=index_d[0] constant_t=tf.read_file(self.img_list[index_t]) template=tf.image.decode_jpeg(constant_t, channels=3) template=template[:,:,::-1] constant_d=tf.read_file(self.img_list[index_d]) detection=tf.image.decode_jpeg(constant_d, channels=3) detection=detection[:,:,::-1] template_label=self.label_list[index_t] detection_label=self.label_list[index_d] template_p,template_label_p,_,_=self.crop_resize(template,template_label,1) detection_p,detection_label_p,offset,ratio=self.crop_resize(detection,detection_label,2) return template_p,template_label_p,detection_p,detection_label_p,offset,ratio,detection,detection_label,index_t,index_d
Example #13
Source File: fisher_factors.py From kfac with Apache License 2.0 | 6 votes |
def _random_tensor_gather(array, num_ind, name=None): """Samples random indices of an array (along the first dimension). Args: array: Tensor of shape `[batch_size, ...]`. num_ind: int. Number of indices to sample. name: `string`. (Default: None) Returns: A tensor of shape `[num_ind, ...]`. """ with tf.name_scope(name, "random_gather", [array]): array = tf.convert_to_tensor(array) total_size = array.shape.as_list()[0] if total_size is None: total_size = utils.get_shape(array)[0] indices = tf.random_shuffle(tf.range(0, total_size))[:num_ind] return tf.gather(array, indices, axis=0)
Example #14
Source File: sna_model.py From video_prediction with MIT License | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data_files points. Args: ground_truth_x: tensor of ground-truth data_files points. generated_x: tensor of generated data_files points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #15
Source File: prediction_model.py From yolo_v2 with Apache License 2.0 | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #16
Source File: train.py From triplet-reid with MIT License | 6 votes |
def sample_k_fids_for_pid(pid, all_fids, all_pids, batch_k): """ Given a PID, select K FIDs of that specific PID. """ possible_fids = tf.boolean_mask(all_fids, tf.equal(all_pids, pid)) # The following simply uses a subset of K of the possible FIDs # if more than, or exactly K are available. Otherwise, we first # create a padded list of indices which contain a multiple of the # original FID count such that all of them will be sampled equally likely. count = tf.shape(possible_fids)[0] padded_count = tf.cast(tf.ceil(batch_k / tf.cast(count, tf.float32)), tf.int32) * count full_range = tf.mod(tf.range(padded_count), count) # Sampling is always performed by shuffling and taking the first k. shuffled = tf.random_shuffle(full_range) selected_fids = tf.gather(possible_fids, shuffled[:batch_k]) return selected_fids, tf.fill([batch_k], pid)
Example #17
Source File: dna_model.py From video_prediction with MIT License | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #18
Source File: prediction_model.py From Action_Recognition_Zoo with MIT License | 6 votes |
def scheduled_sample(ground_truth_x, generated_x, batch_size, num_ground_truth): """Sample batch with specified mix of ground truth and generated data points. Args: ground_truth_x: tensor of ground-truth data points. generated_x: tensor of generated data points. batch_size: batch size num_ground_truth: number of ground-truth examples to include in batch. Returns: New batch with num_ground_truth sampled from ground_truth_x and the rest from generated_x. """ idx = tf.random_shuffle(tf.range(int(batch_size))) ground_truth_idx = tf.gather(idx, tf.range(num_ground_truth)) generated_idx = tf.gather(idx, tf.range(num_ground_truth, int(batch_size))) ground_truth_examps = tf.gather(ground_truth_x, ground_truth_idx) generated_examps = tf.gather(generated_x, generated_idx) return tf.dynamic_stitch([ground_truth_idx, generated_idx], [ground_truth_examps, generated_examps])
Example #19
Source File: train.py From vehicle-triplet-reid with MIT License | 6 votes |
def sample_k_fids_for_pid(pid, all_fids, all_pids, batch_k): """ Given a PID, select K FIDs of that specific PID. """ possible_fids = tf.boolean_mask(all_fids, tf.equal(all_pids, pid)) # The following simply uses a subset of K of the possible FIDs # if more than, or exactly K are available. Otherwise, we first # create a padded list of indices which contain a multiple of the # original FID count such that all of them will be sampled equally likely. count = tf.shape(possible_fids)[0] padded_count = tf.cast(tf.ceil(batch_k / count), tf.int32) * count full_range = tf.mod(tf.range(padded_count), count) # Sampling is always performed by shuffling and taking the first k. shuffled = tf.random_shuffle(full_range) selected_fids = tf.gather(possible_fids, shuffled[:batch_k]) return selected_fids, tf.fill([batch_k], pid)
Example #20
Source File: minibatch_sampler.py From TLNet with Apache License 2.0 | 5 votes |
def subsample_indicator(indicator, num_samples): """Subsample indicator vector. Given a boolean indicator vector with M elements set to `True`, the function assigns all but `num_samples` of these previously `True` elements to `False`. If `num_samples` is greater than M, the original indicator vector is returned. Args: indicator: a 1-dimensional boolean tensor indicating which elements are allowed to be sampled and which are not. num_samples: int32 scalar tensor Returns: a boolean tensor with the same shape as input (indicator) tensor """ indices = tf.where(indicator) indices = tf.random_shuffle(indices) indices = tf.reshape(indices, [-1]) num_samples = tf.minimum(tf.size(indices), num_samples) selected_indices = tf.slice(indices, [0], tf.reshape(num_samples, [1])) selected_indicator = ops.indices_to_dense_vector(selected_indices, tf.shape(indicator)[ 0]) return tf.equal(selected_indicator, 1)
Example #21
Source File: DiffForest.py From keras-extras with Apache License 2.0 | 5 votes |
def build(self, input_shape): input_dim = input_shape[1] #Per tree N_DECISION = (2 ** (self.n_depth)) - 1 # Number of decision nodes N_LEAF = 2 ** (self.n_depth + 1) # Number of leaf nodes if self.randomize_training: #Construct a mask that lets N trees get trained per minibatch train_mask = np.zeros(self.n_trees, dtype=np.float32) for i in xrange(self.randomize_training): train_mask[i] = 1 self.random_mask = tf.random_shuffle(tf.constant(train_mask)) self.w_d_ensemble = [] self.w_l_ensemble = [] self.trainable_weights = [] for i in xrange(self.n_trees): decision_weights = self.d_init((input_dim, N_DECISION), name=self.name+"_tree"+i+"_dW") leaf_distributions = self.l_init((N_LEAF, self.output_classes), name=self.name+"_tree"+i+"_lW") self.trainable_weights.append(decision_weights) self.trainable_weights.append(leaf_distributions) if self.randomize_training: do_gradient = self.random_mask[i] no_gradient = 1 - do_gradient #This should always allow inference, but block gradient flow when do_gradient = 0 decision_weights = do_gradient * decision_weights + no_gradient * tf.stop_gradient(decision_weights) leaf_distributions = do_gradient * leaf_distributions + no_gradient * tf.stop_gradient(leaf_distributions) self.w_d_ensemble.append(decision_weights) self.w_l_ensemble.append(leaf_distributions)
Example #22
Source File: nar_model.py From chameleon_recsys with MIT License | 5 votes |
def shuffle_columns(x): batch_size = tf.shape(x)[0] counter = tf.constant(0) m0 = tf.zeros(shape=[0, tf.shape(x)[1]], dtype=x.dtype) cond = lambda i, m: i < batch_size body = lambda i, m: [i+1, tf.concat([m, tf.expand_dims(tf.random_shuffle(x[i]), 0)], axis=0)] _, shuffled_columns = tf.while_loop( cond, body, loop_vars=[counter, m0], shape_invariants=[counter.get_shape(), tf.TensorShape([None,None])]) return shuffled_columns
Example #23
Source File: minibatch_sampler.py From ros_tensorflow with Apache License 2.0 | 5 votes |
def subsample_indicator(indicator, num_samples): """Subsample indicator vector. Given a boolean indicator vector with M elements set to `True`, the function assigns all but `num_samples` of these previously `True` elements to `False`. If `num_samples` is greater than M, the original indicator vector is returned. Args: indicator: a 1-dimensional boolean tensor indicating which elements are allowed to be sampled and which are not. num_samples: int32 scalar tensor Returns: a boolean tensor with the same shape as input (indicator) tensor """ indices = tf.where(indicator) indices = tf.random_shuffle(indices) indices = tf.reshape(indices, [-1]) num_samples = tf.minimum(tf.size(indices), num_samples) selected_indices = tf.slice(indices, [0], tf.reshape(num_samples, [1])) selected_indicator = ops.indices_to_dense_vector(selected_indices, tf.shape(indicator)[0]) return tf.equal(selected_indicator, 1)
Example #24
Source File: minibatch_sampler.py From avod with MIT License | 5 votes |
def subsample_indicator(indicator, num_samples): """Subsample indicator vector. Given a boolean indicator vector with M elements set to `True`, the function assigns all but `num_samples` of these previously `True` elements to `False`. If `num_samples` is greater than M, the original indicator vector is returned. Args: indicator: a 1-dimensional boolean tensor indicating which elements are allowed to be sampled and which are not. num_samples: int32 scalar tensor Returns: a boolean tensor with the same shape as input (indicator) tensor """ indices = tf.where(indicator) indices = tf.random_shuffle(indices) indices = tf.reshape(indices, [-1]) num_samples = tf.minimum(tf.size(indices), num_samples) selected_indices = tf.slice(indices, [0], tf.reshape(num_samples, [1])) selected_indicator = ops.indices_to_dense_vector(selected_indices, tf.shape(indicator)[ 0]) return tf.equal(selected_indicator, 1)
Example #25
Source File: minibatch_sampler.py From BMW-TensorFlow-Training-GUI with Apache License 2.0 | 5 votes |
def subsample_indicator(indicator, num_samples): """Subsample indicator vector. Given a boolean indicator vector with M elements set to `True`, the function assigns all but `num_samples` of these previously `True` elements to `False`. If `num_samples` is greater than M, the original indicator vector is returned. Args: indicator: a 1-dimensional boolean tensor indicating which elements are allowed to be sampled and which are not. num_samples: int32 scalar tensor Returns: a boolean tensor with the same shape as input (indicator) tensor """ indices = tf.where(indicator) indices = tf.random_shuffle(indices) indices = tf.reshape(indices, [-1]) num_samples = tf.minimum(tf.size(indices), num_samples) selected_indices = tf.slice(indices, [0], tf.reshape(num_samples, [1])) selected_indicator = ops.indices_to_dense_vector(selected_indices, tf.shape(indicator)[0]) return tf.equal(selected_indicator, 1)
Example #26
Source File: minibatch_sampler.py From tpu_models with Apache License 2.0 | 5 votes |
def subsample_indicator(indicator, num_samples): """Subsample indicator vector. Given a boolean indicator vector with M elements set to `True`, the function assigns all but `num_samples` of these previously `True` elements to `False`. If `num_samples` is greater than M, the original indicator vector is returned. Args: indicator: a 1-dimensional boolean tensor indicating which elements are allowed to be sampled and which are not. num_samples: int32 scalar tensor Returns: a boolean tensor with the same shape as input (indicator) tensor """ indices = tf.where(indicator) indices = tf.random_shuffle(indices) indices = tf.reshape(indices, [-1]) num_samples = tf.minimum(tf.size(indices), num_samples) selected_indices = tf.slice(indices, [0], tf.reshape(num_samples, [1])) selected_indicator = ops.indices_to_dense_vector(selected_indices, tf.shape(indicator)[0]) return tf.equal(selected_indicator, 1)
Example #27
Source File: layers.py From mixmatch with Apache License 2.0 | 5 votes |
def augment_pair(x0, l0, x1, l1, beta, **kwargs): del kwargs mix = tf.distributions.Beta(beta, beta).sample([tf.shape(x0)[0], 1, 1, 1]) mix = tf.maximum(mix, 1 - mix) index = tf.random_shuffle(tf.range(tf.shape(x0)[0])) xs = tf.gather(x1, index) ls = tf.gather(l1, index) xmix = x0 * mix + xs * (1 - mix) lmix = l0 * mix[:, :, 0, 0] + ls * (1 - mix[:, :, 0, 0]) return xmix, lmix
Example #28
Source File: minibatch_sampler.py From Gun-Detector with Apache License 2.0 | 5 votes |
def subsample_indicator(indicator, num_samples): """Subsample indicator vector. Given a boolean indicator vector with M elements set to `True`, the function assigns all but `num_samples` of these previously `True` elements to `False`. If `num_samples` is greater than M, the original indicator vector is returned. Args: indicator: a 1-dimensional boolean tensor indicating which elements are allowed to be sampled and which are not. num_samples: int32 scalar tensor Returns: a boolean tensor with the same shape as input (indicator) tensor """ indices = tf.where(indicator) indices = tf.random_shuffle(indices) indices = tf.reshape(indices, [-1]) num_samples = tf.minimum(tf.size(indices), num_samples) selected_indices = tf.slice(indices, [0], tf.reshape(num_samples, [1])) selected_indicator = ops.indices_to_dense_vector(selected_indices, tf.shape(indicator)[0]) return tf.equal(selected_indicator, 1)
Example #29
Source File: nar_model.py From chameleon_recsys with MIT License | 5 votes |
def get_sample_from_recently_clicked_items_buffer(self, sample_size): with tf.variable_scope("neg_samples_buffer"): pop_recent_items_buffer_masked = tf.boolean_mask(self.pop_recent_items_buffer, tf.cast(tf.sign(self.pop_recent_items_buffer), tf.bool)) #tf.summary.scalar('unique_clicked_items_on_buffer', family='stats', tensor=tf.shape(unique_pop_recent_items_buffer_masked)[0]) tf.summary.scalar('clicked_items_on_buffer', family='stats', tensor=tf.shape(pop_recent_items_buffer_masked)[0]) #recent_items_unique_sample, idxs = tf.unique(tf.random_shuffle(pop_recent_items_buffer_masked)[:sample_size*sample_size_factor_to_look_for_unique]) recent_items_unique_sample = tf.random_shuffle(pop_recent_items_buffer_masked) #Samples K articles from recent articles sample_recently_clicked_items = recent_items_unique_sample[:sample_size] return sample_recently_clicked_items
Example #30
Source File: gqn_provider.py From tf-gqn with Apache License 2.0 | 5 votes |
def _get_randomized_indices(context_size, dataset_info): """Generates randomized indices into a sequence of a specific length.""" example_size = context_size + 1 indices = tf.range(0, dataset_info.sequence_size) indices = tf.random_shuffle(indices) indices = tf.slice(indices, begin=[0], size=[example_size]) return indices