Pythonで書かれたスクリプトを実行し、Tensorflowを使用したいとします。サーバーが他の同僚と共有されている場合は、スクリプトのサーバーのGPUメモリの1/3を使用するように制限したいと考えています。Tensorflowは、そうでない場合でも、すべてのGPUを割り当てます。
それを達成するために、私は次の操作を行います
with tf.Graph().as_default(): gpu_options = tf.GPUOptions(allow_growth=True, per_process_gpu_memory_fraction=0.3) session_conf = tf.ConfigProto( allow_soft_placement=True, log_device-placement=False, gpu_options=gpu_options) with tf.Session(conf=session_conf) as sess: # some stuff
しかし、私はnvidia-smi
コマンド経由でGPUのメモリ使用量をチェックするとき、それのすべてが割り当てられていることを述べています。サーバー上に2つのGPUがあり、私のスクリプトはそれらの両方を完全に割り当てるようです。私は間違って何をしていますか?
私が上に書いたのは、スクリプトの最初のコード行ではありません。私はまずいくつかのデータ処理を行います。しかし、私が最初にそれを置くと、それは変わらない。