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


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


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

tf.layers.dropout() 函數是 Tensorflow.js 庫的內置函數。此函數用於通過在訓練期間的每次更新時將輸入單元的分數隨機設置為 0 來防止模型過度擬合。

用法:

tf.layers.dropout( {rate} )

參數:

  • args:給定的對象作為參數。
  • rate:指定要刪除的輸入單位的分數。它的值在 0 到 1 之間。
  • noiseShape:表示將與輸入相乘的 dropout 形狀的整數列表。它是一個可選參數。
  • seed:指定隨機種子。它是一個可選參數。
  • inputShape:如果定義了此參數,它將創建另一個輸入層以插入到該層之前。
  • batchInputShape:如果定義了此參數,它將創建另一個輸入層以插入到該層之前。
  • batchSize:用於構造batchInputShape(如果尚未指定)。
  • dtype:指定該圖層的數據類型。該參數的默認值為 ‘float32’。
  • name:指定該層的名稱。
  • trainable:指定該層的權重是否通過擬合更新。
  • weights:指定圖層的初始權重值。
  • inputDType:用於表示 inputDType,其值可以是 ‘float32’ 或 ‘int32’ 或 ‘bool’ 或 ‘complex64’ 或 ‘string’。

返回值:它返回 Dropout。



範例1:我們將創建一個新模型並向其添加 dropout 層。

Javascript


// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Define the model
const model = tf.sequential({
    layers:[tf.layers.dense({ 
        units:1, inputShape:[10] 
    })],
});
  
// Add dropout to model
model.add(tf.layers.dropout({ rate:0.25 }));
    
// Compile the model
model.compile(
    { optimizer:"sgd", loss:"meanAbsoluteError" },
    (metrics = ["accuracy"])
);
    
// Evaluate the model
const result = model.evaluate(
    tf.ones([8, 10]), tf.ones([8, 1]), {
    batchSize:4,
});
   
// Print the resulting tensor
result.print();

輸出:

Tensor
    1.608272910118103

範例2:

Javascript


// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Define the model
const model = tf.sequential({
    layers:[tf.layers.dense({ 
        units:1, inputShape:[10] 
    })],
});
    
// Add dropout to model
model.add(tf.layers.dropout({ rate:0.5 }));
  
// Compile the model
model.compile({ optimizer:"adam", 
    loss:"meanSquaredError" });
    
// Evaluate the model
const result = model.evaluate(
    tf.ones([8, 10]), tf.ones([8, 1]), {
    batchSize:2,
});
    
// Print the result
result.print();

輸出:

Tensor
    0.9941154718399048

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




相關用法


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