我正在尝试训练一个非常简单的神经网络来对数据样本进行分类,其中某些类别必然会在其他类别之后出现 - 这就是我决定让输入数据分批进入网络的原因。使用 Tensorflow,显然您可以获得多种声明批处理的方法,例如 tf.data.Dataset.batch(我目前使用 Adam Optimizer 对其进行训练)和 tf.train.batch。区别在哪里?这些方法应该一起使用还是排他性使用?在后一种情况下:我应该选择哪个?
请您参考如下方法:
tf.train.* 是一种较旧的 API,比 tf.data.* 更复杂且更容易出错(您需要自己处理队列,线程运行器,协调器等)。对于您声明的目的(批处理数据并将其提供给模型),两者在功能上是等效的,因为两者都实现了您的目标。但是,您应该考虑使用 tf.data,因为它使用起来更简单,而且 currently recommended way处理输入数据集。
