Tensorflow2.0培训:model.compile与GradientTape

时间:2019-05-09 17:14:53

标签: python tensorflow tensorflow2.0 tf.keras

我开始学习Tensorflow2.0,而困惑的一个主要来源是何时使用类似 keras的 model.compiletf.GradientTape来训练模型。< / p>

在Tensorflow2.0 MNIST分类教程上,他们训练了两个相似的模型。 One with model.compileother with tf.GradientTape

很抱歉,这很简单,但是什么时候使用另一个?

1 个答案:

答案 0 :(得分:3)

这确实是一个特定案例,很难在这里给出明确的答案(它可能会基于“基于观点的观点”。)但是总的来说,我会说

  • “经典” Keras界面(使用compilefit等)允许快速,轻松地构建,训练和评估标准模型。但是,它是非常高级/抽象的,因此不会给您太多低级控制。如果您要实现具有非平凡控制流的模型,则可能难以适应。
  • GradientTape为您提供了对训练/运行模型的各个方面的完全低级控制,从而使调试更容易,架构更复杂等,但是您将需要为许多事情编写更多的样板代码compiled模型将对您隐藏(例如,训练循环)。不过,如果您进行深度学习的研究,那么大多数时候您可能会一直在这个级别上工作。