Python – tensorflow.gather()
TensorFlow is open-source Python library designed by Google to develop Machine Learning models and deep learning neural networks.
gather() is used to slice the input tensor based on the indices provided.
Syntax: tensorflow.gather( params, indices, validate_indices, axis, batch_dims, name)
Parameters:
- params: It is a Tensor with rank greater than or equal to axis+1.
- indices: It is a Tensor of dtype int32 or int64. It’s value should be in range [0, params.shape[axis]).
- axis: It is a Tensor of dtype int32 or int64. It defines the axis from which indices should be gathered. Default value is 0 and it must be greater than or equal to batch_dims.
- batch_dims: It is an integer representing the number o batch dimension. It must be less than or equal to rank(indices).
- name: It defines the name for the operation.
Returns:
It returns a Tensor having same dtype as param.
Example 1:
Python3
# Importing the library import tensorflow as tf # Initializing the input data = tf.constant([ 1 , 2 , 3 , 4 , 5 , 6 ]) indices = tf.constant([ 0 , 1 , 2 , 1 ]) # Printing the input print ( 'data: ' ,data) print ( 'indices: ' ,indices) # Calculating result res = tf.gather(data, indices) # Printing the result print ( 'res: ' ,res) |
Output:
data: tf.Tensor([1 2 3 4 5 6], shape=(6,), dtype=int32) indices: tf.Tensor([0 1 2 1], shape=(4,), dtype=int32) res: tf.Tensor([1 2 3 2], shape=(4,), dtype=int32)
Example 2:
Python3
# Importing the library import tensorflow as tf # Initializing the input data = tf.constant([[ 1 , 2 ], [ 3 , 4 ], [ 5 , 6 ]]) indices = tf.constant([ 2 , 0 , 1 ]) # Printing the input print ( 'data: ' ,data) print ( 'indices: ' ,indices) # Calculating result res = tf.gather(data, indices) # Printing the result print ( 'res: ' ,res) |
Output:
data: tf.Tensor( [[1 2] [3 4] [5 6]], shape=(3, 2), dtype=int32) indices: tf.Tensor([2 0 1], shape=(3,), dtype=int32) res: tf.Tensor( [[5 6] [1 2] [3 4]], shape=(3, 2), dtype=int32)
Contact Us