Я установил тензор потока в моем Ubuntu 16.04, используя второй ответ здесь со встроенной установкой Ubuntu APT CUDA.
Теперь мой вопрос: как я могу проверить, действительно ли тензорный поток использует gpu? У меня GTX 960M GPU. Когда я import tensorflow
это выход
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
Достаточно ли этого вывода, чтобы проверить, использует ли tenorflow gpu?
python
tensorflow
ubuntu
gpu
Тамим Аддари
источник
источник
log_device_placement
подход в ответе. Самый надежный способ - посмотреть на временную шкалу, указанную в этом комментарии: github.com/tensorflow/tensorflow/issues/…Ответы:
Нет, я не думаю, что "открытой библиотеки CUDA" достаточно, чтобы сказать, потому что разные узлы графа могут быть на разных устройствах.
Чтобы узнать, какое устройство используется, вы можете включить размещение устройства журнала следующим образом:
Проверьте консоль на этот тип вывода.
источник
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True))
Помимо использования,
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
которое описано в других ответах, а также в официальной документации TensorFlow , вы можете попытаться назначить вычисление для GPU и посмотреть, есть ли у вас ошибка.Вот
Если у вас есть графический процессор и вы можете использовать его, вы увидите результат. В противном случае вы увидите ошибку с длинной трассировкой стека. В итоге у вас будет что-то вроде этого:
Недавно в TF появилось несколько полезных функций:
Вы также можете проверить наличие доступных устройств в сеансе:
devices
вернет вам что-то вродеисточник
Found device 0 with properties: name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582 pciBusID: 0000:02:00.0 totalMemory: 10.92GiB freeMemory: 10.76GiB
Следующий фрагмент кода должен предоставить вам все устройства, доступные для tenorflow.
источник
Я думаю, что есть более простой способ достичь этого.
Это обычно печатает как
Мне кажется, это проще, чем подробные записи.
источник
Tensorflow 2.0
Сессии больше не используются в 2.0. Вместо этого можно использовать
tf.test.is_gpu_available
:Если вы получили ошибку, вам нужно проверить вашу установку.
источник
tf.config.list_physical_devices('GPU')
Это подтвердит, что тензорный поток использует GPU во время тренировок?
Код
Вывод
источник
log_device_placement
и как увидеть CPU и GPU в выводе?). Это улучшит качество вашего ответа!В дополнение к другим ответам, следующее должно помочь вам убедиться, что ваша версия tenorflow включает поддержку GPU.
источник
Хорошо, сначала запустите
ipython shell
из терминала иimport
TensorFlow:Теперь мы можем наблюдать за использованием памяти GPU в консоли, используя следующую команду:
Поскольку мы только
import
редактировали TensorFlow, но еще не использовали графический процессор, статистика использования будет такой:Обратите внимание, что использование памяти GPU очень мало (~ 700 МБ); Иногда использование памяти графическим процессором может составлять даже 0 МБ.
Теперь давайте загрузим графический процессор в наш код. Как указано в
tf documentation
, сделать:Теперь, смотреть статистику должны показать обновленный GPU использования памяти , как показано ниже:
Теперь посмотрите, как наш процесс Python из оболочки ipython использует ~ 7 ГБ памяти GPU.
PS Вы можете продолжить просматривать эту статистику во время выполнения кода, чтобы увидеть, насколько интенсивно использование графического процессора со временем.
источник
Это должно дать список устройств, доступных для Tensorflow (под Py-3.6):
источник
Я предпочитаю использовать nvidia-smi для мониторинга использования графического процессора. если он значительно возрастает при запуске программы, это сильный знак того, что ваш тензорный поток использует графический процессор.
источник
С последними обновлениями Tensorflow вы можете проверить это следующим образом:
Это вернется,
True
если GPU используетсяTensorflow
, и вернетFalse
иначе.Если вы хотите , устройство
device_name
можно ввести:tf.test.gpu_device_name()
. Получить более подробную информацию здесьисточник
Запустите следующее в Jupyter,
Если вы правильно настроили свою среду, вы получите следующий вывод в терминале, где вы запустили «jupyter notebook» ,
Вы можете видеть здесь, я использую TensorFlow с Nvidia Quodro K620.
источник
Я считаю, что просто запросить GPU из командной строки:
если ваше обучение является фоновым процессом, pid из
jobs -p
должен соответствовать pid изnvidia-smi
источник
Вы можете проверить, используете ли вы в данный момент графический процессор, выполнив следующий код:
Если вывод
''
, это означает, что вы используетеCPU
только;Если на выходе что-то подобное
/device:GPU:0
, значит,GPU
работает.И используйте следующий код, чтобы проверить, какой
GPU
вы используете:источник
' '
, то что мы должны делать?Поместите это в верхней части вашего ноутбука Jupyter. Прокомментируйте, что вам не нужно.
ПРИМЕЧАНИЕ. С выпуском TensorFlow 2.0 Keras теперь включен как часть TF API.
Первоначально ответил здесь .
источник
Для Tensorflow 2.0
источник здесь
Другой вариант:
источник
is_gpu_available
(from tenorflow.python.framework.test_util) устарела и будет удалена в следующей версии.ОБНОВЛЕНИЕ ДЛЯ TENSORFLOW> = 2.1.
Рекомендуемый способ проверки, использует ли TensorFlow графический процессор, следующий:
Начиная с TensorFlow 2.1,
tf.test.gpu_device_name()
устарел в пользу вышеупомянутого.источник
Это строка, которую я использую для перечисления устройств, доступных
tf.session
непосредственно из bash:Он распечатает доступные устройства и версию tenorflow, например:
источник
Я нашел ниже фрагмент очень удобно для тестирования GPU ..
Тест Tensorflow 2.0
Tensorflow 1 Test
источник
Следующее также вернет имя ваших устройств GPU.
источник
С tenotflow 2.0> =
источник
По предложению @AmitaiIrron:
Этот раздел указывает, что GPU был найден
И вот, что он был добавлен в качестве доступного физического устройства
источник
У вас есть несколько вариантов, чтобы проверить, используется ли ускорение GPU вашей установкой TensorFlow.
Вы можете ввести следующие команды на трех разных платформах.
Spyder - введите следующую команду в консоли.
import tensorflow as tf tf.test.is_gpu_available()
источник
Tensorflow 2.1
Простой расчет, который можно проверить с помощью nvidia-smi для использования памяти на GPU.
источник
Если вы используете TensorFlow 2.0, вы можете использовать это для цикла, чтобы показать устройства:
источник
если вы используете tensflow 2.x, используйте:
источник
Запустите эту команду в Jupyter или в вашей IDE, чтобы проверить, использует ли Tensorflow графический процессор или нет:
tf.config.list_physical_devices('GPU')
источник