假設現在有圖像數據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]
即可。
