Wednesday, July 3, 2024
HomeLanguagesJavascriptTensorflow.js tf.layers.permute() Function

Tensorflow.js tf.layers.permute() Function

The layers in models are the basic blocks in constructions of models, for every layer perform some computation on input and output to the next layer. 
The tf.layers.permute() function is inherited from layers class and is used to permute the dimensions of the input in a given pattern, Also used to connect RNNs and convnet together. In this post, we are going to know how this function works.

Syntax: 

tf.layers.permute(agrs)

Parameters :

  • dims: It is an array of integer which represents permutation pattern. It does not include batch dimensions.
  • inputShape: It is used to create and insert the input layer.
  • batchInputShape: It is used to create and insert the input layer. If inputShape and batchInputShape both are mentioned then batchInputShape will be used.
  • batchSize: It is used to create batchInputShape when inputShape is specified and batchInputShape not.
  • dtype: The datatype of layer.
  • name: It represents the name of the layer.
  • trainable: It is a boolean value that represents whether weights are updated or not by fit.
  • weights: It is an array of weight that represent the initial weight values of layers.

Returns: Permute

Example 1: In this example, we are going to create a model with a single layer and only passing the required agrs to permute() function.

Javascript




// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
 
//create model
const model = tf.sequential();
 
//add layer into model and use permute() method
model.add(tf.layers.permute({
   dims: [2,1],
   inputShape:[8,8]
}));
 
//print outputShape
console.log("Output Shape"+model.outputShape);
 
//model summary()
model.summary()


Output:

Output Shape,8,8
_________________________________________________________________
Layer (type)                 Output shape              Param #    
=================================================================
permute_Permute11 (Permute)  [null,8,8]                0          
=================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0
_________________________________________________________________

Example 2: In this example, we are going to create model with 2 layers layer 1 and layer 2 with permute() function and passing all agrs to it.

Javascript




// Importing the tensorflow.js library
//import * as tf from "@tensorflow/tfjs"
 
//create model
const model = tf.sequential();
 
//add layer into model and use permute() method
//layer 1
model.add(tf.layers.permute({
   dims: [2,1],
   inputShape:[10,64],
   dtype:'int32',
   name:'layer1',
   batchSize:2,
  trainable:true,
  inputDType:'int32'
   
}));
 
//add layer2
model.add(tf.layers.permute({
   dims: [2,1],
   inputShape:[8,16],
   dtype:'int32',
   name:'layer2',
   batchSize:2,
  trainable:true,
  inputDType:'int32'
   
}));
 
//print outputShape
console.log("Output Shape :"+model.outputShape);
 
//model summary()
model.summary()


Output: 

Output Shape :2,10,64
_________________________________________________________________
Layer (type)                 Output shape              Param #    
=================================================================
layer1 (Permute)             [2,64,10]                 0          
_________________________________________________________________
layer2 (Permute)             [2,10,64]                 0          
=================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0
_________________________________________________________________

References: https://js.tensorflow.org/api/latest/#layers.permute

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

Dominic Rubhabha Wardslaus
Dominic Rubhabha Wardslaushttps://neveropen.dev
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments