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