使用Numpy将数据集中的data和target同时shuffle

假设现在有图像数据imgs和对应标签targets。数据维度分别如下

imgs.shape = (num, channel, width, height)
targets.shape = (num, class)

因为通常我们需要将数据打散,这样的好处是可以让模型训练更具鲁棒性,那么如何同时打散data和target,而且还需要保持对应顺序不变呢?方法如下

# 得到打乱后的index
from random import shuffle
index = [i for i in range(len(imgs))]
shuffle(index)

imgs = imgs[index, :, :, :]
targets = targets[index, :]

要注意的是数据的维度要保持正确,也就是上面的:数量要正确,假如在mnist数据集上,target的维度是(num,)维度,所以此时应该写成targets = targets[index]即可。

使用Numpy将数据集中的data和target同时shuffle



MARSGGBO原创





2018-10-31



上一篇:Truncate/Delete/Drop table的特点和区别


下一篇:【ZooKeeper Notes 9】ZooKeepr日志清理