首先将它们转换为tf.data.Dataset
类型。
x_train = tf.data.Dataset.from_tensor_slices(x)
y_train = tf.data.Dataset.from_tensor_slices(y)
完成这一步后,您可以轻松地对它们进行随机排列:
x_train, y_train = x_train.shuffle(buffer_size=2, seed=2), y_train.shuffle(buffer_size=2, seed=2)
dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
在训练变量中使用相同的 seed
,这样您就可以在不失去特征-目标关系的情况下对数据进行洗牌。
您甚至可以创建一个用于洗牌的函数:
BF = 2
SEED = 2
def shuffling(dataset, bf, seed_number):
return dataset.shuffle(buffer_size=bf, seed=seed_number)
x_train, y_train = shuffling(x_train, BF, SEED), shuffling(y_train, BF, SEED)
dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))