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


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


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

tf.data.Dataset.shuffle() 方法沿張量的第一維隨機打亂張量。

用法:

tf.data.Dataset.shuffle(
    buffer_size, seed=None, 
    reshuffle_each_iteration=None
)

參數:

  • buffer_size:這是將從中采樣新數據集的元素數。
  • 種子[可選]: 它是一個可選參數,用於為分布創建隨機種子,以使用相同的種子查看相同的結果。
  • reshuffle_each_iteration:一個布爾值,它為 true 表示每次迭代數據集時都應該偽隨機地重新洗牌。默認值為真。它是可選參數。

返回值: 具有與值相同的形狀和數據類型的張量,但沿其第一維隨機排列。



範例1:在這個例子中,首先我們將創建一個張量,然後將它打亂,在這個例子中 reshuffle_each_iteration 是 True

Javascript


async function shuffle() {
 
    // Creating a Tensor
    const a = tf.data.array([1, 2, 3, 4, 5, 6]).shuffle(3);
    await a.forEachAsync(e => console.log(e)); //print 1
    await a.forEachAsync(e => console.log(e)); //print 2
}
 
shuffle();

輸出:

3 4 1 2 5 6
3 4 2 5 6 1

範例2:在這個例子中,種子被設置為一個整數,每當一個特定的整數被使用時,它就會生成那個特定的輸出

Javascript


async function shuffleseed() {
    const a = tf.data.array([1, 2, 3]).shuffle(3, seed = 42);
    await a.forEachAsync(e => console.log(e));
 
    const b = tf.data.array([1, 2, 3]).shuffle(3, seed = 42);
    await b.forEachAsync(e => console.log(e));
}
 
shuffleseed();

輸出:

2 1 3
2 1 3

參考:https://js.tensorflow.org/api/3.6.0/#tf.data.Dataset.shuffle

相關用法


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