Tensorflow-gpu(ver2.1)とKeras-gpu(ver2.3.1)を用いてJyupter notebook上で画像分類学習をしているのですが、学習結果を用いて分類させている際に数回分類させた後、
ResourceExhaustedError: OOM when allocating tensor with shape[712320,128] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc [Op:Add] name: dense_1_15/random_uniform/
とエラーが出てプログラムが止まってしまいます。
タスクマネージャーを監視していると、学習結果を用いる際にGPUメモリを0.3GBから7.0GBまで確保しており、KerasがGPUメモリを食いつぶした結果プログラムが停止するのかなと考えています。
対策法を調べてみると、
python
1physical_devices = tf.config.list_physical_devices('GPU') 2if len(physical_devices) > 0: 3 for device in physical_devices: 4 tf.config.experimental.set_memory_growth(device, True) 5 print('{} memory growth: {}'.format(device, tf.config.experimental.get_memory_growth(device))) 6else: 7 print("Not enough GPU hardware devices available")
こちらでGPUメモリの利用を制限できるそうなのですが、これをコードの先頭付近にいれて実行しても変わらず7.0GBまで確保してしまい、結局エラーがでます。
どなたか解決策をご存知でしょうか?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。