Тензор потока установлен CUDA_VISIBLE_DEVICES в пределах юпитера

У меня есть два графических процессора, и я хотел бы одновременно запускать две разные сети через ipynb, однако первый ноутбук всегда выделяет оба графических процессора.

Используя CUDA_VISIBLE_DEVICES, я могу скрыть устройства для файлов Python, однако я не уверен, как это сделать в ноутбуке.

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

Ответы на вопрос(2)

Решение Вопроса

Вы можете установить переменные среды в блокноте, используяos.environ, Выполните следующие действия перед инициализацией TensorFlow, чтобы ограничить TensorFlow первым графическим процессором.

import os
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"   # see issue #152
os.environ["CUDA_VISIBLE_DEVICES"]="0"

Вы можете дважды проверить, что у вас есть правильные устройства, видимые для TF

from tensorflow.python.client import device_lib
print device_lib.list_local_devices()

Я склонен использовать его из служебного модуля, какnotebook_util

import notebook_util
notebook_util.pick_gpu_lowest_memory()
import tensorflow as tf
 AlonSamuel23 июн. 2019 г., 17:44
у меня это не сработало Я пользуюсь tenorflow 1.12
 shaifali Gupta02 июл. 2019 г., 15:12
Я попытался отобразить локальные устройства tenorflow, как упоминалось. Моя система выводит только тип устройства: CPU. Означает ли это, что в tenorflow не работает GPU.

Вы можете сделать это быстрее без импорта, просто используямагия:

%env CUDA_DEVICE_ORDER=PCI_BUS_ID
%env CUDA_VISIBLE_DEVICES=0

Обратите внимание, что все переменные env являются строками, поэтому нет необходимости использовать", Вы можете проверить, что env-переменная установлена, запустив:%env <name_of_var>, Или проверьте их все%env.

 Salvador Dali23 мая 2018 г., 09:35
@JenkinsY Вы можете легко проверить это, установив переменную в одном скрипте и прочитав ее в другом.
 JenkinsY16 мая 2018 г., 13:21
Является ли этоenv настройки влияют на другие скрипты Python? как это выглядит, как изменение переменной среды OS.

Ваш ответ на вопрос