Open In App

Tensorflow.js tf.layers.conv3d() Function

Last Updated : 25 Apr, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Tensorflow.js is a Google-developed open-source toolkit for executing machine learning models and deep learning neural networks in the browser or on the node platform. It also enables developers to create machine learning models in JavaScript and utilize them directly in the browser or with Node.js.

The tf.layers.conv3d() function is used to apply the 3D convolution operation on data.

Syntax:

tf.layers.conv3d(args)

Parameters: It accepts the args object which can have the following properties:

  • filters (number): The output space’s dimensionality (i.e. the number of filters in the convolution).
  • kernelSize (number|number[]): The convolution window’s dimensions. The convolutional window will be square if kernelSize is a number.
  • strides (number|number[]): The convolutional strides in each dimension. Strides in both dimensions are equal if strides are a number.
  • padding: The padding mode.
  • dataFormat: The data format. This specifies the order in which the dimensions in the inputs are ordered. channelsLast is the default value.
  • dilationRate: In each dimension, the dilation rate to utilize for the dilated convolution. It should be an integer or a two- or three-int array.
  • activation: The layer’s activation function.
  • useBias (boolean): If the layer has a bias vector or not. True is the default value.
  • kernelInitializer: The convolutional kernel weights matrix’s initializer.
  • biasInitializer: The bias vector’s initializer.
  • kernelConstraint: The constraint for the convolutional kernel weights.
  • biasConstraint: The constraint for the bias vector.
  • kernelRegularizer: The regularizer function applied to the kernel weights matrix.
  • biasRegularizer: The regularizer function applied to the bias vector.
  • activityRegularizer: The regularizer function applied to the activation.
  • inputShape: If this property is set, it will be utilized to construct an input layer that will be inserted before this layer. 
  • batchInputShape: If this property is set, an input layer will be created and inserted before this layer. 
  • batchSize: If batchInputShape isn’t supplied and inputShape is, batchSize is utilized to build the batchInputShape.
  • dtype: It is the kind of data type for this layer. float32 is the default value. This parameter applies exclusively to input layers.
  • name: This is the layer’s name and is of string type.
  • trainable: If the weights of this layer may be changed by fit. True is the default value.
  • weights: The layer’s initial weight values.

Returns: It returns an object (Conv3D).

Example 1:

Javascript




import * as tf from "@tensorflow/tfjs";
  
const input = tf.input({ shape: [4, 4, 4, 4] });
const conv3DLayer = tf.layers.conv3d({ 
    filters: 2, 
    kernelSize: 2
});
const output = conv3DLayer.apply(input);
  
const model = tf.model({ inputs: input, outputs: output });
model.predict(tf.ones([1, 4, 4, 4, 4])).print();


Output:

Tensor
   [[[[[0.8289496, 0.3677104],
       [0.8289496, 0.3677104],
       [0.8289496, 0.3677104]],
      [[0.8289496, 0.3677104],
       [0.8289496, 0.3677104],
       [0.8289496, 0.3677104]],
      [[0.8289496, 0.3677104],
       [0.8289496, 0.3677104],
       [0.8289496, 0.3677104]]],

     [[[0.8289496, 0.3677104],
       [0.8289496, 0.3677104],
       [0.8289496, 0.3677104]],
      [[0.8289496, 0.3677104],
       [0.8289496, 0.3677104],
       [0.8289496, 0.3677104]],
      [[0.8289496, 0.3677104],
       [0.8289496, 0.3677104],
       [0.8289496, 0.3677104]]],

     [[[0.8289496, 0.3677104],
       [0.8289496, 0.3677104],
       [0.8289496, 0.3677104]],
      [[0.8289496, 0.3677104],
       [0.8289496, 0.3677104],
       [0.8289496, 0.3677104]],
      [[0.8289496, 0.3677104],
       [0.8289496, 0.3677104],
       [0.8289496, 0.3677104]]]]]

Example 2:

Javascript




import * as tf from "@tensorflow/tfjs";
  
const input = tf.input({ shape: [2, 4, 4, 1] });
  
const conv3DLayer = tf.layers.conv3d({ 
    filters: 2, 
    kernelSize: 2
});
      
const output = conv3DLayer.apply(input);
  
const model = tf.model({ 
    inputs: input, 
    outputs: output 
});
  
const x = tf.tensor5d([1, 2, 3, 4, 5, 6, 7, 8, 
    9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 
    20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 
    30, 31, 32], [1, 2, 4, 4, 1]
);
  
model.predict(x).print();


Output:

Tensor
   [[[[[-13.2970839, -1.055295 ],
       [-13.623745 , -1.1944677],
       [-13.950407 , -1.3336394]],
      [[-14.6037302, -1.6119833],
       [-14.9303923, -1.7511561],
       [-15.2570543, -1.8903288]],
      [[-15.9103785, -2.1686723],
       [-16.2370396, -2.3078454],
       [-16.5637016, -2.4470177]]]]]

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



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads