1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Jupyter notebookでGPUのメモリ解放されていないときの対応

Posted at

目的

Jupyter Notebook上でTensorflow GPUで実行していると、さっき動いたタスクが動かなくなるという状態がちょいちょい起きました
調べて時間がかかった割には簡単なことだったので、私と同じ初心者のために、私のとった解決策をまとめてみました
おそらく当たり前のことでしょうが、私には時間がかかったので

#環境
Windows10
GPU NVIDIA RTX2070 SUPER
Jupyter Notebook 6.0.1
Python 3.7.4
Tensorflow-gpu 1.14.0
#現象
実行実績のあるTensorflowでGPUを使った計算を流そうとするとエラーがでる
具体的には
(0) Internal: Blas GEMM launch failed
の様なエラーが出る
#試してみた対処方法

再度実行する(もちろんだめ)
Notebookを一度閉じる(効果なし) 
とりあえずOSをリブートすると解消する
#調べて分かったこと

GPUは負荷が少ないのに、メモリがいっぱいいっぱいまで確保されている
簡単な対処法としてはデバイスマネージャーのディスプレイアダプタのドライバをオフ、オンする(一応解決するが、あまりやりたくない)
#根本解決手法
そもそも別のNotebookで計算を流した後に、別の計算を流そうとした際にエラーがでることが気が付き、前の計算のNotebookをJuypter Notebook上でShutdownしてみると、GPUのメモリが解放されたことを確認
結果的にはJupyter Notebookでは計算が終わってもプロセスが残るのでGPUのメモリが解放されないということのようですね
#対処法まとめ
GPUを使った計算でエラーが出た際には、プロセスマネージャーでGPUのメモリを確認し、確保されてしまっている場合には、
1.Notebook上で以前のプロセスをShutdownする
2.それでもだめな場合はデバイスマネージャー上でディスプレーアダプタのドライバをオフ、オンする
3.最後の手段をWindowsをリブート
が対処法となるようです

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?