2017-06-30 8 views
0

複数の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を無効にします。

答えて

1

1つの提案は、あなたがtensorflowをインポートする前に、次のコードを配置することです!それは欲しいものではありません。

+0

スニペットでは、GPUカードをTensorFlowプロセスに表示させないようにしているため、TensorFlowはGPUで実行されません。 – npf

関連する問題