Open In App

Tensorflow.js tf.layers.gruCell() Function

Improve
Improve
Like Article
Like
Save
Share
Report

Tensorflow.js is an open-source library that is being developed by Google for running machine learning models as well as deep learning neural networks in the browser or node environment.

The .layers.gruCell( ) function is used to create a cell class for GRU.

Syntax:

tf.layers.gruCell (args)

Parameters:

  • recurrentActivation:  It is  a  tensor input  that is an activation function to use for the recurrent step, defaults to hard sigmoid. If you pass null, no activation is applied.
  • implementation: It is a  tensor input that has two implementation mode:
    1. In first , mode will structure its operations as a larger number of smaller dot products and additions.
    2. In second, mode will batch them into fewer, larger operations. These modes will have different performance profiles on different hardware and for different applications.
  • resetAfter: It is a  tensor input that can be of GRU convention whether to apply reset gate after or before matrix multiplication where     false=”before” and true=”after”.
  • units: It is a tensor input that has positive integer unit which is a  dimensionality of the output space.
  • activation: It is a tensor input that is  an activation function to use and defaults to hyperbolic tangent. If you pass null, linear activation will be applied.
  • useBias: It is a tensor input where a bias vector use for the layer.
  • KernelInitializer: It is a tensor input that is an initializer for the kernel weights matrix which is used for the linear transformation of the inputs.
  • recurrentInitializer: It is a tensor input that is an initializer for the recurrentKernel weights matrix which is used for the linear transformation of the recurrent state.
  • biasInitializer: It is a tensor input that is an initializer for the bias vector.
  • kernelRegularizer: It is a tensor input where regularizer function applied to the kernel weights matrix.
  • recurrentRegularizer: It is a tensor input where regularizer function applied to the recurrent_kernel weights matrix.
  • biasRegularizer: It is a tensor input where regularizer function applied to the bias vector.
  • kernelConstraint: It is a tensor input where constraint function applied to the kernel weights matrix.
  • recurrentConstraint: It is a tensor input where constraint function applied to the recurrentKernel weights matrix.
  • biasConstraint: It is a tensor input where constraint function applied to the bias vector.
  • dropout: It is a tensor input where fraction of the units to drop for the linear transformation of the inputs and float number  between 0 and 1.
  • recurrentDropout: It is a tensor input where fraction of the units to drop for the linear transformation of the recurrent state and float number  between 0 and 1.
  • inputShape: It is a tensor input that will be used to create an input layer to insert before this layer , if defined. It is only applicable to input layers.
  • batchInputShape: It is a tensor input that will be used to create an input layer to insert before this layer, if defined. It is only applicable to input layers.
  • batchSize: It is a tensor input where  batchSize is used to construct the batchInputShape ,if inputShape is specified and batchInputShape is not specified.
  • dType: It is a tensor input that is the data-type for this layer, defaults to ‘float32’.
  • name: It is a tensor input that is name for this layer.
  • trainable: It is a tensor input that defaults to true whether the weights of  this layer are updatable by fit.
  • weight: It is a tensor input that can be of initial weight values of the layer.
  • inputDType: It is a tensor input that has legacy support and do not use for new code.

Return Value: It returns GRUCell.

Example 1:In this example, GRUCell is distinct from the RNN subclass GRU in that its apply method takes the input data of only a single time step and returns the cell’s output at the time step, while GRU takes the input data over a number of time steps.

Javascript




// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining input elements
const cell = tf.layers.gruCell({units: 3});
const input = tf.input({shape: [11]});
const output = cell.apply(input);
  
console.log(JSON.stringify(output.shape));


Output:

[null,11]

Example 2:In this example, Instance(s) of GRUCell can be used to construct RNN layers. The most typical use of this workflow is to combine a number of cells into a stacked RNN cell (i.e., StackedRNNCell internally) and use it to create an RNN.

Javascript




// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining input elements
const cells = [
   tf.layers.gruCell({units: 8}),
   tf.layers.gruCell({units: 16}),
];
const rnn = tf.layers.rnn({
    cell: cells, 
    returnSequences: true
});
  
// Create an input with 20 time steps and 
// a length-30 vector at each step.
const input = tf.input({shape: [20, 30]});
const output = rnn.apply(input);
  
console.log(JSON.stringify(output.shape));


Output:

[null,20,16]

Reference:https://js.tensorflow.org/api/latest/#layers.gruCell



Last Updated : 04 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads