Tensorflow.js tf.layers.zeroPadding2d()函数
Tensorflow.js 是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。
tf.layers.zeroPadding2d( )函数用于在图像张量的顶部、底部、左侧和右侧为零添加行和列。
句法:
tf.layers.zeroPadding2d(args);
参数:此方法接受args作为具有以下属性的参数:
- 填充:此变量接受一个整数,或 2 个整数的数组,或 2 个数组的数组,每个数组都是 2 个整数的数组。这个变量的解释是:
- 如果变量是整数,则相同的对称应用于宽度和高度。
- 如果变量是 2 个整数的数组,则解释为高度和宽度的两个不同对称值。
- 如果变量是 2 个数组的数组,则解释为 topPad、bottomPad 用于第一个数组,leftPad、rightPad 用于第二个数组。
- dataFormat:此变量定义输入张量的形状格式。如果可以是 channelsLast 或 channelsFirst。此值定义输入中维度的顺序。 channelsLast 定义形状 [batch, height, width, channels] 而 channelsFirst 定义 [batch, channels, height, width]。
- inputShape:可以为 null 或数字数组。它用于创建一个输入层以插入到下一层之前。此变量仅用于模型的第一层。
- batchInputShape:此变量接受 null 或数字数组。此变量的工作方式与 inputShape 相同,但如果同时定义了 inputShape 和 batchInputShape,则使用 batchInputShape。此变量仅用于模型的第一层。
- batchSize:它是一个数字,它有助于 batchInputShape 变量。如果未定义 batchInputShape,则它用于创建 batchInputShape。
- dtype:此变量用于定义填充层的数据类型。默认为“float32”。此变量仅用于模型的第一层。
- name:定义图层的名称。
- 可训练:它是一个布尔类型。它定义的图层数据是否可以通过拟合更新。默认值为真。
- 权重:它是tf.Tensor类型。它声明了图层的初始权重值。
- inputDType:定义输入层的数据类型。旧版支持。不要用于新代码。
返回:它返回 ZeroPadding2D 对象。
示例 1:在此示例中,我们添加了一个具有默认值的零填充层。
Javascript
// Importing tensorflow
const tf = require("@tensorflow/tfjs")
// Input 4d Tensor
const img4d = tf.tensor4d([1, 2, 3, 4], [1, 2, 2, 1]);
// Adding padding in Tensor
const pad = tf.layers.zeroPadding2d();
const imgpad = pad.apply(img4d);
// Printing 4d Tensor with padding
Javascript
// Importing tensorflow
const tf = require("@tensorflow/tfjs")
// Input 4d Tensor
const img4d = tf.tensor4d([1, 2, 3, 4], [1, 2, 2, 1]);
// Adding padding in Tensor
const pad = tf.layers.zeroPadding2d({
padding: 2,
dataFormat: 'channelsFirst', dtype: 'int32'
});
const imgpad = pad.apply(img4d);
// Printing 4d Tensor with padding
imgpad.print()
输出:
Tensor [[[[0], [0], [0], [0]],
[[0], [1], [2], [0]],
[[0], [3], [4], [0]],
[[0], [0], [0], [0]]]]
示例 2:在此示例中,我们在特定数据类型的张量中添加零填充并定义数据格式。
Javascript
// Importing tensorflow
const tf = require("@tensorflow/tfjs")
// Input 4d Tensor
const img4d = tf.tensor4d([1, 2, 3, 4], [1, 2, 2, 1]);
// Adding padding in Tensor
const pad = tf.layers.zeroPadding2d({
padding: 2,
dataFormat: 'channelsFirst', dtype: 'int32'
});
const imgpad = pad.apply(img4d);
// Printing 4d Tensor with padding
imgpad.print()
输出:
Tensor
[[[[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 2, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]],
[[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 3, 0, 0],
[0, 0, 4, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]]]]
参考: https://js.tensorflow.org/api/latest/#layers.zeroPadding2d