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


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


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

tf.layers.flatten()函數用於展平輸入,而不會影響批處理大小。展平層將輸入中的每個批次展平為一維。

用法:

tf.layers.flatten( args? )

參數:它以object:args(Object)作為輸入。提供args對象作為輸入是可選的。以下是您可以在args對象中提供的字段。

  • dataFormat(“ channelsFirst”或“ channelsLast”):它是圖像數據格式。
  • inputShape((null | number)[]):它用於創建要在該層之前插入的輸入層。
  • batchInputShape((null | number)[]):它用於創建要在該層之前插入的輸入層。如果同時定義了inputShape和batchInputShape,則將使用batchInputShape。
  • batchSize (number):如果指定了inputShape而未指定batchInputShape,則使用batchSize構造batchInputShape。
  • dtype(‘float32’ |'int32'|'bool'|'complex64'|'string'):用於定義該層的數據類型。
  • name (string):用於為圖層提供名稱。
  • trainable (boolean):用於指定該層的權重是否可以通過擬合更新。默認值os true。
  • 權重(tf.Tensor []):用於提供層的初始重量值。

返回值:它返回平坦的層。



範例1:

Javascript


const tf = require("@tensorflow/tfjs")
  
const input = tf.input({shape:[5, 4]});
  
// Creating flattened layer
const flattenLayer = tf.layers.flatten();
  
// Printing the shape
console.log(JSON.stringify(flattenLayer.apply(input).shape));

輸出:在輸出中,我們可以看到扁平層的形狀等於“ [null,12]”,因為第二維為4 * 3,即扁平化的結果。

[null, 20]

範例2:在此示例中,我們將在args對象中提供name字段作為輸入。

Javascript


const tf = require("@tensorflow/tfjs")
  
const input = tf.input({shape:[4, 3]});
  
// Creating flattened layer
const flattenLayer = tf.layers.flatten({name:'NewLayer1'});
  
// Printing the name and shape
console.log("Name of the layer:" 
    + flattenLayer.apply(input).name)
  
console.log(JSON.stringify(
    flattenLayer.apply(input).shape));

輸出:

Name of the layer:NewLayer1/NewLayer1
[null, 12]

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

相關用法


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