2017-08-19 19 views
0

私はクラスの学生のためにJupyterhub(docker spawner)でテンソルフロー環境を構築していますが、これに問題があります。デフォルトで限界テンソルフローGPUメモリのためのJupyterhub設定

、TensorFlowは、ほぼすべてのプロセスに見える全てのGPU (CUDA_VISIBLE_DEVICES対象)のGPUメモリをマッピングします。これは、メモリ断片化を低減することによって、デバイス上で比較的貴重なGPUメモリリソース をより効率的に使用するために、 で行われます。 (https://www.tensorflow.org/tutorials/using_gpuから)

GPUを搭載したクラスを使用するPythonプログラムの誰場合は、GPUメモリはほぼこのような状況にexhaust.Accordingだろう、私は手動でいくつかの制限のコードを追加する必要があります。以下のような :

config = tf.ConfigProto() 
config.gpu_options.allow_growth = True 
session = tf.Session(config=config, ...) 

しかし、これは偉大なsolution.Iは、このコードに新しいコードを生成するたびに追加する必要はありません。

jupyterubがこのような状況や他の大きな問題を回避するためにいくつかの設定を追加できる場合は、 私に教えてください、ありがとう!

答えて

0
import tensorflow as tf 
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.2) 
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) 

が、これはうまく

+0

それはあなたのコードが何をあなたが変更または何について少し説明するの報いは良いと考えられている動作します。 – Neil

+0

あなたのテンソルフローはすべてのメモリを自動的に割り当てます。 – rayjang

+0

私はgpuメモリの使用を 'fraction' configuration 'を使って制限します。私のコードでは、GPUメモリの20%をテンソルフローに割り当てます。 mycaseでは、私は2GBを割り当てます – rayjang

関連する問題