在TensorFlow中使用实验的优势

时间:2017-11-14 03:42:11

标签: python tensorflow machine-learning deep-learning tensorflow-estimator

TensorFlow的许多示例应用程序都会创建Experiment并通过调用Experiment运行其中一个tf.contrib.data.learn_runner.run方法。看起来Experiment本质上是Estimator的包装器。

创建和运行Experiment所需的代码看起来比创建,训练和评估Estimator所需的代码更复杂。我确信使用Experiment有优势,但我无法弄清楚它是什么。有人能填补我吗?

1 个答案:

答案 0 :(得分:6)

tf.contrib.learn.Experiment是分布式培训的高级API。这是来自其文档:

  

实验是一个包含训练所需信息的类   模型。

     

创建实验后(通过传递Estimator和输入)   训练和评估),实验实例知道如何调用   训练和评估循环以合理的方式为分布式   训练

就像tf.estimator.Estimator(以及派生类)是隐藏矩阵乘法,保存检查点等的高级API一样,tf.contrib.learn.Experiment会尝试隐藏您需要的样板文件适用于distributed computation,即tf.train.ClusterSpectf.train.Server,工作,任务等。

您可以在没有tf.estimator.Estimator的情况下在一台计算机上训练和评估Experiment。请参阅this tutorial中的示例。