Tensorflow.js tf.gatherND() Function

Tensorflow.js is an open-source library developed by Google for running machine learning models and deep learning neural networks in the browser or node environment. It also helps the developers to develop ML models in JavaScript language and can use ML directly in the browser or in Node.js.

The tf.gatherND() function is used to gather slices from the shape specified by indices with the input tensor.

Syntax:

tf.gatherND(tensor1, tensor2)

Parameters: This function accepts the following two parameters:

  • tensor1: It is that tensor from which we gather values.
  • tensor2: It is a K-dimensional integer tensor. It acts as indices. It must be of type int32.

Return Value: It returns tf.Tensor object.

Example 1:

Javascript




// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
 
// Initializing a 3d tensor as indices.
let Beginner = tf.tensor3d([1, 2, 3, 4], [2, 2, 1], 'int32');
 
// Initializing a 3d tensor as input.
let input = tf.tensor1d([1, 2, 3]);
 
// Gathering both input and indices.
let answer = tf.gatherND(input, Beginner);
answer.print();


Output:

Tensor
    [[2, 3],
     [3, 3]]

Example 2:

Javascript




// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
 
// Gathering the tensor and indices together.
let Beginner = tf.gatherND(tf.tensor4d([[[[1], [2]], [[3], [4]]]]),
            tf.tensor2d([1, 1, 1, 0], [2,2], 'int32'));
             
// Printing the final result.           
Beginner.print();


Output:

Tensor
    [[[4],
      [4]],

     [[4],
      [4]]]

Reference: https://js.tensorflow.org/api/latest/#gatherND