質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

受付中

Tensorflow(keras)でのGPUメモリ使用量をMAXにしたい

1gd2lp
1gd2lp

総合スコア8

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

1評価

1クリップ

15437閲覧

投稿2017/09/14 16:48

編集2022/01/12 10:55

###前提・実現したいこと
keras+tensorflowでGPUのメモリ全てを使用したい.

###発生している問題
tensorflowのデフォルトの設定はGPUメモリを割り当てられるだけの全てを割り当てるという仕様になっているはずです.
しかし新しく環境設定したGPUマシン(1080Ti ×2)で同様のスクリプトを実行する際に,GPUメモリの一部が割り当てられず(nvidia-smiのmemory usage: 9588MiB / 11264MiB),メモリが足りずにResourceExhoustedErrorが起きてしまいます.
ちなみに正常にスクリプトが動作する1080Tiを一つだけ積んだPCでは,nvidia-smi上の表示では11015MiB/11264MiBという割り当てになっています.

###該当のソースコード

tensorflowが認識しているGPUの情報です.

> from tensorflow.python.client import device_lib > print(device_lib.list_local_devices()) [name: "/cpu:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 9709578925658430097 , name: "/gpu:0" device_type: "GPU" memory_limit: 9273834701 locality { bus_id: 1 } incarnation: 16668416364446126258 physical_device_desc: "device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:03:00.0" , name: "/gpu:1" device_type: "GPU" memory_limit: 9273834701 locality { bus_id: 1 } incarnation: 2094938711079475130 physical_device_desc: "device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:04:00.0" ]

nvidia-smi.exeの結果は以下の通りです.

アイドル時 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 385.41 Driver Version: 385.41 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 108... WDDM | 00000000:03:00.0 Off | N/A | | 23% 31C P8 9W / 250W | 285MiB / 11264MiB | 17% Default | +-------------------------------+----------------------+----------------------+ | 1 GeForce GTX 108... WDDM | 00000000:04:00.0 Off | N/A | | 25% 38C P8 9W / 250W | 155MiB / 11264MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1280 C+G ...mmersiveControlPanel\SystemSettings.exe N/A | | 0 1560 C+G Insufficient Permissions N/A | | 0 4120 C+G ...6)\Google\Chrome\Application\chrome.exe N/A | | 0 4580 C+G C:\Windows\explorer.exe N/A | | 0 5188 C+G ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A | | 0 5324 C+G ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A | | 1 1228 C+G Insufficient Permissions N/A | | 1 1244 C+G Insufficient Permissions N/A | +-----------------------------------------------------------------------------+ 計算スクリプト実行時 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 385.41 Driver Version: 385.41 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 108... WDDM | 00000000:03:00.0 Off | N/A | | 23% 35C P8 13W / 250W | 9284MiB / 11264MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 GeForce GTX 108... WDDM | 00000000:04:00.0 Off | N/A | | 23% 38C P2 55W / 250W | 9146MiB / 11264MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1280 C+G ...mmersiveControlPanel\SystemSettings.exe N/A | | 0 1448 C ...ers\Administrator\Anaconda3\pythonw.exe N/A | | 0 1560 C+G Insufficient Permissions N/A | | 0 4120 C+G ...6)\Google\Chrome\Application\chrome.exe N/A | | 0 4580 C+G C:\Windows\explorer.exe N/A | | 0 5188 C+G ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A | | 0 5324 C+G ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A | | 1 1228 C+G Insufficient Permissions N/A | | 1 1244 C+G Insufficient Permissions N/A | | 1 1448 C ...ers\Administrator\Anaconda3\pythonw.exe N/A | +-----------------------------------------------------------------------------+

###環境
OS: Windows10
library: python 3.6, keras 2.0.8, tensorflow-gpu 1.3.0, CUDA8.0 CUDNN6.0

###補足&試したこと
まずtensorflow側の問題なのかそれともCUDAなどのGPU周りの設定等の問題なのかを切り分けるために色々Web上の情報などを参考にしましたが結局分からず仕舞いといったところです.
他のサービスがGPUメモリの一部を既に予約してしまっている可能性が一番濃厚だと思ったのですが,Memory Usageを見てもメモリのほとんど全てを使っているという感じはありません.
Insufficient Permissionも怪しく思い,PIDからプロセスを割り出したところ,dmw.exeなどの細々としたものでした.

GPUメモリがきちんとフルに割り当てられない原因について何か分かる方がいれば教えていただけると嬉しいです.

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。