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.
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
import tensorflow as tf
data = tf.constant([[ 1 , 2 ], [ 3 , 4 ], [ 5 , 6 ]])
indices = tf.constant([[ 1 ], [ 0 ], [ 1 ]])
print ( 'data: ' ,data)
print ( 'indices: ' ,indices)
res = tf.gather_nd(data, indices)
print ( 'res: ' ,res)
|
Output:
data: tf.Tensor(
[[1 2]
[3 4]
[5 6]], shape=(3, 2), dtype=int32)
indices: tf.Tensor(
[[1]
[0]
[1]], shape=(3, 1), dtype=int32)
res: tf.Tensor(
[[3 4]
[1 2]
[3 4]], shape=(3, 2), dtype=int32)
Example 2:
Python3
import tensorflow as tf
data = tf.constant([[ 1 , 2 , 3 ], [ 3 , 4 , 5 ], [ 5 , 6 , 7 ]])
indices = tf.constant([[ 1 , 0 ], [ 0 , 2 ], [ 1 , 2 ]])
print ( 'data: ' ,data)
print ( 'indices: ' ,indices)
res = tf.gather_nd(data, indices)
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)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...