2017-09-24 8 views
0

私はTensorflowユーザーです。テンソルフローでは、DropとBatchNormを明示的に処理する必要があります。たとえば、テスト/検証フェーズでは、ドロップ率を1に設定し、BatchNormのトレーニングフラグを指定する必要があります。Kerasはtrainとtest/validateの段階でDropとBatchNormを自動的に認識できますか?

私の質問は次のとおりです:Kerasはtrainとtest/validate段階でDropとBatchNormを自動的に認識できますか?たとえば、model.predict()を使用すると、Kerasはtest/validateのpjhaseにあることを知っているので、DropおよびBatchNormを自動的に処理しますか?

B.T.W.、KerasはTensorflowとは対照的に、検証/テストフェーズではドロップアウトのレートを0に設定します。テンソルフローでは、ドロップレートは1に設定されます。

答えて

0

はい、Kerasはすでに学習/テストフェーズを内部的に追跡していますが、学習時にはゼロに設定されているlearning_phaseという内部変数。

keras.backendファンクションlearning_phase()set_learning_phase(value)であるこの変数は、fully documentedです。

+0

今、私はKerasでこれらの機能を使用するために心を落とすことができました。どうもありがとうございました。 –

関連する問題