当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Tensorflow.js tf.layers.convLstm2dCell()用法及代码示例


Tensorflow.js 是一个由 Google 开发的开源库,用于在浏览器或节点环境中运行机器学习模型以及深度学习神经网络。

tf.layers.convLstm2dCell() 用于创建 ConvLSTM2DCell,它与 ConvRNN2D 子类 ConvLSTM2D 不同,调用方法仅获取单个时间步的输入数据并返回该时间步的单元输出。 convLstm2dCell 是 ConvLSTM2D 的 Cell 类。

用法:

tf.layers.convLstmd2dCell( args )

参数:

  • args: 它需要一个具有以下参数的对象:
    • activation: 这是要使用的激活函数。默认为双曲正切。如果传递 null,则将使用 ‘linear’ 激活函数。
    • useBias: 它指定是否使用偏差向量。
    • kernelInitializer: 它是核权重矩阵的初始化器,用于输入的线性变换。
    • recurrentInitializer: 它是recurrent_Kernel权重矩阵的初始化器,用于循环状态的线性变换。
    • biasInitializer: 它是偏置向量的初始值设定项。
    • kernelRegularizer: 它是应用于核权重矩阵的正则化函数。
    • recurrentRegularizer: 它是应用于 recurrentKernel 权重矩阵的正则化函数。
    • biasRegularizer:  它是应用于偏置向量的正则化函数。
    • kernelConstraint: 它是应用于核权重矩阵的约束函数。
    • recurrentConstraint:  它是应用于 recurrentKernel 权重矩阵的约束函数。
    • biasConstraint: 它是应用于偏置向量的约束函数。
    • dropout: 它是 0 到 1 之间的数字,指示输入线性变换要丢弃的单位。
    • recurrentDropout: 它是降低循环状态线性变换的分数。
    • dropoutFunc: 这用于测试 DI。
    • inputShape: 它应该是一个数字数组。该字段用于创建一个输入层,该输入层用于插入到该层之前。
    • batchInputShape: 它应该是一个数字数组。如果提供 inputShape 和此字段作为创建用于插入到该图层之前的输入图层的参数,则将使用此字段。
    • batchSize: 它应该是一个数字。在没有batchInputShape的情况下,该字段用于使用inputShape创建batchInputShape。 batchInputShape:[batchSize,...inputShape]。
    • dtype: 如果该层用作输入层,则该字段用作该层的数据类型。
    • name: 它应该是字符串类型。该字段定义该层的名称。
    • trainable: 它应该是布尔值。该字段定义该层的权重是否可以通过拟合进行训练。
    • weights: 这应该是一个定义该层初始权重值的张量。
    • inputDType: 这是用于旧版支持的数据类型。
    • recurrentActivation: 它指定将用于循环步骤的激活函数。该参数的默认值为硬 sigmoid。
    • unitForgetBias: 它应该是布尔值。它用于在初始化时将遗忘门的偏差加 1。
    • implementation: 它指定了实现模式。它可以是 1 或 2。为了获得卓越的性能,建议实施。
    • filters: 它是多个滤波器的卷积。
    • kernelSize: 它是卷积窗口将具有的维度。
    • strides: 它是每个维度上卷积层的步长。
    • padding: 应该是‘valid’, ‘same’和‘causal’。它定义了填充模式。
    • dataFormat: 它定义了数据的格式,它告诉输入中维度的顺序。
    • dilationRate: 卷积层在每个维度上应扩张到的扩张率。

Parameters: 它返回ConvLSTMCell

示例 1:

Javascript


import * as tf from "@tensorflow/tfjs";
// InputShape and Input layer for convLstm2dCell layer
const InputShape = [ 4, 2, 5, 5, 2];
const input = tf.input({ shape: InputShape });
// Creating ConvLstm2dCell 
const convLstm2dCell = tf.layers.convLstm2dCell(
    { filters:4, kernelSize:4});
const output = convLstm2dCell.apply(input);
// Printing summary of layers
const model = tf.model({ inputs: input, outputs: output });
model.summary();

输出:

__________________________________________________________________________________________
Layer (type)                Input Shape               Output shape              Param #   
==========================================================================================
input6 (InputLayer)         [[null,4,2,5,5,2]]        [null,4,2,5,5,2]          0         
__________________________________________________________________________________________
conv_lst_m2d_cell_ConvLSTM2 [[null,4,2,5,5,2]]        [null,4,2,5,5,2]          1552      
==========================================================================================
Total params: 1552
Trainable params: 1552
Non-trainable params: 0
__________________________________________________________________________________________

示例 2:

Javascript


// Importing header file 
import * as tf from "@tensorflow/tfjs"
// Creating layer for convLstm2dCell 
const filters = 3;
const kernelSize = 3;
const inputShape = [1, 3, 3, 3];
const input = tf.ones(inputShape);
const convLstm2dCell = tf.layers
    .convLstm2dCell({filters, kernelSize});
     
convLstm2dCell.build(input.shape);
const outShape = [1, 1, 1, 3];
const c = tf.zeros(outShape);
const h = tf.zeros(outShape);
// Printing Tensor 
const [first, second, third] = 
    convLstm2dCell.call([input, c, h], {});
     
console.log("First Tensor");
first.print();
console.log("\nSecond Tensor");
second.print();
console.log("\nThird Tensor");
third.print();

输出:

First Tensor
Tensor
     [ [ [[0.1302425, 0.0364179, 0.0439035],]]]

Second Tensor
Tensor
     [ [ [[0.1302425, 0.0364179, 0.0439035],]]]

Third Tensor
Tensor
     [ [ [[0.3106561, 0.1217758, 0.1326777],]]]

参考:https://js.tensorflow.org/api/latest/#layers.convLstm2dCell



相关用法


注:本文由纯净天空筛选整理自satyam00so大神的英文原创作品 Tensorflow.js tf.layers.convLstm2dCell() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。