Tensorflow.js是Google开发的开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。它还可以帮助开发人员使用 JavaScript 语言开发 ML 模型,并可以直接在浏览器或 Node.js 中使用 ML。
tf.layers.separableCov2d() 函数是可分离卷积,这是一种将卷积核分解为两个较小核的方法。可分离卷积由深度卷积和点卷积组成,它们将结果输出通道混合在一起。 heightMultiplier 参数控制在深度步骤中每个输入通道生成多少个输出通道。 separableCov2d 是深度可分离的 2D 卷积。
句法:
tf.layers.separableCov2d( args )
参数:
- args: 它接受对象作为具有以下字段的参数:
- depthMultiplier: 它是每个输入通道的深度卷积输出通道的数量。它等于filtersIn * heightMultiplier。
- depthwiseInitializer: 它是深度内核矩阵的初始化器。
- pointwiseInitializer: 它是逐点内核矩阵的初始值设定项。
- depthwiseRegularizer: 它是应用于深度核矩阵的正则化函数。
- pointwiseRegularizer: 它是应用于逐点核矩阵的正则化函数。
- depthwiseConstraint: 它是应用于深度核矩阵的约束函数。
- pointwiseConstraint: 它是应用于逐点核矩阵的约束函数。
- filters: 它是输出空间的维数。
- kernelSize: 它是卷积窗口将具有的维度。
- strides: 它是每个维度上卷积层的步长。
- padding: 应该是‘valid’, ‘same’和‘causal’。它定义了填充模式。
- dataFormat: 它定义了数据的格式,它告诉输入中维度的顺序。
- dilationRate: 卷积层在每个维度上应扩张到的扩张率。
- activation: 它是该层的激活函数。如果您不指定激活,则不会应用任何激活。
- useBias: 它定义该层是否使用偏置向量。默认为 true。
- kernelInitializer: 它是卷积核权重矩阵的初始化器。
- biasInitializer: 它是偏置向量的初始值设定项。
- kernelConstraint: 它是对卷积核权重的约束。
- biasConstraint: 它是偏置向量的约束。
- kernelRegularizer: 它是应用于核权重矩阵的正则化函数。
- biasRegularizer: 它是应用于偏置向量的正则化函数。
- activityRegularizer: 它是应用于激活的正则化函数。
- inputShape: 它应该是一个数字数组。该字段用于创建一个输入层,该输入层用于插入到该层之前。
- batchInputShape: 它应该是一个数字数组。如果提供 inputShape 和此字段作为创建用于插入到该图层之前的输入图层的参数,则将使用此字段。
- batchSize: 它应该是一个数字。在没有batchInputShape的情况下,该字段用于使用inputShape创建batchInputShape。 batchInputShape:[batchSize,...inputShape]。
- dtype: 如果该层用作输入层,则该字段用作该层的数据类型。
- name: 它应该是字符串类型。该字段定义该层的名称。
- trainable: 它应该是布尔值。该字段定义该层的权重是否可以通过拟合进行训练。
- weights: 这应该是一个定义该层初始权重值的张量。
- inputDType: 这是用于旧版支持的数据类型。
返回:它返回SeparableConv2D。
示例 1:
Javascript
import * as tf from "@tensorflow/tfjs";
// InputShape and Input layer for convLstm2dCell layer
const InputShape = [ 4, 5, 2];
const input = tf.input({ shape: InputShape });
// Creating ConvLstm2dCell
const separableConv2d = tf.layers.separableConv2d(
{ filters: 3, kernelSize: 2, batchInputShape: [ 4, 5, 3]});
const output = separableConv2d.apply(input);
// Printing summary of layers
const model = tf.model({ inputs: input, outputs: output });
model.summary();
输出:
__________________________________________________________________________________________ Layer (type) Input Shape Output shape Param # ========================================================================================== input12 (InputLayer) [[null,4,5,2]] [null,4,5,2] 0 __________________________________________________________________________________________ separable_conv2d_SeparableC [[null,4,5,2]] [null,3,4,3] 17 ========================================================================================== Total params: 17 Trainable params: 17 Non-trainable params: 0 __________________________________________________________________________________________
示例 2:
Javascript
// Import the header file
import * as tf from "@tensorflow/tfjs"
// Creating separableConv2d layer
const separableConv2d = tf.layers.separableConv2d({
filters : 2,
kernelSize: 3,
batchInputShape: [2, 3, 5, 5]
});
// Create an input with 2 time steps.
const input = tf.input({shape: [3, 4, 5]});
const output = separableConv2d.apply(input);
// Printing the Shape of file
console.log(JSON.stringify(output.shape));
输出:
[null,1,2,2]
参考:https://js.tensorflow.org/api/latest/#layers.separableConv2d
相关用法
- Tensorflow.js tf.layers.simpleRNNCell()用法及代码示例
- Tensorflow.js tf.layers.softmax()用法及代码示例
- Tensorflow.js tf.layers.simpleRNN()用法及代码示例
- Tensorflow.js tf.layers.stackedRNNCells()用法及代码示例
- Tensorflow.js tf.layers.spatialDropout1d()用法及代码示例
- Tensorflow.js tf.layers.minimum()用法及代码示例
- Tensorflow.js tf.layers.flatten()用法及代码示例
- Tensorflow.js tf.layers.average()用法及代码示例
- Tensorflow.js tf.layers.repeatVector()用法及代码示例
- Tensorflow.js tf.layers.multiply()用法及代码示例
- Tensorflow.js tf.layers.embedding()用法及代码示例
- Tensorflow.js tf.layers.dense()用法及代码示例
- Tensorflow.js tf.layers.permute()用法及代码示例
- Tensorflow.js tf.layers.reshape()用法及代码示例
- Tensorflow.js tf.layers.dropout()用法及代码示例
- Tensorflow.js tf.layers.concatenate()用法及代码示例
- Tensorflow.js tf.layers.gaussianNoise()用法及代码示例
- Tensorflow.js tf.layers.gaussianDropout()用法及代码示例
- Tensorflow.js tf.layers.alphaDropout()用法及代码示例
- Tensorflow.js tf.layers.elu()用法及代码示例
- Tensorflow.js tf.layers.masking()用法及代码示例
- Tensorflow.js tf.layers.timeDistributed()用法及代码示例
- Tensorflow.js tf.layers.gru()用法及代码示例
- Tensorflow.js tf.layers.add()用法及代码示例
- Tensorflow.js tf.layers.gruCell()用法及代码示例
注:本文由纯净天空筛选整理自satyam00so大神的英文原创作品 Tensorflow.js tf.layers.separableConv2d() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。