希望我已经充分理解了这个过程,这个问题实际上是有意义的。
为了训练我的模型(时间序列),我在 tf.dataset 函数之外进行预处理。我将这些保存为 numpy 数组,拆分为多个文件(例如train_1.npy,.. train_n.npymodel.fit
。)并使用生成器加载它们。
train_dataset = tf.data.Dataset.from_generator(generator=sequence_generator,args= ['train'], output_types = (tf.float32, tf.float32))
train_dataset = train_dataset.cache().batch(BATCH).prefetch(tf.data.AUTOTUNE)
validation_dataset = validation_dataset.cache().batch(BATCH).prefetch(tf.data.AUTOTUNE)
test_dataset = test_dataset.batch(64)
生成器从一组 train/val/test .npy文件中生成一个随机文件,以帮助避免过度拟合。
我的问题是,在不同时期之间,.cache()
我的代码部分是否会抵消随机生成的.npy文件的效果。