當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Tensorflow.js tf.layers.bidirectional()用法及代碼示例


Tensorflow.js 是一個由 Google 開發的開源庫,用於在瀏覽器或節點環境中運行機器學習模型以及深度學習神經網絡。

tf.layers.bidirectional 函數是 RNN 層的雙向包裝器。

用法:

tf.layers.bidirectional( args )

Parameters: 該函數接受對象作為具有以下字段的參數:

  • layers: 它是要被包裝的 RNN 層的實例。
  • mergeMode: 它應該是‘sum’或‘mul’或‘concat’或‘ave’。它是前向和後向或 RNN 的輸出組合的模式。
  • inputShape:它應該是一個數字數組。該字段用於創建輸入層,該輸入層用於插入到該層之前。
  • batchInputShape: 它應該是一個數字數組。如果提供輸入形狀和此字段作為創建用於插入到該圖層之前的輸入圖層的參數,則將使用此字段。
  • batchSize: 它應該是一個數字。在沒有batchInputShape的情況下,該字段用於創建具有輸入形狀的batchInputShape。 batchInputShape:[batchSize,...inputShape]。
  • dtype: 如果該層用作輸入層,則該字段用作該層的數據類型。
  • name: 它應該是字符串類型。該字段定義該層的名稱。
  • trainable: 它應該是布爾值。該字段定義該層的權重是否可以通過擬合進行訓練。
  • weights: 這應該是一個定義該層初始權重值的張量。

返回:它返回雙向。

示例 1:

Javascript


import * as tf from '@tensorflow/tfjs'
// Bidirectional layer
const k = tf.layers.bidirectional({
   layer: tf.layers.dense({units: 4}),
   batchInputShape: [32, 10, 16],
});
// Creating input layer
const input = tf.input({shape: [10,16,32]});
const output = k.apply(input);
// Printing the Input Shape
console.log(JSON.stringify(output.shape));

輸出:

[null,10,16,8]

示例 2:

Javascript


import * as tf from '@tensorflow/tfjs'
// Instance of RNN layer
const RNN = tf.layers.dense({units: 3});
// Creating Bidirectional layer
const k = tf.layers.bidirectional({
   layer: RNN,
   mergeMode: 'sum',
   batchInputShape: [8, 4, 2],
});
// Create a 3d tensor
const x = tf.tensor([1, 2, 3, 4], [4, 1]);
// Apply Bidirectional layer to x
const output = k.apply(x);
// Print output
output.print()

輸出:

Tensor
    [[-0.6737164, -1.6011676, 1.9193256],
     [-1.3474327, -3.2023351, 3.8386512],
     [-2.0211492, -4.8035026, 5.7579765],
     [-2.6948655, -6.4046702, 7.6773024]]

參考:https://js.tensorflow.org/api/latest/#layers.bidirectional



相關用法


注:本文由純淨天空篩選整理自satyam00so大神的英文原創作品 Tensorflow.js tf.layers.bidirectional() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。