[解決済み] TensorflowがGPUのメモリ全体を割り当てるのを防ぐには?
2022-03-16 05:31:50
質問
私は、Nvidia Titan X GPUを搭載したサーバーマシンを数台所有し、計算機資源を共有している環境で働いています。
小規模から中規模のモデルであれば、Titan Xの12GBで、通常2-3人が同じGPUで同時にトレーニングを実行するのに十分です。1つのモデルがGPUのすべての計算ユニットをフルに活用できないほど小さい場合、これは実際に、1つのトレーニングプロセスを次々に実行する場合と比較して、高速化につながる可能性があります。GPUへの同時アクセスによって個々の学習時間が遅くなる場合でも、複数のユーザーが同時にGPUで学習できる柔軟性があるのは良いことです。
TensorFlowの問題は、デフォルトでは起動時に利用可能なGPUメモリをフルに割り当ててしまうことです。小さな2層のニューラルネットワークであっても、12GBのGPUメモリをすべて使い切ってしまうんですね。
TensorFlowは、与えられたモデルに対して、例えば4GBのGPUメモリしか割り当てないようにする方法はありますか?
どのように解決するのですか?
を構築する際に、割り当てるGPUメモリの割合を設定することができます。
tf.Session
を渡すことで
tf.GPUOptions
の一部として、オプションの
config
引数を指定します。
# Assume that you have 12GB of GPU memory and want to allocate ~4GB:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
は
per_process_gpu_memory_fraction
は、同じマシン上の各 GPU のプロセスで使用される GPU メモリの量のハード上限として機能します。現在、この割合は同じマシン上のすべての GPU に一様に適用され、GPU ごとに設定する方法はありません。
関連
-
Python百行で韓服サークルの画像クロールを実現する
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
opencvとpillowを用いた顔認証システム(デモあり)
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
PicgoのイメージベッドツールをPythonで実装する
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】tensorflowで現在利用可能なGPUを取得する方法とは?