TensorFlowプログラムのGPU使用量無制限を解決する。
2022-02-23 07:34:34
親切なリマインダー
<ブロッククオートFriendly reminderは、読者がより良い体験をするためのもので、第三者のためのものではありません。
- をお勧めします。 ブログガーデンで読む
- WeChatアドレス
- GitHubアドレス
- 私のフォローを歓迎します。 WeChatの公開番号
今日、私は奇妙な現象に遭遇した、tensorflow-gpuを使用する場合、そこにメモリの過負荷〜〜私は任意の大規模なデータを訓練する場合、そうである、私はy = W * xを書いたキーを...次の図が表示されます。
プログラムは以下の通りです。
import tensorflow as tf
w = tf.Variable([[1.0,2.0]])
b = tf.Variable([[2.]],[3.]])
y = tf.multiply(w,b)
init_op = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init_op)
print(sess.run(y))
エラーメッセージを表示します。
- プログラムがクラッシュした後、グラフィックカードが全部食われたため、コンピュータ全体がダウンした
2018-06-10 18:28:00.263424: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2018-06-10 18:28:00.598075: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1356] Found device 0 with properties:
name: GeForce GTX 1060 major: 6 minor: 1 memoryClockRate(GHz): 1.6705
pciBusID: 0000:01:00.0
totalMemory: 6.00GiB freeMemory: 4.97GiB
2018-06-10 18:28:00.598453: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1435] Adding visible gpu devices: 0
2018-06-10 18:28:01.265600: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-06-10 18:28:01.265826: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:929] 0
2018-06-10 18:28:01.265971: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:942] 0: N
2018-06-10 18:28:01.266220: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1053] Created TensorFlow device ( /job:localhost/replica:0/task:0/device:GPU:0 with 4740 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1060, pci bus id: 0000:01:00.0, compute capability: 6.1)
2018-06-10 18:28:01.331056: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 4.63G ( 4970853120 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.399111: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 4.17G ( 4473767936 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.468293: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 3.75G ( 4026391040 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.533138: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 3.37G ( 3623751936 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.602452: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 3.04G ( 3261376768 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.670225: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 2.73G ( 2935238912 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.733120: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 2.46G ( 2641714944 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.800101: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 2.21G ( 2377543424 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.862064: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 1.99G ( 2139789056 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.925434: E T:\src\github\tensorflow\tensorflow\stream_executor\cuda\cuda_driver.cc:936] failed to allocate 1.79G ( 1925810176 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2018-06-10 18:28:01.986180: E T:\src\gi
原因を分析する。
<ブロッククオート-
- グラフィックカードのドライバーが最新版ではありません。__driver software__でドライバーを更新するか、自分で更新をダウンロードしてください。
-
- TFが動作しすぎているため、ログアウトし、開いているすべてのプログラムをフラッシュしてください。
-
- TFカーネルは、デフォルトで自分自身を訓練するためにすべてのGPUを占有するように書かれているため、つまり、meiguoのような優先順位政策それのような
この時点で、2つのことを設定する必要があります。
- どのような占有方式が選択されているか? 優先入居__または__オンデマンド入居
- GPU を使いすぎると他のプログラムがクラッシュする可能性があるため、占有する GPU の最大数を選択します。0.7以下が望ましい
まずドライバをアップデートしてください。
TFプロセスの再設定。
備考 注意:1つだけ設定しても効果なし! ネットのブログを参考に試してみましたが、やはり動作が悪いです(GPUを大量に消費してしまいます)
TFを設定する。
- オンデマンドで占拠する
- 最大稼働率70% GPU
以下のようにコードを修正します。
import tensorflow as tf
w = tf.Variable([[1.0,2.0]])
b = tf.Variable([[2.]],[3.]])
y = tf.multiply(w,b)
init_op = tf.global_variables_initializer()
config = tf.ConfigProto(allow_soft_placement=True)
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
config.gpu_options.allow_growth = True
with tf.Session(config=config) as sess:
sess.run(init_op)
print(sess.run(y))
解決に成功しました。
2018-06-10 18:21:17.532630: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2018-06-10 18:21:17.852442: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1356] Found device 0 with properties:
name: GeForce GTX 1060 major: 6 minor: 1 memoryClockRate(GHz): 1.6705
pciBusID: 0000:01:00.0
totalMemory: 6.00GiB freeMemory: 4.97GiB
2018-06-10 18:21:17.852817: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1435] Adding visible gpu devices: 0
2018-06-10 18:21:18.511176: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-06-10 18:21:18.511397: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:929] 0
2018-06-10 18:21:18.511544: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:942] 0: N
2018-06-10 18:21:18.511815: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1053] Created TensorFlow device ( /job:localhost/replica:0/task:0/device:GPU:0 with 4740 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1060, pci bus id: 0000:01:00.0, compute capability: 6.1)
[[2. 4.]
[3. 6.]]
参考
関連
-
Running tensorflow program prompts Your CPU supports instructions that this TensorFlow binary was not compiled to use:
-
undefinedtensorflowお使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX2
-
undefinedエラーを解決してください。お使いのCPUは、このTensorFlowバイナリが使用するためにコンパイルされていない命令をサポートしています。AVX AVX2
-
EnvironmentErrorのため、パッケージをインストールできませんでした。[Errno 13] パーミッションが拒否された問題を解決しました。
-
TypeError: int() の引数は、文字列、バイトのようなオブジェクト、または数値でなければならず、'map' ではありません。
-
Tensorflowのexamples.tutorials.mnistにあるinput_dataデータクラスの簡単な分析
-
tensorflow Solutionに一致するディストリビューションは見つかりませんでした。
-
TensorflowでProcess finished with exit code -1073741819 (0xC0000005)が発生した場合の解決策。
-
tf.get_variable_scope() 共通の使用法
-
GPU版TensorFlowの正常なインストールをテストします。
最新
-
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 実装 サイバーパンク風ボタン