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