Open In App

Tensorflow.js tf.layers.conv2dTranspose() Function

Last Updated : 12 Dec, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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.layers.conv2dTranspose() function is used to transposed convolutions which generally arises from the desire to use a transformation going in the opposite direction of a normal convolution. When using this layer as the first layer in a model, it provides the configuration inputShape, e.g, inputShape: [ 64, 64, 5 ] for 64 x 64 RGB pictures in dataFormat: ‘channelsLast’.

Syntax:

tf.layers.conv2dTranspose( args )

Parameters: 

  • args: It accepts objects as parameters with the following fields:
    • filters: It is the dimensionality of the output space that is the number of filters in the convolution. 
    • kernelSize: It is the dimensions of the convolution windows. If kernelSize is a number, the convolution window will be square.
    • strides: It is the strides of the convolution in each dimension. If strides are a number, strides in both dimensions are equal.
    • padding: It defines the padding mode.
    • dataFormat: It defines the format of data, which determines the ordering of the dimensions in the input. 
    • dilationRate: It defines the dilation rate to use for the dilation convolution in each dimension. It should be an integer or array or two or three integers.
    • activation: It is the activation function of the layer.
    • useBias: It defines whether to use a bias vector or not.
    • kernelInitializer: It is the initializer for the convolution kernel weights matrix.
    • biasInitializer: It is the initializer for the bias vector.
    • kernelConstraint: It is the constraint for the convolution kernel weights matrix.
    • biasCosnstraint: It is the constraint for the bias vector.
    • kernelRegularizer: It is a regularizer function applied to the kernel weights matrix.
    • biasRegularizer: It is a regularizer function applied to a bias vector.
    • activityRegularizer: It is a regularizer function applied to activation.
    • inputShape: It should be an array of numbers. This field is used to create an input layer which is used to be inserted before this layer.
    • batchInputShape: It should be an array of numbers. This field will be used if inputShape and this field are provided as a parameter for creating the input layer which is used to insert before this layer.
    • batchSize: It should be a number. In the absence of batchInputShape, this field is used to create batchInputShape with inputShape. batchInputShape : [ batchSize ,  …inputShape].
    • dtype: If this layer is used as the input layer, then this field is used as the data type for this layer.
    • name: It should be a string type. this field defines the name for this layer.
    • trainable: It should be boolean. This field defines whether the weights of this layer are trainable with fit or not.
    • weights: This should be a tensor that defines the initial weight value for this layer.
    • inputDType: This is a data type that is used for Legacy support.

Return Value: It returns Conv2DTranspose

Example 1:

Javascript




// Import the header file
import * as tf from "@tensorflow/tfjs"
 
// Creating separableConv2d layer
const conv2dTranspose = tf.layers.conv2dTranspose({
    filters: 3, kernelSize: 8,
    batchInputShape: [2, 3, 5]
});
 
// Create an input with 2 time steps.
const input = tf.input({ shape: [4, 5, 8] });
const output = conv2dTranspose.apply(input);
 
// Printing the Shape of file
console.log(JSON.stringify(output.shape));


Output:

[null,11,12,3]

Example 2:

Javascript




// Import Header file
import * as tf from "@tensorflow/tfjs"
 
// Creating input layer
const inputShape = [1, 1, 1, 2];
const input = tf.ones(inputShape);
 
// Creating upSampling layer
const layer = tf.layers.conv2dTranspose({
    filters: 2, kernelSize: 2,
    batchInputShape: [1, 2, 3]
});
 
// Printing tensor
const output = layer.apply(input);
output.print();


Output:

Tensor
    [[[[0.081374  , -0.2834765],
       [-0.1283467, -0.2375581]],

      [[-0.791486 , 0.2895283 ],
       [-0.2392025, -0.1721524]]]]

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



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads