Людям со старыми видеокартами может показаться трудным тестировать алгоритмы машинного обучения локально на вашем компьютере. Всегда есть такие варианты, как экземпляры AWS P3 GPU, но очень полезно иметь возможность изначально протестировать свою модель на собственном компьютере - независимо от того, насколько медленным будет обучение с более старой видеокартой.

Для людей, у которых такие старые видеокарты, что они не поддерживают CUDA Compute 3.5, может показаться сложной задачей для настройки TensorFlow с ускорением графического процессора. Я составил это руководство, чтобы помочь людям начать работу.
Обратите внимание, что это будет поддерживать только видеокарты с CUDA Compute Capability 3.0, но не ниже этого.

Для начала, вот спецификации, с которыми я работаю:
* 64-битная Windows 10
* NVIDIA GeForce 770
* Процессор Intel i5–4570 (поддерживает инструкции AVX2)
* Настройка Anaconda по умолчанию

Когда вы закончите, у вас будет установлен TensorFlow 1.8 с графическим процессором.

Для начала вам нужно будет создать учетную запись на веб-сайте разработчиков NVIDIA, а затем перейти к архивам загрузки CUDA для CUDA 7.1. Здесь вам нужно скачать базовый установщик (CUDA 9.1.85) и 3 патча для него.

После загрузки установите их все по очереди и перезагрузите компьютер.
Затем загрузите cuDNN 7.1.3 с этой загрузки с Google Диска. NVIDIA не предлагает загрузку 7.1.3 для Windows, и эти предварительно созданные двоичные файлы работают отлично. После установки поместите каждый файл из архива в соответствующую папку в каталоге установки CUDA.

Например, мой CUDA был установлен в C: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.1
Затем вам нужно скопировать bin / cudnn64_7.dll из архива в папку bin /.

Повторите этот же процесс для include / cudnn.h и lib / x64 / cudnn.lib.

Теперь вам нужно загрузить предварительно созданное колесо тензорного потока, которое поддерживает вычислительные графические процессоры 3.0. Вы можете найти их в этом репозитории GitHub. Из таблицы в ReadMe мы видим, что, поскольку мы используем CUDA 9.1.85.3 и cuDNN 7.1.3, нам нужно перейти в каталог 1.8.0 \ py36 \ GPU \ в репозитории. .

В зависимости от того, поддерживает ли ваш ЦП инструкции AVX2, вам следует загрузить либо файл .whl в каталог 1.8.0 / py36 / GPU / cuda91cudnn71avx2, либо в каталог 1.8.0 / py36 / GPU / cuda91cudnn71sse. . В общем, все современные процессоры будут поддерживать AVX2.

После загрузки соответствующего файла .whl нам нужно будет заменить пакет tenorflow в нашей установке Anaconda на тот, который мы уже скачали. Откройте приглашение Anaconda и введите

pip install --ignore-installed --upgrade tensorflow_gpu-1.8.0-cp36-cp36m-win_amd64.whl

Поскольку это колесо Python нацелено на более старую версию html5lib, это принудительное обновление тензорного потока приведет к поломке pip. Чтобы исправить это, введите следующую команду:

conda update -f html5lib

Это заставит ваш пип нормально работать.

И все готово!
Если вы все сделали правильно, у вас должна быть включена настройка Tensorflow с графическим процессором для использования видеокарт Compute 3.0.

Чтобы проверить, правильно ли работает ваша установка, создайте файл python со следующим кодом и запустите его из среды conda:

import tensorflow as tf
with tf.device('/gpu:0'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print(sess.run(c))

Обратите внимание, что при первом запуске сеанса TensorFlow в новой настройке сначала потребуется пересобрать некоторый код для настройки вашей конкретной установки драйвера. Это происходит только в первый раз после настройки tensorflow-gpu.

И вы сделали!