📌  相关文章
📜  Tensorflow.js tf.data.Dataset 类 .shuffle() 方法

📅  最后修改于: 2022-05-13 01:56:43.075000             🧑  作者: Mango

Tensorflow.js tf.data.Dataset 类 .shuffle() 方法

Tensorflow.js是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。

tf.data.Dataset.shuffle()方法沿其第一个维度随机打乱张量。

句法:

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

参数:

  • buffer_size:这是将从中采样新数据集的元素数。
  • 种子[可选]: 它是一个可选参数,用于为分布创建随机种子,以查看相同的结果使用相同的种子。
  • reshuffle_each_iteration:一个布尔值,为真表示数据集每次迭代时都应该被伪随机重新洗牌。默认值为真。它是可选参数。

返回值: 与 value 具有相同形状和数据类型的张量,但沿其第一个维度打乱。

示例 1:在此示例中,我们将首先创建一个张量,然后对其进行 shuffle,在此示例中为r eshuffle_each_iteration 是真的

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();


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();


输出:

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