TensorBoard の設定

このドキュメントでは、Cloud TPU でプログラムのパフォーマンスを可視化および分析するために、TensorBoard を設定および実行する方法について説明します。

概要

TensorBoard には、TensorFlow データを視覚的に表示するための一連のツールが用意されています。モニタリングに使用することで、処理のボトルネックを特定し、パフォーマンスの改善方法を探る際に役立ちます。

要件

以下の手順は、次のことを前提としています。

  • すでに cloud-tpu-profiler 1.12 を実行して capture-tpu-profile スクリプトを作成している。
  • Cloud Shell で Cloud TPU をすでに設定しており、トレーニング アプリケーションを実行する準備ができている。

モデルのトレーニングの準備ができていない場合は、MNIST チュートリアルを開始してください。

TensorBoard を実行する

以下の手順では、Cloud Shell で Cloud TPU が設定済みであることを前提としています。

ctpu up を実行すると、TensorBoard を利用できるように、Compute Engine VM と Cloud TPU が作成され、Cloud Shell 環境のポート転送が自動的に設定されます。トレーニング アプリケーションを実行しているシェルではなく、新しい Cloud Shell で TensorBoard を実行する必要があります。

別の Cloud Shell で TensorBoard を実行するには、次の手順に従います。

  1. 2 番目の Cloud Shell を開いて、TensorBoard のプロファイリング データを取得します。

  2. 2 番目の Cloud Shell で、ctpu up を実行して、新しいシェルに必要な環境変数を設定します。

    $ ctpu up

    その結果、次のような出力が返されます。

    2018/08/02 12:53:12 VM already running.
    2018/08/02 12:53:12 TPU already running.
    About to ssh (with port forwarding enabled -- see docs for details)...
    

  3. Cloud Shell のインスタンスで使用するために、Cloud Storage バケットのアドレスを含む環境変数を作成します。

    (vm)$ export STORAGE_BUCKET=gs://[YOUR STORAGE BUCKET NAME]
    

モデルを実行してモニタリング出力をキャプチャする

TensorBoard のトレース情報を閲覧する方法としては、静的 Trace Viewerストリーミング Trace Viewer の 2 つがあります。静的 Trace Viewer では、Cloud TPU 1 つにつき 100 万イベントまでの制限があります。さらに多くのイベントにアクセスする必要がある場合は、ストリーミング Trace Viewer を使用してください。両方の設定を以下に示します。

  1. 最初の Cloud Shell で、TensorFlow モデルのトレーニング アプリケーションを実行します。たとえば、MNIST TPU モデルを使用している場合は、MNIST チュートリアルの説明に従って mnist_tpu.py を実行します。

  2. 2 番目の Cloud Shell で、使用する Trace Viewer のタイプを指定して、TensorBoard を起動します。

    • 静的 Trace Viewer の場合は、次のコマンドを実行します。OUTPUT-FILE の部分は、モデル トレーニングの際にチェックポイント、サマリー、TensorBoard の出力を格納するファイル名に置き換えます。

      (vm)$ tensorboard --logdir=${STORAGE_BUCKET}/[OUTPUT-FILE] &
      
    • ストリーミング Trace Viewer の場合、TensorBoard コマンドを実行する前に、Google Cloud Platform Console から TPU ホストの IP アドレスをコピーします。

      1. GCP Console のナビゲーション サイドバーで、[Compute Engine] -> [TPU] を選択し、Cloud TPU の内部 IP アドレスをコピーします。

      2. ストリーミング Trace Viewer で TensorBoard を使用する場合は、次のコマンドを実行します。OUTPUT-FILE の部分は、モデル トレーニングの際にチェックポイント、サマリー、TensorBoard の出力を格納するファイル名に置き換えます。

      (vm)$ tensorboard --logdir=${STORAGE_BUCKET}/[OUTPUT-FILE] \
        --master_tpu_unsecure_channel=[YOUR TPU IP] &
      
  3. 2 番目の Cloud Shell で、プロファイリング キャプチャ アプリケーションを起動します。

    (vm)$ capture_tpu_profile --tpu=[YOUR TPU NAME] --logdir=${STORAGE_BUCKET}/output
  4. Cloud Shell の [ウェブでプレビュー] ボタンをクリックし、ポート 8080 を開いて TensorBoard の出力を表示します。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...