Tensorflowは利用可能なメモリ全体をそのGPUにあらかじめ割り当てる傾向があります。デバッグのために、そのメモリのどれだけが実際に使用されているかを示す方法はありますか?TensorFlowによって使用されているGPUメモリの量を判断する方法はありますか?
答えて
(1)メモリ割り当てを記録するためのTimelineといくつかの限定的なサポートがあります。ここではその使い方の例です:
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
summary, _ = sess.run([merged, train_step],
feed_dict=feed_dict(True),
options=run_options,
run_metadata=run_metadata)
train_writer.add_run_metadata(run_metadata, 'step%03d' % i)
train_writer.add_summary(summary, i)
print('Adding run metadata for', i)
tl = timeline.Timeline(run_metadata.step_stats)
print(tl.generate_chrome_trace_format(show_memory=True))
trace_file = tf.gfile.Open(name='timeline', mode='w')
trace_file.write(tl.generate_chrome_trace_format(show_memory=True))
あなたはMNISTの例で、このコードを試してみることができます(mnist with summaries)
これは、あなたがChromeで開くことができ、タイムラインという名前のトレースファイルを生成します:/ /トレース。これは、GPUのメモリ使用統計を近似したものに過ぎないことに注意してください。基本的にGPUの実行をシミュレートしましたが、フルグラフのメタデータにアクセスすることはできません。また、GPUに割り当てられた変数の数もわかりません。
(2)GPUのメモリ使用量の非常に粗い測定のために、NVIDIA-SMIは、このコマンドを実行する時に、全デバイスのメモリ使用量を表示します。
nvprofは、オンチップ共有メモリ使用量を示し、CUDAカーネル・レベルで使用レジスタが、グローバル/デバイスメモリの使用状況を示していないができます。ここで
はコマンド例です:--print-GPU-トレースnvprof matrixMulここそして詳細: http://docs.nvidia.com/cuda/profiler-users-guide/#abstract
TensorFlowプロファイラは実際のGPUメモリアロケータ情報に基づいてメモリタイムラインを改善しました https://github.com/tensorflow/tensorflow/tree/master/tensorflow/core/profiler#visualize-time-and-memory
サードパーティのGPUメモリトラッカー(GPU-Z)を使用して、GPUの全体的な使用状況を視覚化することができます。プロセスごとにGPUを使用するわけではありませんが、テンソルフローだけでGPUを使用していて、詳細な解析が必要ない場合は、高速かつ正確なソリューションになります。
- 1. .NETアプリケーションでメモリ使用量を判断する方法
- 2. Tensorflow GPU /マルチGPUがメモリを割り当てる方法は?
- 3. Route 53レコードセットが使用されているかどうかを判断する方法はありますか
- 4. クラスがjvmにロードされているかどうかを判断する方法はありますか?
- 5. Tensorflowは、バッチサイズに関係なく、同じ量のgpuメモリを使用します。
- 6. 実行時にAndroidアプリケーションがプロダクション用に署名されているのかデバッグされているのかを判断する方法はありますか?
- 7. どのテキストメッセージが返信されているかを判断する方法はありますか?
- 8. どのCognos 8.xモデルが使用されているかを判断するツールはありますか?
- 9. 要素がラップされているかどうかを判断する方法はありますか?
- 10. LC_CTYPEがCで設定されているかどうかを判断する方法はありますか?
- 11. メソッドがJavaクラスでオーバーライドされているかどうかを判断する方法はありますか?
- 12. Xcode4で未使用機能を判断する方法はありますか?
- 13. メソスでタスクによって使用される最大メモリを得る方法はありますか?
- 14. すべてのオブザーバブルがいつ解決されたかを判断する方法はありますか?
- 15. DomainContextで何が変更されているかを判断する方法はありますか?
- 16. Keras/TensorflowによるGPU使用量が少ない?
- 17. imgsを判断する方法はすべてロードされています
- 18. TheanoのGPUメモリ使用量を計算するには?
- 19. OpenCLでは、GPUのメモリ使用量を取得する方法は?
- 20. 文法のあいまい性を判断する方法が設定されていますか?
- 21. 例外メッセージを使用して例外の種類を判断する方法はありますか
- 22. Roslynを使用して変数の潜在的な価値を判断する方法はありますか?
- 23. GPUのみが使用されています1-5%Tensorflow-gpuとKeras
- 24. UbuntuでプロセスのGPUメモリ使用量を最大限にする方法は? (Nvidia GPU用)
- 25. 私のCassandraクラスタのどのノードがコーディネータとして使用されているかを判断する方法はありますか?
- 26. Azure DevFabricのエンドポイントに使用されている実際のIPをプログラムによって判別する方法はありますか?
- 27. どのように私はソフトウェアがインストールされている判断するシェルを使用できますか?
- 28. node.jsのメモリリークを判断する良い方法はありますか?
- 29. SharePointを使用しているかどうかを判断する方法
- 30. Eclipseに何がCPU時間を食べているかを判断する方法はありますか?
chrome:// tracing内からデバイスの合計割り当てを確認できますか? –