2017-07-13 11 views
3

現在、Kerasで作成したモデルをトレーニングするためのGoogle Cloud MLエンジンのセットアップがあります。 Kerasを使用すると、MLエンジンは自動的にログをストレージバケットに保存しないようです。 ML Engine Jobsページにログが表示されますが、ストレージバケットには表示されないため、トレーニング中にテンソルボードを実行できません。テンソルボード+ Keras + MLエンジン

あなたは、ジョブが正常に完了し、ログを生成見ることができます:enter image description here

をしかし、その後、私のストレージバケットに保存されて何のログはありません。enter image description here

私の環境をセットアップするとき、私はこのチュートリアルに従っ:(http://liufuyang.github.io/2017/04/02/just-another-tensorflow-beginner-guide-4.html

したがって、MLエンジンでKerasモデルをトレーニングするとき、ログを取得してテンソルボードを実行するにはどうすればよいですか?他の誰かがこれで成功しましたか?

答えて

5

ログを書き出すには、コールバックkeras.callbacks.TensorBoard(..)を作成する必要があります。 Tensorboad callbackを参照してください。コールバックのlog_dir引数にGCSパス(gs:// path/to/my/logs)を指定し、その場所にTensorboardを指定することもできます。 model.fit_generator(...)またはmodel.fit(...)を呼び出すときに、コールバックをリストとして追加します。

tb_logs = callbacks.TensorBoard(
      log_dir='gs://path/to/logs', 
      histogram_freq=0, 
      write_graph=True, 
      embeddings_freq=0) 

model.fit_generator(..., callbacks=[tb_logs]) 
+0

驚くばかり!それは完全に働いた。私はTensorboardコールバックを使用していましたが、GCSパスを入れることはできませんでした。 – hellowill89

関連する問題