Tensorflow.js是一個開放源代碼庫,由Google開發,用於在瀏覽器或節點環境中運行機器學習模型以及深度學習神經網絡。
.layers.gruCell() 函數用於為 GRU 創建一個單元類。
用法:
tf.layers.gruCell (args)
參數:
- recurrentActivation: 它是一個張量輸入,是用於循環步驟的激活函數,默認為 hard sigmoid。如果傳遞 null,則不應用激活。
- implementation:它是一個張量輸入,有兩種實現方式:
- 首先,模式將其操作結構為大量較小的點積和添加。
- 其次,模式會將它們分批處理成更少、更大的操作。這些模式將在不同硬件和不同應用程序上具有不同的性能配置文件。
- resetAfter:它是一個張量輸入,可以是 GRU 約定是否在矩陣乘法之後或之前應用重置門,其中 false=”before” 和 true=”after”。
- units:它是一個具有正整數單位的張量輸入,它是輸出空間的維數。
- activation:它是一個張量輸入,是一個要使用的激活函數,默認為雙曲正切。如果您傳遞 null,則將應用線性激活。
- useBias:它是一個張量輸入,其中偏置向量用於該層。
- KernelInitializer:它是一個張量輸入,是內核權重矩陣的初始化器,用於輸入的線性變換。
- recurrentInitializer:它是一個張量輸入,是 recurrentKernel 權重矩陣的初始化器,用於循環狀態的線性變換。
- biasInitializer:它是一個張量輸入,是偏置向量的初始化器。
- kernelRegularizer:它是一個張量輸入,其中正則化函數應用於核權重矩陣。
- recurrentRegularizer:它是一個張量輸入,其中正則化函數應用於 recurrent_kernel 權重矩陣。
- biasRegularizer:它是一個張量輸入,其中正則化函數應用於偏置向量。
- kernelConstraint:它是一個張量輸入,其中約束函數應用於核權重矩陣。
- recurrentConstraint:它是一個張量輸入,其中約束函數應用於 recurrentKernel 權重矩陣。
- biasConstraint:它是一個張量輸入,其中約束函數應用於偏置向量。
- dropout:它是一個張量輸入,其中為輸入的線性變換和介於 0 和 1 之間的浮點數而要丟棄的單位的分數。
- recurrentDropout:它是一個張量輸入,其中用於循環狀態和 0 和 1 之間的浮點數的線性變換的單位的分數。
- inputShape:它是一個張量輸入,將用於創建一個輸入層以在此層之前插入(如果已定義)。它僅適用於輸入層。
- batchInputShape:它是一個張量輸入,將用於創建一個輸入層以在該層之前插入(如果已定義)。它僅適用於輸入層。
- batchSize:它是一個張量輸入,其中 batchSize 用於構造 batchInputShape ,如果指定了 inputShape 而未指定 batchInputShape 。
- dType:它是一個張量輸入,是該層的數據類型,默認為 ‘float32’。
- name:這是一個張量輸入,是該層的名稱。
- trainable:它是一個張量輸入,默認為 true,無論該層的權重是否可通過擬合更新。
- weight:它是一個張量輸入,可以是層的初始權重值。
- inputDType:它是一個具有傳統支持的張量輸入,不用於新代碼。
返回值:它返回 GRUCell。
範例1:在這個例子中,GRUCell 與 RNN 子類 GRU 的不同之處在於它的 apply 方法隻獲取單個時間步的輸入數據並在時間步返回單元格的輸出,而 GRU 在多個時間步上獲取輸入數據。
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Defining input elements
const cell = tf.layers.gruCell({units:3});
const input = tf.input({shape:[11]});
const output = cell.apply(input);
console.log(JSON.stringify(output.shape));
輸出:
[null,11]
範例2:在這個例子中,GRUCell 的實例可用於構建 RNN 層。此工作流最典型的用途是將多個單元組合成一個堆疊的 RNN 單元(即內部的 StackedRNNCell)並使用它來創建一個 RNN。
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Defining input elements
const cells = [
tf.layers.gruCell({units:8}),
tf.layers.gruCell({units:16}),
];
const rnn = tf.layers.rnn({
cell:cells,
returnSequences:true
});
// Create an input with 20 time steps and
// a length-30 vector at each step.
const input = tf.input({shape:[20, 30]});
const output = rnn.apply(input);
console.log(JSON.stringify(output.shape));
輸出:
[null,20,16]
參考:https://js.tensorflow.org/api/latest/#layers.gruCell
相關用法
- PHP imagecreatetruecolor()用法及代碼示例
- p5.js year()用法及代碼示例
- d3.js d3.utcTuesdays()用法及代碼示例
- PHP ImagickDraw getTextAlignment()用法及代碼示例
- PHP Ds\Sequence last()用法及代碼示例
- PHP Imagick floodFillPaintImage()用法及代碼示例
- PHP geoip_continent_code_by_name()用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
- PHP GmagickPixel setcolor()用法及代碼示例
- Tensorflow.js tf.layers.embedding()用法及代碼示例
- PHP opendir()用法及代碼示例
- PHP cal_to_jd()用法及代碼示例
- d3.js d3.bisectLeft()用法及代碼示例
- PHP stream_get_transports()用法及代碼示例
注:本文由純淨天空篩選整理自arorakashish0911大神的英文原創作品 Tensorflow.js tf.layers.gruCell() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。