tensorflow中shuffle_batch()和batch()之间的差异

tensorflow中shuffle_batch()和batch()之间的差异,tensorflow,records,Tensorflow,Records,我使用tf.train.shuffle_batch和tf.train.batch读取一个.record文件,其中包含两个类和每个类三个示例。如果我想要两批三个示例,我将num_epochs=1放在string_input_producer中,这样我将得到两批三个示例,但每次调用它们时,这两个函数都返回两个随机批 这两个功能之间有什么区别 谢谢 tf.\u train.shuffle\u batch将以随机顺序返回记录,而tf.train.batch将从源代码按顺序返回记录。一个或另一个可能更有用

我使用tf.train.shuffle_batch和tf.train.batch读取一个.record文件,其中包含两个类和每个类三个示例。如果我想要两批三个示例,我将num_epochs=1放在string_input_producer中,这样我将得到两批三个示例,但每次调用它们时,这两个函数都返回两个随机批

这两个功能之间有什么区别


谢谢

tf.\u train.shuffle\u batch将以随机顺序返回记录,而tf.train.batch将从源代码按顺序返回记录。一个或另一个可能更有用,这取决于你试图完成什么。我建议使用shuffle\u batch,因为它为学习过程增加了额外的随机化,但首先要考虑到你的任务有什么意义。

文档对此非常清楚。连名字都非常清楚。你还需要什么解释?这是真的。但是,如果您设置dynamic\u pad=True或\并允许\u minger\u final\u batch=True,它将使用tf.train.batch生成无序批