複数のJupyterノートブックを使用してGPU上でTensorflowアプリケーションを実行しています。毎回、ランの1つがノートブックをクラッシュさせ、「カーネルがクラッシュしました...」という簡単な通知が表示されます。我々は、Pythonの.pyファイルにコードを置くとTensorflow GPUアプリケーションクラッシュJupyterノートブックカーネル
、stderr出力は別で
F tensorflow/core/kernels/conv_ops_3d.cc:369] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
Aborted
たstderrが報告された実行します。
F tensorflow/core/common_runtime/gpu/gpu_util.cc:296] GPU->CPU Memcpy failed
問題がtensorflowアプリケーションがつかんでいるということです多くの記憶Linuxではtop
を実行して、何が起こっているのか見ることができます。我々のマシンでは、各テンソルフロープロセスが0.55t
をつかんでいたことがわかりました!
Jupyterノートブックの内部でプロセスを実行し、ノートブックをシャットダウンしないと、ノートブックはメモリを解放しません。ある時点では、メモリにアクセスできないプロセスが実行され、そのプロセスは終了します。ノートブックの中で走っているのであれば、カーネルが死んだことだけを伝えます。
誰でも助けてもらえますか? @ニコラスコメント
後に追加されました
import os
os.environ["CUDA_VISIBLE_DEVICES"]="-1"
はい、これはGPUを無効にします。
スニペットでは、GPUカードをTensorFlowプロセスに表示させないようにしているため、TensorFlowはGPUで実行されません。 – npf