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

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

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

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

Tensorflow.js tf.layers.maxPooling1d()函数用于对时间数据进行最大池化操作。

句法:

tf.layers.maxPooling1d( args );

参数:

  • args:它指定给定的配置对象:
    • poolSize:它是一个数字或数字数组。它指定要合并的窗口的大小。
    • strides:它是一个数字或数字数组。它指定对汇总值进行采样的时间段。
    • padding:它应该是以下三个值之一: 'valid'、'same'和'casual'。它指定如何填写不是 poolSize 整数倍的数据。
    • inputSize:它应该为 null 或数字数组。它用于创建要在这些层之前插入的输入层。
    • batchInputShape:它应该为 null 或数字数组。我定义了,它用于创建要在这些层之前插入的输入层。 batchInputShape 比 inputSize 具有更高的优先级,因此我们更喜欢 batchInputSize 而不是 inputSize。
    • batchSize:应该是一个数字。在没有batchInputShape 的情况下,该字段用于创建带有inputShape 的batchInputShape。 batchInputShape:[batchSize,…inputShape]。
    • dtype:如果该层用作输入层,则该字段用作该层的数据类型。
    • name:应该是字符串类型。此字段定义此层的名称。
    • 可训练:它应该是布尔值。该字段定义了该层的权重是否可以进行拟合训练。
    • 权重:这应该是定义该层初始权重值的张量。
    • inputDType:这是用于 Legacy 支持的数据类型。

返回值:返回 MaxPooling1d。

示例 1:在此示例中,我们将 tf.layers.maxPooling1d()函数添加到顺序模型并打印模型摘要。

Javascript
import * as tf from "@tensorflow.js/tfjs"
  
const model = tf.sequential();
  
// First layer must have a defined input shape
model.add(tf.layers.maxPooling1d({
    poolSize: 4, 
    strides: 5, 
    padding: 'valid',
    inputShape: [4,3]
}));
  
// Afterwards, TF.js does automatic shape inference.
model.add(tf.layers.maxPooling1d({
    poolSize: 4, 
    strides: 5, 
    padding: 'valid'
}));
  
// Printing the summary of model
model.summary();


Javascript
import * as tf from "@tensorflow.js/tfjs"
  
const model = tf.sequential();
  
// First layer must have a defined input shape
model.add(tf.layers.maxPooling1d({
    poolSize: 4, 
    strides: 5, 
    padding: 'valid',
    inputShape: [4,3]
}));
  
// Afterwards, TF.js does automatic shape inference.
model.add(tf.layers.dense({units: 3}));
  
model.add(tf.layers.maxPooling1d({
    poolSize: 4, 
    strides: 5, 
    padding: 'valid'
}));
  
// Inspect the inferred shape of the model's output.
console.log(JSON.stringify(model.outputs[0].shape));


输出:

​__________________________________________________________________________________________
Layer (type)                Input Shape               Output shape              Param #   
==========================================================================================
max_pooling1d_MaxPooling1D2 [[null,4,3]]              [null,1,3]                0         
__________________________________________________________________________________________
max_pooling1d_MaxPooling1D2 [[null,1,3]]              [null,0,3]                0         
==========================================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0
__________________________________________________________________________________________

示例 2: < 在此示例中,我们将为模型创建 maxPooling1d 层并检查模型形状。

Javascript

import * as tf from "@tensorflow.js/tfjs"
  
const model = tf.sequential();
  
// First layer must have a defined input shape
model.add(tf.layers.maxPooling1d({
    poolSize: 4, 
    strides: 5, 
    padding: 'valid',
    inputShape: [4,3]
}));
  
// Afterwards, TF.js does automatic shape inference.
model.add(tf.layers.dense({units: 3}));
  
model.add(tf.layers.maxPooling1d({
    poolSize: 4, 
    strides: 5, 
    padding: 'valid'
}));
  
// Inspect the inferred shape of the model's output.
console.log(JSON.stringify(model.outputs[0].shape));

输出:

[null,0,3]

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