[英]Tensorflow2.0 training: model.compile vs GradientTape
我開始學習Tensorflow2.0,而困惑的一個主要來源是何時使用類似keras的模型model.compile
與tf.GradientTape
一起訓練模型。
在針對MNIST分類的Tensorflow2.0教程上,他們訓練了兩個相似的模型。 一個使用model.compile
, 另一個使用tf.GradientTape
。
抱歉,這很瑣碎,但是您何時在另一個上使用?
這確實是一個特定案例,很難在這里給出明確的答案(它可能會基於“基於觀點的觀點”)。但是總的來說,我會說
compile
, fit
等)可快速輕松地構建,訓練和評估標准模型。 但是,它是非常高級/抽象的,因此不會給您太多低級控制。 如果要實現具有非平凡控制流的模型,則可能難以適應。 GradientTape
為您提供了對訓練/運行模型的各個方面的完全低級控制,從而可以簡化調試以及更復雜的體系結構等,但是您將需要編寫更多樣板代碼來處理已compiled
模型將對您隱藏的許多事情(例如,訓練循環)。 不過,如果您進行深度學習研究,則大多數時候您可能會在此級別上工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.