通常、コマンドラインからPythonスクリプト(たとえばpython test.py
)を実行すると、GPUメモリはスクリプトの終了直後に解放されます。 このtest.py
スクリプトでは、ケラスのモデルを読み込んで、一部のデータを評価し予測するだけでした。そこにトレーニングプロセスはありません。 しかし、「spyder」を開いてこのスクリプトを「spyder」で実行すると、結果は「ipython」セクションに表示されますが、コマンドラインからnvidia-smi
と入力すると、GPUメモリは解放されません。 私が試したのは、この 'ipython'カーネルを閉じて新しいものを起動することです。しかし、他のすべての変数は失われます。 model.evaluate(x, y)
の後にGPUメモリを「spyder」から解放するためのまともな方法がありますか? ipythonのkerasでGPUリソースをspyderで解放するには?
前と「スパイダー」からスクリプトを実行した後:バックエンドがGPU上のすべてのメモリを予約しますtensorflow
'gc.collect()' – DJK
@ djk47463を実行しようとします。この 'gc'はどこから来ますか? Whichiモジュール? – StayFoolish
モジュールの名前は[gc](https://docs.python.org/2/library/gc.html)です。これはガベージコレクタです。これはPythonのインストール – DJK