で「GPUメモリを使い果たした」、私は「2.59GiBを割り当てようmemeoryを使い果たした」というメッセージが表示されましたしかし、それは総メモリが4.69GiBであり、空きメモリが3.22GiBであることを示しています、どうすれば2.59GiBで停止できますか?大規模なネットワークでは、どのようにGPUメモリを管理できますか?それはそれについてではありませんどのように事前に割り当てることメモリどのように解決することができますが、私は2つのCONV層とフルCONECT層とTensorFlowにMNISTのデモを実行したTensorFlow
答えて
私は、GPUメモリを最大限に活用するだけでどのように関係してたいが、それが起こったのか知っている、ではありません。まず、あなたのGPUを監視することによって実行されたときにどのくらいのメモリを取得するかを確認することができます。たとえば、NVIDIA GPUをお持ちの場合は、watch -n 1 nvidia-smi
コマンドで確認できます。 しかし、あなたはGPUメモリの最大割合を設定しなかった場合は、ほとんどの場合、それはほぼ全空きメモリを割り当てます。あなたの問題は、あなたのGPUのための十分なメモリの不足です。 cnnネットワークは完全に重いです。あなたのネットワークにフィードしようとしているときは、あなたの全データでそれをしないでください。低いバッチサイズでこの供給手順を実行してください。
私はかなり大きなネットワーク(CNN + LSTM)を持っています。私の入力データのサイズは、batch_size = 5、(5x396x396) - 3Dボリュームです。したがって、バッチサイズはかなり小さくなります。私は8GBのRAMを搭載したGTX 1070で動作していますが、まだメモリが不足しています。あなたが知っている回避策はありますか?回避策の概要を示すチュートリアルはありますか? –
バッチサイズのためだけではないかもしれません。 'tf.train.shuffle_batch'のような入力バッチを作成するためにキューを使用していますか?その場合は、キューの容量を確認してください。 – Nandeesh
GTX 970で小さなCNNを訓練するときにメモリ不足のエラーが発生しました。私は多少のばかげて、TensorFlowに必要に応じてGPUにメモリを割り当てて、問題を解決しました。これは次のPythonコードを使用して達成することができる。
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config = config)
以前、TensorFlowは〜GPUメモリの90%を事前に割り当てることになります。しかし、何らかの未知の理由により、ネットワークのサイズを増やしたときにメモリ不足エラーが発生する可能性があります。上記のコードを使用することで、私はもはやOOMエラーが発生しなくなりました。デフォルトで
これはケラを使用していてもスクリプトで動作します – Hong
、TensorFlowは、ほぼすべてのプロセスに見える全てのGPU(CUDA_VISIBLE_DEVICES対象)のGPUメモリをマッピングします。これは、メモリ断片化を低減することによって、デバイス上の比較的貴重なGPUメモリリソースをより効率的に使用するために行われます。
TensorFlowはこれを制御するために、セッション上の2つのコンフィグオプションを提供します。
最初の実行時の割り当てに基づいてのみ限りGPUメモリを割り当てようとallow_growthオプションである。第2の方法は、全体の量の割合を決定per_process_gpu_memory_fractionオプション、ある
config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=config, ...)
各可視GPUが割り当てられるべきメモリの量。 [?GPUメモリの全体を割り当てるからtensorflowを防止する方法]
config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.4 session = tf.Session(config=config, ...)
- 1. TensorFlow MNISTの例は、私が<code>Deep MNIST Example</code>罰金を実行することができていますfully_connected_feed.py
- 2. TensorFlowのkeep_prob MNISTチュートリアル
- 3. Tensorflow Mnistでエラーが発生しました
- 4. 私はLinq IQueryableが実行されたことをどのようにテストすることができます
- 5. 誰かがTensorFlowで私を助けることができますか?
- 6. TensorFlowのターゲットプルーニングがノードを見つけることができません
- 7. グループ化層 - 私はこの例のように層をGRUPする方法を見つけることができません
- 8. がどのようにフォルダ階層に__dirnameを使って行くこと
- 9. は、どのように私は私が行うことができますマップ
- 10. 私は、クエリを実行することができますどのようにすると時間=この
- 11. クロスセービングを実行するとTensorflowの保存モデルが大きくなる
- 12. ドッキングウィンドウの画像層は、私は今、数週間のためにGoogleのコンテナレジストリを使用してきたし、非常に迷惑と私は」を取り除くことができるということです一つのことがあるたびに
- 13. オブジェクトがアクションを実行したことをどのように知ることができますか?
- 14. どのようにFixtureClassNotFoundを解決するのです:私のテストを実行しているとき
- 15. Tensorflowユニットテストを実行する
- 16. は、どのように私はEXPRESSION OF「ILLEGAL STARTエラーを解決することができます
- 17. どのように私はエラーC2059を解決することができます:構文エラー:「string」は」
- 18. ユーザがindex.phpにサーフィンしたときにどのように解決するか
- 19. は私が行うことができますどのように
- 20. どのように私のような私は階層が外部表に定義されている階層ディメンションを定義したい階層
- 21. どのように私は私の窓のサービスを行うことができますどのように
- 22. は、TensorFlowでTensorFlow
- 23. インターネット層またはトランスポート層でチェックサムが実行されましたか?
- 24. DDDアプローチによるドメイン層とDAO層
- 25. Tensorflowをインストールしようとしたときにこのエラーが検出されました。助言がありますか?
- 26. どのように私はMercurialを使用してPythonのユニットテストを実行することができます
- 27. UIAutomationネストされたAccessibilty Elementsは私は2つのサブビューボタンとイメージとの見解を持っている階層
- 28. TensorFlowによる検証とテスト
- 29. ビュー階層を理解しようとしています
- 30. PL/SQL - TO_DATEは、私がしたいので、のようなprocの下に私を実行することができるように実行即時パラメータ
の可能な複製を(例:http:、あなただけで、各GPUのメモリ総量の40%を割り当てるにTensorFlowを伝えることができます//stackoverflow.com/questions/34199233/how-to-prevent-tensorflow-from-allocating-the-totality-of-a-gpu-memory) –
私は前にそれを見たが、それは事前に割り当て、GPUのメモリを参照し、 – Fangxin