我想做什么?
我只有一台机器。
我想定期评估模式。
我现在拥有什么?
使用占位符。假设我通过提供训练数据来执行1000步训练。然后我提供验证数据集进行评估。把它放在一个循环中。
但谷歌建议,占位符不是长期培训的好方法。
因此,我使用slim数据集来输入数据。现在,该模型与训练数据集绑定如下:
net = slim.conv2d(inputs, 64, [11, 11], 4, padding='VALID', scope='conv1')
我必须构建另一个与验证数据集绑定的模型(在另一个图中)。
有更好的方法吗?
答案 0 :(得分:2)
tf.estimator.train_and_evaluate()
API旨在简化同一台计算机上的培训和评估(还包括支持在本地或使用Cloud ML Engine扩展到多台计算机)。在内部,它为培训和评估构建了不同的图形,并将不同的输入管道(定义为“输入函数”)从tf.estimator.TrainSpec
和tf.estimator.EvalSpec
连接到这些图形。您可以使用Slim API构建这些输入函数,但我们现在建议您使用tf.data
API,这样更灵活,更高效。