2016-02-03 37 views
1

我試圖將數據拆分爲訓練(80%)和測試(20%)集合,但我需要洗牌數據首先爲每個數據集中的每個標籤(y,10個類)分配相同數量的樣本。Lua/Torch:將MNIST數據集拆分爲訓練和測試,每個集合使用相同數量的標籤

我該如何在lua/torch中做到這一點?謝謝!

這是到目前爲止我的代碼...

loaded = torch.load(data_file, 'ascii') 
Data = { 
data = loaded.data, 
labels = loaded.labels, 
size = 60000 
} 



Data.data:nDimension() 
4 

Data.labels:nDimension() 
1 

Data.data:size() 
60000 
1 
32 
32 
[torch.LongStorage of size 4] 

validationData.labels:size() 
60000 
[torch.LongStorage of size 1] 

回答

0

你可以做類似下面洗牌;

dataSize = Data.data:size()[1] 
    shuffleIdx = torch.randperm(dataSize) 
    Data.data = Data.data:index(1,shuffleIdx:long()) 
    Data.labels = Data.labels:index(1,shuffleIdx:long()) 

但我不確定你的問題的第二部分。

相關問題