我想写一个函数TensorFlow 2.0比在每次训练迭代之前对数据及其目标标签进行打乱。
假设我有两个 numpy 数据集 X 和 y,代表用于分类的数据和标签。我怎样才能洗牌同时?
Using sklearn
这很简单:
from sklearn.utils import shuffle
X, y = shuffle(X, y)
我怎样才能做同样的事情TensorFlow 2.0?我在文档中找到的唯一工具是tf.随机洗牌,但一次只需要一个物体,我需要喂两个。
与打乱 x 和 y 不同,打乱它们的索引要容易得多,因此首先生成一个索引列表
indices = tf.range(start=0, limit=tf.shape(x_data)[0], dtype=tf.int32)
然后对这些索引进行洗牌
idx = tf.random.shuffle(indices)
并使用这些索引来打乱数据
x_data = tf.gather(x_data, idx)
y_data = tf.gather(y_data, idx)
你会得到整理后的数据
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)