我在Node.js中使用Node.js中的Nvidia功能的GPU (请注意,这不是Python),我已经实现了一个AI模型。我有一个Dataset对象,它表示我希望对模型进行训练的输入数据。
然而,我想对我的数据进行80% - 20%的分割,其中80%用于培训,20%用于验证。
在方法中,validationData设置用于指定验证数据。
不幸的是,我只有一个dataset对象,它代表了我的整个数据集。
此外,我的训练数据是时间上的,也是非常大的-而且我的Dataset对象是由生成器函数支持的。为此,我希望Dataset对象的最后20%用作我的验证数据。
在不将单个Dataset 对象全部装入内存的情况下,将单个对象拆分为2的最有效方法是什么,这样我就可以将其中的最后20%用作验证数据?
发布于 2020-05-14 15:45:14
数据不是全部加载在内存中,而是以迭代方式加载。因此,可以对加载的数据进行筛选,将其拆分为两个数据集。
// first load the dataset
const csvDataset = tf.data.csv(csvUrl);
//split dataset
let i = 0;
trainDataset = csvDataset.filter(x => i++%5 !== 0)
i = 0
testDataset = csvDataset.filter(x => i++%5 === 0)https://stackoverflow.com/questions/61800287
复制相似问题