Tensorflow.js tf.layers.globalMaxPooling2d()函数
Tensorflow.js 是 Google 开发的开源工具包,用于在浏览器或节点平台上执行机器学习模型和深度学习神经网络。它还使开发人员能够在 JavaScript 中创建机器学习模型,并直接在浏览器或 Node.js 中使用它们。
tf.layers.globalMaxPooling2d()函数用于对空间数据应用全局最大池化操作。
句法:
tf.layers.globalMaxPooling2d()
参数:
- args:它是一个具有以下属性的对象:
- dataFormat:用于池化层的数据格式。
- inputShape:如果指定,则用于构造一个输入层,该输入层将插入该层之前。
- batchInputShape:如果指定,它将用于创建将插入该层之前的输入层。
- batchSize:支持inputShape构建batchInputShape。
- dtype:这是该层的数据类型。此参数仅适用于输入层。
- name:字符串类型。这是该层的名称。
- trainable:如果设置为 true,那么只有该层的权重会被 fit 改变。
- weights:图层的初始权重值。
- InputDType:用于 Legacy 支持。
返回:它返回 GlobalMaxPooling2D
示例 1:
Javascript
import * as tf from "@tensorflow/tfjs";
const Input = tf.input({ shape: [5, 2, 1] });
const maxPooling2DLayer =
tf.layers.globalMaxPooling2d(
{ dataFormat: 'channelsFirst' }
);
const Output = maxPooling2DLayer.apply(Input);
const Data = tf.ones([2, 5, 2, 1]);
const model =
tf.model({ inputs: Input, outputs: Output });
model.predict(Data).print();
Javascript
import * as tf from "@tensorflow/tfjs";
const Input = tf.input({ shape: [2, 3, 3] });
const maxPooling2dLayer =
tf.layers.globalMaxPooling2d({ dataFormat: 'channelsLast' });
const Output = maxPooling2dLayer.apply(Input);
const model = tf.model({ inputs: Input, outputs: Output });
const Data = tf.tensor4d([2, 3, 5, 1, 3, 5, 8, 2, 2, 6, 8,
9, 9, 4, 8, 9, 3, 8, 4, 2, 2, 9, 2, 4, 6, 4,
2, 6, 4, 2, 5, 8, 2, 8, 3, 2 ], [2, 2, 3, 3]);
model.predict(Data).print();
输出:
Tensor
[[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]]
示例 2:
Javascript
import * as tf from "@tensorflow/tfjs";
const Input = tf.input({ shape: [2, 3, 3] });
const maxPooling2dLayer =
tf.layers.globalMaxPooling2d({ dataFormat: 'channelsLast' });
const Output = maxPooling2dLayer.apply(Input);
const model = tf.model({ inputs: Input, outputs: Output });
const Data = tf.tensor4d([2, 3, 5, 1, 3, 5, 8, 2, 2, 6, 8,
9, 9, 4, 8, 9, 3, 8, 4, 2, 2, 9, 2, 4, 6, 4,
2, 6, 4, 2, 5, 8, 2, 8, 3, 2 ], [2, 2, 3, 3]);
model.predict(Data).print();
输出:
Tensor
[[9, 8, 9],
[9, 8, 4]]
参考: https://js.tensorflow.org/api/latest/#layers.globalMaxPooling2d