Tensorflow использует память с обеих графических карт c, но обучение выполняется только на одной графической карте c - PullRequest
0 голосов
/ 17 апреля 2020

Я тренирую нейронную сеть на системе с несколькими GPU (2 GPU). Я использую только один графический процессор, но программа использует память от них обоих. Для использования только одной карты я использую эту часть кода:

with tf.device('/GPU:0'):

Но она все еще использует память от них обоих. Что мне делать?

1 Ответ

0 голосов
/ 17 апреля 2020

Предоставленная вами строка кода не запускает ваш код на одной карте / графическом процессоре, но запускается на процессоре.

Если у вас есть две видеокарты для обучения, вы можете сначала убедиться, что они оба видны через эту строку кода.

gpus = tf.config.list_physical_devices('GPU')
print(gpus)

В вашем случае, отпечаток сверху должен дать вам информацию об обеих видеокартах.

Если вы хотите ограничить использование только одна видеокарта / видеокарта для обучения, решение состоит в том, чтобы использовать следующий код:

   import os 
   os.environ['CUDA_VISIBLE_DEVICES'] = '0' OR os.environ['CUDA_VISIBLE_DEVICES'] = '1'

В этом случае программа TennSflow будет использовать только видеокарту с индексом 0 или видеокарту с индексом 1 (обратите внимание, что индексы начинаются с 0, на самом деле он будет использовать либо GPU 1, либо GPU 2, в зависимости от порядка, в котором он назначен вашим процессорам).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...