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

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

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
imgpad.print()


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