如何在TensorFlow中构建数据集?

问题描述 投票:0回答:1

在我的第一个TensorFlow项目中,我有一个包含8类元素的大数据集(1M元素),每个类别当然都有不同数量的元素。我想将大数据集拆分为10个独有的小数据集,每个数据集大约占每个类别的1/10。 (这是为了10倍的交叉验证目的。)

这是我的方式。我结束了80个数据集,每个类别有10个小数据集,然后我使用sample_from_datasets从80个数据集中随机抽样数据。但是,经过一些步骤后,我遇到了很多警告说“DirectedInterleave选择了一个耗尽的输入:36”,其中36可以是其他一些整数。

我想做sample_from_datasets的原因是我试图改组原始数据集。即使整个元素只有0.4倍,但它仍然需要很长时间才能完成(大约20分钟)。

我的问题是1.基于我的案例,关于如何构建数据集的任何好建议? 2.长时间洗牌是否正常?什么更好的洗牌解决方案? 3.为什么我选择了这个DirectIngerleave用尽的输入:警告?这是什么意思?

谢谢。

tensorflow dataset
1个回答
0
投票

将整个数据集拆分为培训,测试和验证类别。由于您拥有1M数据,您可以像这样分开:60%的培训,20%的测试和20%的验证。分割数据集完全取决于您和您的要求。但通常最大数据用于训练模型。接下来,其余数据集可用于测试和验证。由于您有十个类数据集,请将每个类别拆分为“培训”,“测试和验证”类别。

我们有A,B,C和D类数据。将您的数据拆分为“A”,“B”,“C”和“D”,如下所示:

'A'- 60%用于培训20%测试和20%验证

'B'- 60%用于培训20%测试和20%验证

'C'- 60%用于培训20%测试和20%验证

'D'- 60%用于培训20%测试和20%验证

最后合并所有A,B,C和D培训,测试和验证数据集。

© www.soinside.com 2019 - 2024. All rights reserved.