我有一个train.tf_record文件和一组tf_record文件(例如1.tf_record ... 100.tf_record)
1.tf_record ... 100.tf_record文件只是train.tf_record文件的分片版本。因此,它们一起构成了与train.tf_record文件中相同的数据。
但是,当通过分片文件加载训练数据然后训练模型时,我发现模型的性能有所不同。
对于第一种情况,我按如下方式加载数据:
d = tf.data.TFRecordDataset("train.tf_record")
if is_training:
d = d.repeat()
d = d.shuffle(buffer_size=100)
对于第二种情况,我只传递了分片文件名列表,如下所示:
d = tf.data.TFRecordDataset(["1.tf_record","2.tf_record",....])
if is_training:
d = d.repeat()
d = d.shuffle(buffer_size=100)
我也将测试数据集的记录文件分片。但是不要在那里观察到任何问题。我检查过分片记录文件没有问题。因此,我认为d.repeat()或d.shuffle()可能存在一些问题。