2015-11-16 5 views
3

Когда я начинаю tensorflowSession, он сразу же выделяет 100% памяти на обоих графических процессорах в моем декстропе (устройства 0 и 2).Как указать количество графических процессоров в интерфейсе Python?

Как использовать Python API, чтобы ограничить его только одним графическим процессором?

+0

Что делать вы хотите указать количество графических процессоров? Если вы сообщите номер '4', что вы хотите? –

+0

Если у них разная мощность, вы можете использовать TF_MIN_GPU_MULTIPROCESSOR_COUNT. Например, у меня есть GeForce GT 730 и Tesla K40, если я экспортирую TF_MIN_GPU_MULTIPROCESSOR_COUNT = 8, тогда используется только мой K40 (730 имеет 2 потоковых мультипроцессора) –

+0

Еще один трюк, чтобы остановить TF от захвата всей памяти GPU, используйте config.gpu_options .per_process_gpu_memory_fraction, как здесь https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/python/framework/test_util.py#155 –

ответ

2

Если вы хотите, чтобы некоторые операции, которые можно сделать только с конкретным устройством, вы можете сделать следующее:

with tf.device('/gpu:0'): 
    ... 
    # all your operations 

Где устройства указаны следующим образом: "/cpu:0", "/gpu:0", "/gpu:1". Я предлагаю вам прочитать более подробную информацию в теме using GPU devices.

Если вы хотите увидеть некоторые учебники, взглянуть на cifar10 tutorial.

4

Грубый способ ограничить его использование только GPU # 0, например, определить следующим образом:

export CUDA_VISIBLE_DEVICES=0