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

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

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

Tensorflow.js 是 Google 开发的开源工具包,用于在浏览器或节点平台上执行机器学习模型和深度学习神经网络。它还使开发人员能够在 JavaScript 中创建机器学习模型,并直接在浏览器或 Node.js 中使用它们。

tf.layers.maxPooling2d()函数用于对空间数据应用最大池化操作。

句法:

tf.layers.maxPooling2d (args)

参数:它接受可以具有以下属性的 args 对象:

  • poolSize:用于每个维度的缩小因子,即[垂直,水平]。它是一个整数或两个整数数组。
  • strides:在池化窗口的每个维度中,步幅大小。它是一个整数或需要两个整数数组。
  • padding:对于池化层,要使用的填充类型。
  • dataFormat:对于池化层,要使用的数据格式。
  • inputShape:如果设置了该属性,它将用于构造一个输入层,该输入层将插入该层之前。
  • batchInputShape:如果设置了这个属性,会在这个层之前创建一个输入层。
  • batchSize:如果未提供 batchInputShape 而提供了 inputShape,则使用 batchSize 来构建 batchInputShape。
  • dtype:这是该层的数据类型。 float32 是默认值。此参数仅适用于输入层。
  • name:这是图层的名称,为字符串类型。
  • 可训练:如果该层的权重可以通过拟合改变。 True 是默认值。
  • weights:图层的初始权重值。

返回:它返回对象 (MaxPooling2D)。

示例 1:

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


Javascript
import * as tf from "@tensorflow/tfjs";
  
const input = tf.input({ shape: [4, 4, 1] });
  
const maxPoolingLayer = 
    tf.layers.maxPooling2d({ poolSize: [3, 3] });
      
const output = maxPoolingLayer.apply(input);
  
const model = tf.model({ inputs: input, outputs: output });
  
const x = tf.tensor4d([1, 2, 3, 4, 5, 6, 7, 
    8, 9, 10, 11, 12, 13, 14, 15, 16], [1, 4, 4, 1]);
  
model.predict(x).print();


输出:

Tensor
   [[[[1, 1, 1, 1],
      [1, 1, 1, 1]],
     [[1, 1, 1, 1],
      [1, 1, 1, 1]]]]

示例 2:

Javascript

import * as tf from "@tensorflow/tfjs";
  
const input = tf.input({ shape: [4, 4, 1] });
  
const maxPoolingLayer = 
    tf.layers.maxPooling2d({ poolSize: [3, 3] });
      
const output = maxPoolingLayer.apply(input);
  
const model = tf.model({ inputs: input, outputs: output });
  
const x = tf.tensor4d([1, 2, 3, 4, 5, 6, 7, 
    8, 9, 10, 11, 12, 13, 14, 15, 16], [1, 4, 4, 1]);
  
model.predict(x).print();

输出:

Tensor
    [ [ [[11],]]]

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