许多 TensorFlow 的示例应用程序创建Experiment
s 并Experiment
通过调用tf.contrib.data.learn_runner.run
. 看起来 anExperiment
本质上是一个Estimator
.
创建和运行所需的代码Experiment
看起来比创建、训练和评估Estimator
. 我确信使用Experiment
s 有一个优势,但我不知道它是什么。有人可以填我吗?
许多 TensorFlow 的示例应用程序创建Experiment
s 并Experiment
通过调用tf.contrib.data.learn_runner.run
. 看起来 anExperiment
本质上是一个Estimator
.
创建和运行所需的代码Experiment
看起来比创建、训练和评估Estimator
. 我确信使用Experiment
s 有一个优势,但我不知道它是什么。有人可以填我吗?
tf.contrib.learn.Experiment
是用于分布式训练的高级 API。这是它的文档:
实验是一个包含训练模型所需的所有信息的类。
创建实验后(通过传递估计器和用于训练和评估的输入),实验实例知道如何以合理的方式调用训练和评估循环以进行分布式训练。
就像tf.estimator.Estimator
(和派生类)是一个高级 API,它隐藏矩阵乘法、保存检查点等,tf.contrib.learn.Experiment
试图隐藏分布式计算所需的样板,即tf.train.ClusterSpec
、、tf.train.Server
作业、任务等。
您可以tf.estimator.Estimator
在没有Experiment
. 请参阅本教程中的示例。