# Python – tensorflow.gather_nd()

• Last Updated : 10 Jul, 2020

TensorFlow is open-source Python library designed by Google to develop Machine Learning models and deep learning  neural networks.

gather_nd() is used to gather the slice from input tensor based on the indices provided.

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Syntax: tensorflow.gather_nd( params, indices, 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.
• batch_dims: It is an integer representing the number o batch dimension. It must be less than 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([[``1``], [``0``], [``1``]])`` ` `# Printing the input``print``(``'data: '``,data)``print``(``'indices: '``,indices)`` ` `# Calculating result``res ``=` `tf.gather_nd(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(
[

], shape=(3, 1), dtype=int32)
res:  tf.Tensor(
[[3 4]
[1 2]
[3 4]], shape=(3, 2), dtype=int32)

```

Example 2:

## Python3

 `# Importing the library``import` `tensorflow as tf`` ` `# Initializing the input``data ``=` `tf.constant([[``1``, ``2``, ``3``], [``3``, ``4``, ``5``], [``5``, ``6``, ``7``]])``indices ``=` `tf.constant([[``1``, ``0``], [``0``, ``2``], [``1``, ``2``]])`` ` `# Printing the input``print``(``'data: '``,data)``print``(``'indices: '``,indices)`` ` `# Calculating result``res ``=` `tf.gather_nd(data, indices)`` ` `# Printing the result``print``(``'res: '``,res)`

Output:

```data:  tf.Tensor(
[[1 2 3]
[3 4 5]
[5 6 7]], shape=(3, 3), dtype=int32)
indices:  tf.Tensor(
[[1 0]
[0 2]
[1 2]], shape=(3, 2), dtype=int32)
res:  tf.Tensor([3 3 5], shape=(3,), dtype=int32)

```

My Personal Notes arrow_drop_up