Tensorflow.js tf.layers.simpleRNNCell() Function
Last Updated :
12 Jun, 2021
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.simpleRNNCell( ) function is used to find a cell class for simpleRNN.
Syntax:
tf.layers.simpleRNNCell (args)
Parameters:
- 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 a 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 a 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 and 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.
- weights: 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 SimpleRNNCell.
Example 1: In this example, SimpleRNNCell is distinct from the RNN subclass. In SimpleRNN, its apply method takes the input data of only a single time step and returns the cell’s output at the time step, while SimpleRNN takes the input data over a number of time steps.
Javascript
import * as tf from "@tensorflow/tfjs"
const cell = tf.layers.simpleRNNCell({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 SimpleRNNCell 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
import * as tf from "@tensorflow/tfjs"
const cells = [
tf.layers.simpleRNNCell({units: 8}),
tf.layers.simpleRNNCell({units: 16}),
];
const rnn = tf.layers.rnn({cell: cells, returnSequences: true });
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.simpleRNNCell
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...