📜  Tensorflow.js tf.layers.permute()函数

📅  最后修改于: 2022-05-13 01:56:19.162000             🧑  作者: Mango

Tensorflow.js tf.layers.permute()函数

模型中的层是模型构建中的基本块,因为每一层都对下一层的输入和输出进行一些计算。
tf.layers.permute()函数继承自 layers 类,用于以给定模式置换输入的维度,也用于将 RNN 和 convnet 连接在一起。在这篇文章中,我们将了解这个函数是如何工作的。

句法:

tf.layers.permute(agrs)

参数 :

  • dims:它是一个表示排列模式的整数数组。它不包括批次维度。
  • inputShape:用于创建和插入输入层。
  • batchInputShape:用于创建和插入输入层。如果 inputShape 和 batchInputShape 都被提及,那么将使用 batchInputShape。
  • batchSize:当指定 inputShape 而未指定 batchInputShape 时,用于创建 batchInputShape。
  • dtype:图层的数据类型。
  • name:代表图层的名称。
  • trainable:它是一个布尔值,表示权重是否通过拟合更新。
  • weights:它是一个权重数组,表示层的初始权重值。

回报:置换

示例 1:在此示例中,我们将创建一个具有单层的模型,并且只将所需的 agrs 传递给 permute()函数。

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()


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 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
_________________________________________________________________

示例 2:在此示例中,我们将使用 permute()函数创建具有 2 层第 1 层和第 2 层的模型,并将所有 agrs 传递给它。

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 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
_________________________________________________________________

参考资料: https://js.tensorflow.org/api/latest/#layers.permute