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 of 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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)

chevron_right


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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)

chevron_right


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)





My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.