2017-11-29 19 views
0

tf_learn.Experiment(...)インターフェイスを使用する場合、train_monitorsとeval_hooksを渡すことができます。分散トレーニングでは、SessionRunHookはマスタでのみ実行されますか?

ソースコードを読もうとしましたが、セッションごとにフックを実行する必要があることがわかりました(..)。私はマスターだけでなく、労働者もsession.run(...)を実行すると信じています。しかし、クラウドmlのログ結果からは、このフックがマスターでのみ実行されていることがわかります。

誰かがこれを説明できますか?それに関する文書はありますか?

ありがとうございます!

答えて

0

あなたは、ノードがマスターまたは労働者であるかに応じて呼び出されるExperimentにスクリプトでlearn_runner.run、別の方法を使用していると仮定すると:

  • マスター上で、train_and_evaluate呼び出されます。
  • ワーカーでは、trainが呼び出されます。

train_and_evaluateは最終的にtrainを呼び出し、その両方のケースでは、train_monitorsEstimator.trainに渡されます。ただし、評価はマスターでのみ行われるため、eval_hooksはそこでのみ実行されます。

関連する問題