tensorflow 如何确保模型在训练过程中不改变训练数据集的顺序?

9wbgstp7  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(143)

我在一个NLP项目中有三个不同顺序的数据集,我想在TensorFlow中应用课程学习,但我不知道应该使用哪个参数来保持我提供的顺序。例如,在第一个数据集中,我有复杂到简单的顺序;在第二个数据集中,我有简单到复杂的顺序,等等。为了了解课程是否重要,我必须按照我的顺序保持训练数据集。
我尝试用不同顺序的数据集训练模型,但没有得到不同的结果。我认为在训练过程中,模型以相同的方式打乱了数据集,所以没有得到不同的结果。

s4chpxco

s4chpxco1#

如果你使用tf.data.Dataset作为训练数据,它在训练过程中不会被打乱。如果你使用其他格式(例如普通的numpy数组),你可以在model.fit方法中提供参数shuffle=False
来自www.example.com的文档tf.keras.Model.fit:
shuffle:Boolean(是否在每个epoch之前对训练数据进行 Shuffle )或str(对于'batch')。当x是生成器或tf. data. Dataset的对象时,此参数将被忽略。'batch'是用于处理HDF 5数据限制的特殊选项;它以批量大小的块进行 Shuffle 。当steps_per_epoch不为None时无效。
shuffle的默认值是True,因此如果数据不是generator或tf.data.Dataset的形式,则可能必须将其提供为False

相关问题