Tensorflow, похоже, не видит моего gpu

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

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

Я установил tenorflow через pip install. Является ли мой gpu слишком старым для поддержки tf? gtx 460

Ответ 1

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

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

Ответ 2

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

$ pip uninstall tensorflow
$ pip install tensorflow-gpu

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

tf.test.gpu_device_name()

Ответ 3

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

PS Сначала вы должны проверить, правильно ли вы установили драйверы с помощью nvidia-smi. По умолчанию его нет в вашей переменной PATH, поэтому вам также может понадобиться добавить папку в ваш путь. Файл .exe можно найти по адресу C:\Program Files\NVIDIA Corporation\NVSMI

Ответ 4

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

pip3.6.exe uninstall tensorflow-gpu
pip3.6.exe uninstall tensorflow-gpu
pip3.6.exe install tensorflow-gpu

Ответ 5

Резюме:

  1. проверьте, видит ли тензорный поток ваш графический процессор (необязательно)
  2. проверьте, может ли ваша видеокарта работать с tenorflow (необязательно)
  3. найти версии CUDA Toolkit и cuDNN SDK, совместимые с вашей версией tf
  4. установить CUDA Toolkit
  5. установить cuDNN SDK
  6. удаление пипсов тензор потока; pip install tenorflow-gpu
  7. проверьте, видит ли тензорный поток ваш графический процессор

* источник - https://www.tensorflow.org/install/gpu

Подробная инструкция:

  1. проверьте, видит ли тензорный поток ваш графический процессор (необязательно)

    from tensorflow.python.client import device_lib
    def get_available_devices():
        local_device_protos = device_lib.list_local_devices()
        return [x.name for x in local_device_protos]
    print(get_available_devices()) 
    # my output was => ['/device:CPU:0']
    # good output must be => ['/device:CPU:0', '/device:GPU:0']
    
  2. проверьте, может ли ваша карта работать с tenorflow (необязательно)

    • мой компьютер: ноутбук GeForce GTX 1060 (версия драйвера - 419.35), windows 10, ноутбук jupyter
    • Тензор потока требует вычислительных возможностей 3,5 или выше. (https://www.tensorflow.org/install/gpu#hardware_requirements)

    • https://developer.nvidia.com/cuda-gpus

    • выберите "Продукты GeForce с поддержкой CUDA"
    • результат - "GeForce GTX 1060 Compute Capability = 6.1"
    • моя карта может работать с тф!
  3. найдите нужные вам версии CUDA Toolkit и cuDNN SDK

    а) найти свою версию

    import sys
    print (sys.version)
    # 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)]
    import tensorflow as tf
    print(tf.__version__)
    # my output was => 1.13.1
    

    б) найти правильные версии CUDA Toolkit и cuDNN SDK для вашей версии tf

    https://www.tensorflow.org/install/source#linux
    * it is written for linux, but worked in my case
    see, that tensorflow_gpu-1.13.1 needs: CUDA Toolkit v10.0, cuDNN SDK v7.4
    
  4. установить CUDA Toolkit

    а) установить CUDA Toolkit 10.0

    https://developer.nvidia.com/cuda-toolkit-archive
    select: CUDA Toolkit 10.0 and download base installer (2 GB)
    installation settings: select only CUDA
        (my installation path was: D:\Programs\x64\Nvidia\Cuda_v_10_0\Development)
    

    б) добавить переменные среды:

    system variables / path must have:
        D:\Programs\x64\Nvidia\Cuda_v_10_0\Development\bin
        D:\Programs\x64\Nvidia\Cuda_v_10_0\Development\libnvvp
        D:\Programs\x64\Nvidia\Cuda_v_10_0\Development\extras\CUPTI\libx64
        D:\Programs\x64\Nvidia\Cuda_v_10_0\Development\include
    
  5. установить cuDNN SDK

    а) скачать cuDNN SDK v7.4

    https://developer.nvidia.com/rdp/cudnn-archive (needs registration, but it is simple)
    select "Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0"
    

    б) добавить путь к папке bin в "переменные окружения/системные переменные/путь":

    D:\Programs\x64\Nvidia\cudnn_for_cuda_10_0\bin
    
  6. pip uninstall tenorflow pip install tenorflow-gpu

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

    - restart your PC
    - print(get_available_devices()) 
    - # now this code should return => ['/device:CPU:0', '/device:GPU:0']