Lua/Torch: 将MNIST数据集分成训练集和测试集,每个集合中标签数相等

我正在尝试将数据分为训练集(80%)和测试集(20%),但我需要先对数据进行洗牌,然后在每个数据集中为每个标签(y,10类)分配相等数量的样本。

如何在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]
点赞
用户5407700
用户5407700

你可以执行如下操作来对数据进行洗牌:

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())

但我不确定你的问题的第二部分。

2016-02-08 10:04:16