Python tensorflow.python.ops.random_ops.random_shuffle() Examples
The following are 4
code examples of tensorflow.python.ops.random_ops.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.python.ops.random_ops
, or try the search function
.
Example #1
Source File: segment_extractor_ops.py From text with Apache License 2.0 | 6 votes |
def __init__(self, shuffle_fn=None, random_fn=None, random_next_sentence_threshold=0.5): """Creates an instance of the `NextSentencePredictionExtractor`. Args: shuffle_fn: An op that shuffles the sentences in a random order. Default uses tf.random.shuffle. The output of `shuffle_fn` are the candidates used for the random next sentence. random_fn: An op that returns a random float from [0, 1]. If the results of this function passes `random_next_sentence_threshold` then a random sentence is swapped in as it's accompanying segment. Default uses tf.random.uniform. random_next_sentence_threshold: A float threshold that determines whether or not a random sentence is injected instead of the next sentence. The higher the threshold, the higher the likelihood of inserting a random sentence. """ self._shuffle_fn = shuffle_fn or random_ops.random_shuffle self._random_fn = random_fn or random_ops.random_uniform self._random_next_sentence_threshold = random_next_sentence_threshold
Example #2
Source File: sparse_optimizers.py From rigl with Apache License 2.0 | 5 votes |
def get_grow_tensor(self, weights, method): """Different ways to initialize new connections. Args: weights: tf.Tensor or Variable. method: str, available options: 'zeros', 'random_normal', 'random_uniform' and 'initial_value' Returns: tf.Tensor same shape and type as weights. Raises: ValueError, when the method is not valid. """ if not isinstance(method, six.string_types): raise ValueError('Grow-Init: %s is not a string' % method) if method == 'zeros': grow_tensor = array_ops.zeros_like(weights, dtype=weights.dtype) elif method.startswith('initial_dist'): original_shape = weights.initial_value.shape divisor = extract_number(method) grow_tensor = array_ops.reshape( random_ops.random_shuffle(array_ops.reshape( weights.initial_value, [-1])), original_shape) / divisor elif method.startswith('random_normal'): stddev = math_ops.reduce_std(weights) divisor = extract_number(method) grow_tensor = self._random_normal( weights.shape, stddev=stddev, dtype=weights.dtype, seed=hash(weights.name + 'grow_init_n')) / divisor elif method.startswith('random_uniform'): mean = math_ops.reduce_mean(math_ops.abs(weights)) divisor = extract_number(method) grow_tensor = self._random_uniform( weights.shape, minval=-mean, maxval=mean, dtype=weights.dtype, seed=hash(weights.name + 'grow_init_u')) / divisor else: raise ValueError('Grow-Init: %s is not a valid option.' % method) return grow_tensor
Example #3
Source File: permutation.py From keras-xlnet with MIT License | 5 votes |
def call(self, inputs, training=None, **kwargs): inputs, memory = inputs batch_size = K.shape(inputs)[0] seq_len = K.shape(inputs)[1] mem_mask = K.tile(K.ones_like(memory[:, :, :1], dtype=K.floatx()), [1, 1, seq_len]) # Build content mask with random permutation ranges = K.tile(K.expand_dims(K.arange(0, seq_len), axis=-1), [1, batch_size]) if self.enabled: shuffle = random_shuffle(ranges) else: shuffle = ranges if self.directional: shuffled = K.in_train_phase(shuffle, ranges, training) else: if self.enabled: shuffled = K.in_train_phase(shuffle, ranges + seq_len, training) else: shuffled = ranges + seq_len ranges = K.expand_dims(K.permute_dimensions(ranges, [1, 0]), axis=-1) shuffled = K.expand_dims(K.permute_dimensions(shuffled, [1, 0]), axis=1) content_mask = K.cast(ranges <= shuffled, dtype=K.floatx()) # Build query mask based on content mask ranges = K.arange(0, seq_len) eye = K.equal(K.expand_dims(ranges, axis=0), K.expand_dims(ranges, axis=-1)) eye = K.expand_dims(K.cast(eye, dtype=K.floatx()), axis=0) query_mask = content_mask * (1.0 - eye) content_mask = K.concatenate([mem_mask, content_mask], axis=1) query_mask = K.concatenate([mem_mask, query_mask], axis=1) return [ K.permute_dimensions(content_mask, [0, 2, 1]), K.permute_dimensions(query_mask, [0, 2, 1]), ]
Example #4
Source File: input.py From deep_image_model with Apache License 2.0 | 4 votes |
def input_producer(input_tensor, element_shape=None, num_epochs=None, shuffle=True, seed=None, capacity=32, shared_name=None, summary_name=None, name=None): """Output the rows of `input_tensor` to a queue for an input pipeline. Args: input_tensor: A tensor with the rows to produce. Must be at least one-dimensional. Must either have a fully-defined shape, or `element_shape` must be defined. element_shape: (Optional.) A `TensorShape` representing the shape of a row of `input_tensor`, if it cannot be inferred. num_epochs: (Optional.) An integer. If specified `input_producer` produces each row of `input_tensor` `num_epochs` times before generating an `OutOfRange` error. If not specified, `input_producer` can cycle through the rows of `input_tensor` an unlimited number of times. shuffle: (Optional.) A boolean. If true, the rows are randomly shuffled within each epoch. seed: (Optional.) An integer. The seed to use if `shuffle` is true. capacity: (Optional.) The capacity of the queue to be used for buffering the input. shared_name: (Optional.) If set, this queue will be shared under the given name across multiple sessions. summary_name: (Optional.) If set, a scalar summary for the current queue size will be generated, using this name as part of the tag. name: (Optional.) A name for queue. Returns: A queue with the output rows. A `QueueRunner` for the queue is added to the current `QUEUE_RUNNER` collection of the current graph. Raises: ValueError: If the shape of the input cannot be inferred from the arguments. """ with ops.name_scope(name, "input_producer", [input_tensor]): input_tensor = ops.convert_to_tensor(input_tensor, name="input_tensor") element_shape = input_tensor.get_shape()[1:].merge_with(element_shape) if not element_shape.is_fully_defined(): raise ValueError("Either `input_tensor` must have a fully defined shape " "or `element_shape` must be specified") if shuffle: input_tensor = random_ops.random_shuffle(input_tensor, seed=seed) input_tensor = limit_epochs(input_tensor, num_epochs) q = data_flow_ops.FIFOQueue(capacity=capacity, dtypes=[input_tensor.dtype.base_dtype], shapes=[element_shape], shared_name=shared_name, name=name) enq = q.enqueue_many([input_tensor]) queue_runner.add_queue_runner(queue_runner.QueueRunner(q, [enq])) if summary_name is not None: summary.scalar("queue/%s/%s" % (q.name, summary_name), math_ops.cast(q.size(), dtypes.float32) * (1. / capacity)) return q