Ответ 1
Вы можете применить device_count
параметр за tf.Session
:
config = tf.ConfigProto(
device_count = {'GPU': 0}
)
sess = tf.Session(config=config)
Смотрите также файл конфигурации protobuf:
Я установил версию tenorflow для GPU на Ubuntu 14.04.
Я нахожусь на сервере графического процессора, где тензор потока может получить доступ к доступным графическим процессорам.
Я хочу запустить тензор потока на процессорах.
Обычно я могу использовать env CUDA_VISIBLE_DEVICES=0
для запуска на GPU №. 0.
Как я могу выбрать между процессорами вместо этого?
Я не заинтересован в переписывании своего кода с with tf.device("/cpu:0"):
Вы можете применить device_count
параметр за tf.Session
:
config = tf.ConfigProto(
device_count = {'GPU': 0}
)
sess = tf.Session(config=config)
Смотрите также файл конфигурации protobuf:
Вы также можете установить переменную среды
CUDA_VISIBLE_DEVICES=""
без изменения исходного кода.
Если приведенные выше ответы не работают, попробуйте:
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
Для меня работает только установка CUDA_VISIBLE_DEVICES
на -1
:
Работает:
import os
import tensorflow as tf
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
if tf.test.gpu_device_name():
print('GPU found')
else:
print("No GPU found")
# No GPU found
Не работает:
import os
import tensorflow as tf
os.environ['CUDA_VISIBLE_DEVICES'] = ''
if tf.test.gpu_device_name():
print('GPU found')
else:
print("No GPU found")
# GPU found
Просто используя код ниже.
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
Просто измените переменную среды
CUDA_VISIBLE_DEVICES = -1
Вот обсуждение об этом ссылка