Tensorflow-gpu работает только на CPU

Я запускаю tenorflow 1.8.0, установленный pip -install tensorflow-gpu с CUDA 9.0 и cuDNN 7.1.4 в Windows 10, и я пытался заставить tenorflow работать с моей видеокартой NVIDIA GeForce GTX 860M. Я использую IDLE для запуска и написания кода.

Когда я запускаю любой код, он работает только на моем процессоре. Некоторый пример кода, который я запускаю, пока я не смогу запустить его на моем графическом процессоре, чтобы выполнить учебные пособия по тензорному потоку MNIST:

    import tensorflow as tf


    # Initialize two constants
    x1 = tf.constant([1,2,3,4])
    x2 = tf.constant([5,6,7,8])

    # Multiply
    result = tf.multiply(x1, x2) 

    # Intialize the Session
    sess = tf.Session()

    # Print the result
    print(sess.run(result))

    # Close the session
    sess.close()

Когда я запускаю это, я получаю, что это не удалось создать ошибку сеанса:

    tensorflow.python.framework.errors_impl.InternalError: Failed to create session. 

Поэтому я добавил следующие строки в начало кода

     import os
     os.environ["CUDA_VISIBLE_DEVICES"] = '1'

и теперь код работает успешно с правильным выводом

   [ 5 12 21 32]

но он работает только на моем процессоре, и когда я пытаюсь выполнить следующие команды в командной строке IDLE,

    from tensorflow.python.client import device_lib
    device_lib.list_local_devices() 

выход

    [name: "/device:CPU:0"
    device_type: "CPU"
    memory_limit: 268435456
    locality {
    }
    incarnation: 1631189080169918107
    ]

Я попытался перезагрузить компьютер, деинсталлировать и переустановить tensorflow-gpu и удалил другие версии CUDA, которые я ранее установил, но я не могу заставить свою программу распознавать мою видеокарту NVIDIA, и я нашел ее, и это поддерживаемая карта.

Что еще я могу сделать, чтобы мой код распознавался и запускался на моей видеокарте?


person Larr Bear    schedule 03.06.2018    source источник
comment
Ваш графический процессор был выпущен в двух версиях, одна из которых имеет уровень возможностей CUDA 3.0, а другая - 5.0. AFAIR tensorflow-gpu в качестве двоичного файла Windows требует 3.5.   -  person Klaus D.    schedule 04.06.2018
comment
Я попытался запустить deviceQuery, чтобы проверить, какой из них был, но он сказал: версии драйвера CUDA недостаточно для версии времени выполнения CUDA. Значит ли это, что у меня версия 3.0?   -  person Larr Bear    schedule 04.06.2018
comment
Покопавшись в моем компьютере, я обнаружил, что у меня есть более старая версия Kepler версии 860M 3.0, я собираюсь удалить все и построить из исходного кода с инструкциями из github.com/tensorflow/tensorflow/issues/6001   -  person Larr Bear    schedule 04.06.2018


Ответы (1)


Установка CUDA недостаточно, вам также необходимо установить cuDNN 7.0.5 и некоторые другие зависимости. Обратитесь к http://www.python36.com/install-tensorflow-gpu-windows/ для получения полной информации.

person pranshu vinayak    schedule 03.06.2018