使用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]即可。




微信公眾號:AutoML機器學習
MARSGGBO原創
如有意合作或學術討論歡迎私戳聯系~
郵箱:marsggbo@foxmail.com

2018-10-31




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM