当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Tensorflow.js tf.layers.conv2dTranspose()用法及代码示例


Tensorflow.js是Google开发的开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。它还可以帮助开发人员使用 JavaScript 语言开发 ML 模型,并可以直接在浏览器或 Node.js 中使用 ML。

tf.layers.conv2dTranspose() 函数用于转置卷积,这通常是由于希望使用与正常卷积相反方向的变换而产生的。当将此层用作模型中的第一层时,它提供配置 inputShape,例如,对于 dataFormat: ‘channelsLast’ 中的 64 x 64 RGB 图片, inputShape: [ 64, 64, 5 ]。

用法:

tf.layers.conv2dTranspose( args )

参数:

  • args: 它接受对象作为具有以下字段的参数:
    • filters: 输出空间的维数即卷积中滤波器的数量。
    • kernelSize: 它是卷积窗口的尺寸。如果 kernelSize 是一个数字,则卷积窗口将为正方形。
    • strides: 它是每个维度上卷积的步幅。如果步幅是数字,则两个维度的步幅相等。
    • padding: 它定义了填充模式。
    • dataFormat: 它定义数据的格式,决定输入中维度的顺序。
    • dilationRate: 它定义了每个维度的膨胀卷积所使用的膨胀率。它应该是一个整数或数组或两个或三个整数。
    • activation: 它是该层的激活函数。
    • useBias: 它定义是否使用偏差向量。
    • kernelInitializer: 它是卷积核权重矩阵的初始化器。
    • biasInitializer: 它是偏置向量的初始值设定项。
    • kernelConstraint: 它是卷积核权重矩阵的约束。
    • biasCosnstraint: 它是偏置向量的约束。
    • kernelRegularizer: 它是应用于核权重矩阵的正则化函数。
    • biasRegularizer: 它是应用于偏置向量的正则化函数。
    • activityRegularizer: 它是应用于激活的正则化函数。
    • inputShape: 它应该是一个数字数组。该字段用于创建一个输入层,该输入层用于插入到该层之前。
    • batchInputShape: 它应该是一个数字数组。如果提供 inputShape 和此字段作为创建用于插入到该图层之前的输入图层的参数,则将使用此字段。
    • batchSize: 它应该是一个数字。在没有batchInputShape的情况下,该字段用于使用inputShape创建batchInputShape。 batchInputShape:[batchSize,...inputShape]。
    • dtype: 如果该层用作输入层,则该字段用作该层的数据类型。
    • name: 它应该是字符串类型。该字段定义该层的名称。
    • trainable: 它应该是布尔值。该字段定义该层的权重是否可以通过拟合进行训练。
    • weights: 这应该是一个定义该层初始权重值的张量。
    • inputDType: 这是用于旧版支持的数据类型。

返回值:它返回 Conv2DTranspose

示例 1:

Javascript


// Import the header file
import * as tf from "@tensorflow/tfjs"
// Creating separableConv2d layer
const conv2dTranspose = tf.layers.conv2dTranspose({
    filters: 3, kernelSize: 8,
    batchInputShape: [2, 3, 5]
});
// Create an input with 2 time steps.
const input = tf.input({ shape: [4, 5, 8] });
const output = conv2dTranspose.apply(input);
// Printing the Shape of file
console.log(JSON.stringify(output.shape));

输出:

[null,11,12,3]

示例 2:

Javascript


// Import Header file
import * as tf from "@tensorflow/tfjs"
// Creating input layer
const inputShape = [1, 1, 1, 2];
const input = tf.ones(inputShape);
// Creating upSampling layer
const layer = tf.layers.conv2dTranspose({
    filters: 2, kernelSize: 2,
    batchInputShape: [1, 2, 3]
});
// Printing tensor
const output = layer.apply(input);
output.print();

输出:

Tensor
    [[[[0.081374  , -0.2834765],
       [-0.1283467, -0.2375581]],

      [[-0.791486 , 0.2895283 ],
       [-0.2392025, -0.1721524]]]]

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



相关用法


注:本文由纯净天空筛选整理自satyam00so大神的英文原创作品 Tensorflow.js tf.layers.conv2dTranspose() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。