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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。