Почему Tensorflow-GPU по-прежнему использует процессор

Я использую Keras с tenorflow-gpu в бэкэнде, у меня не установлен tenorflow (CPU -версия), все выходы показывают выбранный графический процессор, но tf использует процессор и системную память

когда я запускаю свой код, вывод: output_code

Я даже запустил device_lib.list_local_device() и вывод: list_local_devices_output

После запуска кода я попытался nvidia-smi, чтобы увидеть использование gpu, и вывод: nvidia-smi output

Tensorflow-gpu = "1.12.0"
CUDA toolkit = "9.0"
cuDNN = "7.4.1.5"

Переменные среды содержат:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp;
C:\WINDOWS\system32;
C:\WINDOWS;
C:\WINDOWS\System32\Wbem;
C:\WINDOWS\System32\WindowsPowerShell\v1.0\;
C:\WINDOWS\System32\OpenSSH\;
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;
D:\Anaconda3;D:\Anaconda3\Library\mingw-w64\bin
D:\Anaconda3\Library\usr\bin;
D:\Anaconda3\Library\bin;
D:\Anaconda3\Scripts;D:\ffmpeg\bin\;

Но все же, когда я проверяю использование памяти в диспетчере задач, вывод

Загрузка ЦП 51%, использование ОЗУ 86% Использование графического процессора 1%, Загрузка графического процессора и ОЗУ 0% Task_manager_Output Итак, я думаю, что он все еще использует процессор вместо графического процессора.

Конфигурация системы:

Windows-10 64 bit; IDE: Liclipse; Python: 3.6.5  

1 ответ

Решение

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

  • Может быть, batch_size имеет низкий уровень -> Увеличиваться, пока не столкнетесь с ошибками OOM
  • Загрузка данных занимает много времени, и ваш графический процессор должен ждать (IO Reads)
  • У вас недостаточно оперативной памяти, и приложение использует диск в качестве запасного варианта
  • Предпроцессинг медленный. Если вы имеете дело с изображением, попробуйте вычислить все как генератор или на GPU, если это возможно
  • Вы используете некоторые операции, которые не ускоряются GPU
Другие вопросы по тегам