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