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


Tensorflow.js tf.data.Dataset.batch()用法及代碼示例


Tensorflow.js是Google開發的開源庫,用於在瀏覽器或節點環境中運行機器學習模型和深度學習神經網絡。它還可以幫助開發人員使用JavaScript語言開發ML模型,並可以直接在瀏覽器或Node.js中使用ML。

tf.data.Dataset.batch() 函數用於將元素分組為批次。

用法:

tf.data.Dataset.batch(batchSize, smallLastBatch?)

參數:

  • batchSize:應該在一個批次中的元素。
  • smallLastBatch:如果為 true,則最終批次將在元素少於 batchSize 時發出元素,反之亦然。默認值為真。提供此值是可選的。

返回值:它返回一個 tf.data.Dataset。



範例1:在這個例子中,我們將采用一個大小為 6 的數組,並將其分成多個批次,每個批次有 3 個元素。

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Creating an array
const gfg = tf.data.array(
  [10, 20, 30, 40, 50, 60]
).batch(3);
  
// Printing the elements
await gfg.forEachAsync(
  element => element.print()
);

輸出:

"Tensor
    [10, 20, 30]"
"Tensor
    [40, 50, 60]"

範例2:這次我們將取 8 個元素,並嘗試將它們分批拆分,每個 3 個元素。

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Creating an array
const gfg = tf.data.array(
  [10, 20, 30, 40, 50, 60, 70, 80]
).batch(3);
  
// Printing the elements
await gfg.forEachAsync(
  element => element.print()
);

輸出:

"Tensor
    [10, 20, 30]"
"Tensor
    [40, 50, 60]"
"Tensor
    [70, 80]"

由於 smallLastBatch 的默認值默認為 true,因此我們看到了具有 2 個元素的第三批。

範例3:這次我們將把 smallLastBatch 參數作為 false 傳遞。

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Creating an array
const gfg = tf.data.array(
  [10, 20, 30, 40, 50, 60, 70, 80]
).batch(3, false);
  
// Printing the elements
await gfg.forEachAsync(
  element => element.print()
);

輸出:

"Tensor
    [10, 20, 30]"
"Tensor
    [40, 50, 60]"

由於 smallLastBatch 的默認值是 false,我們沒有看到第三批,因為最後一批中隻有 2 個元素小於指定的批大小 3。

參考: https://js.tensorflow.org/api/latest/#tf.data.Dataset.batch




相關用法


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