张量流中 shuffle_batch() 和 batch() 的区别

Difference between shuffle_batch() and batch() in tensorflow

我正在使用 tf.train.shuffle_batch()tf.train.batch() 读取一个 .record 文件,每个 class 有两个 class 和三个示例。如果我想要两批三个示例,我将 num_epochs = 1 放在 string_input_producer 中,这样我将得到两批三个示例,但两个函数 return 每次我调用它们时都会打乱两个批次.

这两个函数有什么区别?

谢谢!

tf._train.shuffle_batch() 将 return 以随机顺序记录,而 tf.train.batch() 将 return 从您的来源按顺序记录。根据您要完成的目标,其中一个可能更有帮助。我会说 shuffle_batch 是因为它为学习过程增加了额外的随机化,但首先要考虑给定你的任务什么是有意义的。