Tensorflow не работает gpu

Почему Tensorflow не распознает мой графический процессор после установки conda?

Я новичок в глубоком обучении, и последние 2 дня тщетно пытался установить версию tensorflow-gpu на свой компьютер. Я избегал установки драйверов CUDA и cuDNN, поскольку некоторые форумы в Интернете не рекомендуют это из-за многочисленных проблем с совместимостью. Поскольку раньше я уже использовал дистрибутив python conda, я выбрал conda install -c anaconda tensorflow-gpu , как написано на их официальном сайте здесь: https://anaconda.org/anaconda/tensorflow-gpu.

Однако даже после установки версии gpu в новой виртуальной среде (чтобы избежать потенциальных конфликтов с установленными библиотеками pip в базовой среде env), по какой-то загадочной причине tenorflow, похоже, даже не распознает мой графический процессор.

Некоторые из фрагментов кода, которые я запустил (в приглашении anaconda), чтобы понять, что он не распознает мой графический процессор: —

Как видите, он полностью игнорирует графический процессор.

Здесь предполагалось указать, что он работал с графическим процессором, показывая Executing op MatMul in device /job:localhost/replica:0/task:0/device:GPU:0 (как написано здесь: https://www.tensorflow.org/guide/gpu), но ничего подобного нет. Также я не уверен, что означает сообщение после второй строки.

Я также искал несколько решений в Интернете, в том числе здесь, но почти все проблемы связаны с первым методом ручной установки, который я еще не пробовал, поскольку все рекомендовали этот подход.

Я больше не использую cmd, так как переменные среды каким-то образом испортились после удаления tenorflow-cpu из базового env и при повторной установке, он отлично работал с приглашением anaconda, но не с cmd. Это отдельная проблема (и тоже широко распространенная), но я упомянул ее на тот случай, если она сыграет здесь свою роль. Я установил версию gpu в новую виртуальную среду, чтобы обеспечить чистую установку, и, насколько я понимаю, переменные пути необходимо настраивать только для ручной установки библиотек CUDA и cuDNN.

Карта, которую я использую 🙁 которая поддерживает CUDA)

Версия Tensorflow и Python, которую я использую в настоящее время: —

Информация о системе: Windows 10 Home, 64-битная операционная система, процессор на базе x64.

Любая помощь могла бы быть полезна. Заранее спасибо.

Источник

Solution to TensorFlow 2 not using GPU

Making TensorFlow 2 code or Keras code run on GPU

This article addresses the reason and debugging/solution process to solve the issue of tensorflow 2 (tf2) not using GPU. There may be other solutions to resolve this, but I am posting the solution which has always worked for me. So let’s dive right into it.

You might have run the following command and expected it to download all the dependencies for it to run on GPU. Problem is, it does not, therefore we face the GPU compatibility issues.

Читайте также:  Сломался квадрат ручки входной двери

Main steps to resolve this issue:

I. Find out if the tensorflow is able to see the GPU or not

II. Find if the cudnn and cudatoolkit is installed in your environment

III. Verify if the correct versions of cudnn and cudatoolkit are installed

IV. Install the correct versions of cudnn and cudatoolkit before installing tensorflow

V. Use command ‘pip install tensorflow-gpu’ instead of ‘pip install tensorflow’

VI. Verify whether the newly installed tensorflow is detecting GPU

Important Note: Sequence of installation is important.

1. You are using nvidia-gpu

2. You are using conda environment (Anaconda)

Step I: Find out if the tensorflow is able to see the GPU

You will see only CPU info if no GPU was detected by tensorflow.

Step II: cudnn and cudatoolkit

This command lists the packages installed in the current conda environment. If you don’ t see ‘cudnn’ or ‘cudatoolkit’ package installed, then you need to install them.

If you do see them, they need to be of the correct version. In next step we will see how to do it and why are these needed.

Step III:

So what are these dependencies and why do we need them?

For tensorflow 2 to run on gpu, cudnn and cudatoolkit must be installed. Moreover, the versions of cudnn and cudatoolkit must be compatible with the drivers of the gpu you are using.

What is cuDNN (cudnn)?

Tensorflow core is written using C++ and cuDNN library

cuDNN library is a deep learning GPU acceleration library

cuDNN library is built using CUDA

CUDA is not a language or API. It’s more than that. CUDA is a parallel computing platform and programming model that makes using a GPU for general purpose computing simple and elegant. Link

So now we understand that why we need cuDNN (cudnn).

Why do we need cudatoolkit?

It helps to execute cuDNN/CUDA . When we install cudatoolkit in the coda environment which is compatible with the gpu driver version, we do not need to install complete official CUDA toolkit. Link

How do we know the compatible versions?

Run this command in terminal:

‘release 10.1’ helps you to figure out the compatible cudnn version. Now we know we need cudnn which should be compatible with 10.1 version

Step IV:

How do we install specific version of cudnn and cudatoolkit?

First find out the versions available for installation by running this command:

Using this install the specific version by running following command in terminal:

This command is of format: conda install cudnn= ’version’= ’build’. ‘version’ is number from the 2nd column and ‘build’ is from 3rd column from the previous command output.

The ‘build’ should match with version that we got from running ‘nvcc -V’ command

Above command will also install the compatible version of cudatoolkit

Step V:

Finally, install gpu compatible tensorflow using this command.

Note here that we have ‘tensorflow-gpu’ and not ‘tensorflow’

When we run this command, it finds the tensorflow version which is compatible with the cudnn and cudatoolkit that we installed earlier and installs the tensorflow-gpu.

Note: The latest version of tensorflow is 2.4 (as of writing this article), which is installed directly when we run ‘pip install tensorflow’, which may or may not work for GPU. But when we run the above command it installs tensorflow-gpu 2.2 version. This version allows tensorflow to detect GPU and use it.

Читайте также:  Как починить пластиковое корыто

Step VI:

How do we know now if the current version is able to detect GPU and run on it?

Run following commands in a script or terminal:

Источник

Как заставить tenorflow и Keras работать на графическом процессоре?

У меня есть TensorFlow, NVIDIA GPU (CUDA) / CPU, Keras и Python 3.7 в Linux Ubuntu. Я выполнил все шаги в соответствии с этим руководством: https://www.youtube.com/watch?v=dj-Jntz- 74 г

Когда я запускаю следующий код:

Я получаю такие результаты:

Тем не мение; Я не знаю, как запустить мою модель Keras на GPU. Когда я запускаю свою модель и получаю $ nvidia-smi -l 1 , использование графического процессора во время запуска составляет почти% 0.

Мне нужно изменить какие-либо части моего кода или добавить часть, чтобы заставить его работать на GPU?

2 ответа

Я нашел решение своего вопроса. Я думаю, проблема была в несовместимости драйвера NVIDIA, Cudnn и TensorFlow. потому что у меня была новая графическая карта NVIDIA (RTX 3060) на моем ноутбуке, и у нее был графический процессор NVIDIA Ampere Architecture, и, вероятно, он был несовместим с другими.

Вместо этого я сослался на эти ссылки, чтобы загрузить контейнер докера 21.02, а затем монтирую этот докер. В этом контейнере, предоставляемом NVIDIA, все протестировано и должно дать хорошую производительность.

Кроме того, чтобы установить докер в Linux, вы можете выполнить процедуру, описанную здесь:

Чтобы тензорный процесс работал на графическом процессоре, нужно сделать несколько шагов, и они довольно сложны.

Во-первых, совместимость этих фреймворков с NVIDIA намного лучше, чем у других, поэтому у вас может быть меньше проблем, если графический процессор NVIDIA и должен быть в этом список.

Во-вторых, вам необходимо установить все требования, а именно:

1- Последняя версия вашего драйвера графического процессора 2- Установка CUDA показана здесь 3- затем установите Anaconda, добавьте анаконду в среду во время установки.

После завершения всех установок выполните следующие команды в командной строке. conda install numba & conda install cudatoolkit

Теперь для оценки результатов используйте этот код:

Части этого ответа взяты здесь, где вы можете прочитать больше .

Источник

Tensorflow не видят мой ГПУ

Я пробовал tensorflow на cuda 7.5 и 8.0, без cudnn (мой GPU старый, cudnn не поддерживает его).

когда я выполнить device_lib.list_local_devices() , на выходе нет gpu. Theano видит мой gpu и отлично работает с ним, а примеры в /usr/share/cuda/samples также отлично работают.

Я установил tensorflow через pip install. Мой gpu слишком стар для tf, чтобы поддерживать его? GTX 460 с

Читайте также:  Работать пьяным не годится плакат

4 ответов

когда я смотрю ваш GPU, я вижу, что он поддерживает только CUDA Compute Capability 2.1. (Можно проверить через https://developer.nvidia.com/cuda-gpus) К сожалению, TensorFlow нуждается в GPU с минимальной вычислительной способностью CUDA 3.0. https://www.tensorflow.org/get_started/os_setup#optional_install_cuda_gpus_on_linux

вы можете увидеть некоторые журналы из TensorFlow проверки вашего GPU, но в конечном итоге библиотека будет избегать использования неподдерживаемого GPU.

я столкнулся с этой же проблемой в ноутбуках jupyter. Это может быть легко исправить.

вы можете проверить, работал ли он с:

следующее работало для меня, ноутбука hp. У меня есть вычислительная способность Cuda (версия) 3.0 совместимая карта Nvidia. Windows 7.

если вы используете conda, возможно, вы установили версию процессора tensorflow. Проверьте список пакетов ( conda list ) окружающей среды, чтобы увидеть, если это так . Если это так, удалите пакет с помощью conda remove tensorflow и установите keras-gpu вместо ( conda install -c anaconda keras-gpu . Это позволит установить все необходимое для запуска кодов машинного обучения в GPU. Ура!

P. S. Вы должны проверить сначала, если правильно установлены драйверы, используя nvidia-smi . По умолчанию это не в вашем пути, поэтому вы также может потребоваться добавить папку в свой путь. Этот.exe-файл можно найти по адресу C:\Program Files\NVIDIA Corporation\NVSMI

Источник

Почему Tensorflow не работает на графическом процессоре, в то время как устройства графического процессора определены в Python?

Я установил TensorFlow 2.2.0 и TensorFlow-gpu 2.2.0 в windows 10 . Кроме того, я установил CUDA Toolkit v10.1 и скопировал файлы cuDNN 7.6.5 в CUDA directories . Мой графический процессор NVIDIA GeForce 940 MX . Кроме того, я установил CUDA Path для окон. Когда я тестирую устройства с помощью приведенного ниже кода, распознаются как CPU , так и GPU :

Но когда я запускаю свой код, кажется, что коды запускаются только на CPU. Кроме того, когда я тестирую доступность графического процессора с помощью tf.test.is_gpu_available() , устройства графического процессора не распознаются и отображается False value .
Или, когда мы запускаем tf.config.list_physical_devices(‘GPU’) , печатается empty list или [] . И когда я запускаю tf.config.experimental.list_physical_devices() , эти три physical devices отображаются в списке:

Важно, что когда я запускаю tf.config.list_physical_devices(‘XLA_GPU’) , это будет напечатано: [PhysicalDevice(name=’/physical_device:XLA_GPU:0′, device_type=’XLA_GPU’)]

Кроме того, когда мы запускаем код, диспетчер задач показывает, что ЦП использует 96% своих возможностей, а графический процессор — только 1% своих возможностей .

Код, который мы запускаем, выглядит следующим образом:

**GPU and CPU performance** следующие:

Не могли бы вы мне помочь, пожалуйста?

2 ответа

Я решаю эту проблему с помощью набора NVIDIA Control Panel . Я нажимаю правой кнопкой мыши на рабочем столе и выбираю NVIDIA Control panel :

Затем через Set PhysX Configuration я перехожу к Select a PhysX Processor и выбираю Auto-Select recommended следующим образом:

Кроме того, из Manage 3D settings я восстановил настройки, нажав Restore button : Кроме того, вы можете установить Python на GPU из Program Settings этого раздела. Я так и сделал. Пожалуйста, применяйте все изменения на каждом этапе. Наконец, при запуске каждого из вышеуказанных кодов были показаны следующие благоприятные результаты:

Код должен быть таким:

Так что вы можете передать переменную, которую вы определили как 100 впереди в коде.

Источник

Оцените статью