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


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


Tensorflow.js是Google開發的開源工具包,用於在瀏覽器或節點平台上執行機器學習模型和深度學習神經網絡。它還使開發人員能夠在 JavaScript 中創建機器學習模型,並直接在瀏覽器中或通過 Node.js 使用它們。

tf.layers.spatialDropout1d() 函數用於對數據應用空間 1D 版本的 dropout 操作。

用法:

tf.layers.spatialDropout1d(args)

輸入形狀:任意。當使用該層作為模型中的初始層時,請使用 inputShape 配置。

輸出形狀:輸出與輸入具有相同的形狀。

Parameters: 它接受參數對象可以具有以下屬性:

  • rate (number):介於 0 和 1 之間的浮點值。要刪除的輸入單位的分數。
  • seed (number):將用作隨機種子的整數。
  • inputShape:如果設置了此屬性,它將用於構造一個輸入層,該輸入層將插入到該層之前。
  • batchInputShape:如果設置了此屬性,將創建一個輸入層並將其插入到該層之前。
  • batchSize:如果未提供batchInputShape而提供了inputShape,則使用batchSize來構建batchInputShape。
  • dtype:這是該層的數據類型。 float32 是默認值。該參數僅適用於輸入層。
  • name:這是圖層的名稱,是字符串類型。
  • trainable:如果該層的權重可以通過擬合來改變。 True 是默認值。
  • weights:圖層的初始權重值。

返回:它返回一個對象 (SpatialDropout1D)。

示例 1:

Javascript


import * as tf from "@tensorflow/tfjs"; 
  
const model = tf.sequential({ 
    layers: [tf.layers.dense({  
        units: 1, inputShape: [10, 2]  
    })], 
}); 
    
model.add(tf.layers.spatialDropout1d({ rate: 0.25 })); 
      
model.compile( 
    { optimizer: "sgd", loss: "meanAbsoluteError" }, 
); 
      
const result = model.evaluate( 
    tf.ones([8, 10, 2]), tf.ones([8, 10, 1]), { 
    batchSize: 4, 
}); 
     
result.print();

輸出:

Tensor
   1.1040260791778564

示例 2:

Javascript


import * as tf from "@tensorflow/tfjs"; 
    
const model = tf.sequential({ 
    layers: [tf.layers.dense({  
        units: 1, inputShape: [5, 5]  
    })], 
}); 
      
model.add(tf.layers.spatialDropout1d({ rate: 0.5, seed: 146 })); 
    
model.compile({ optimizer: "adam",  
    loss: "meanSquaredError" }); 
      
const result = model.evaluate( 
    tf.ones([4, 5, 5]), tf.ones([4, 5, 1]), { 
    batchSize: 2, 
}); 
      
result.print();

輸出:

Tensor
   7.158995151519775

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



相關用法


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