Почему я пишу это?

Многие профессионалы/исследователи поделились руководствами по установке CUDA и cuDNN в Интернете и на многих платформах. Однако ни один из них не говорит об ошибках, которые мы можем получить как новичок, или они действительно не нашли никакой ошибки, поскольку они очень опытны.

Я следовал всем их рекомендациям, шагам и советам, которые поначалу работали нормально, но закончились проблемами и просто проблемами, когда я, наконец, начал тренировать данные с помощью TensorFlow-GPU. Итак, я изначально написал эту заметку как документацию для себя. Кто знает, может нам это понадобится в будущем. Но было бы неплохо найти документацию, которая была бы полезна другим нуждающимся.

Вот несколько руководств, которые я нашел и выполнил для установки CUDA, cuDNN и Tensorflow-GPU:

  1. Установка TensorFlow с графическим процессором в Windows 10, Лоуренс Морони
  2. Полное руководство по установке TensorFlow-GPU в Windows 10 от Soumyadip Majumder
  3. Установка CUDA и cuDNN на Windows 10, Акшай Синха
  4. Установка Tensorflow с поддержкой CUDA, cuDNN и GPU в Windows 10, доктор Джоанн Китсон

В каждом учебнике есть почти одинаковые шаги, но есть несколько разных шагов из-за разного программного обеспечения, приложения и версии, которые они используют. И некоторые из них используют Visual Studio, некоторые также используют Anaconda. Но здесь я не использую ни один из них. Это проблема?

Не совсем, это зависит от ваших потребностей и от того, насколько вам комфортно со всем, что у вас есть. Я в основном просто не устанавливаю ни один из них, потому что у меня заканчивается память SSD для каталога C на моем компьютере. Но я использую Visual Studio Code для моего текстового редактора, который является очень хорошим местом для кода, и, по-видимому, я все еще могу установить там блокнот jupyter. Таким образом, я не чувствую необходимости устанавливать Anaconda или Visual Studio.

ШАГ 1: ПОДГОТОВКА ПЕРЕД УСТАНОВКОЙ ВСЕХ

Согласно учебным пособиям и официальному руководству TensorFlow, если вы хотите использовать tensorflow-gpu, вам необходимо знать некоторые заданные требования. Но перед этим вам необходимо узнать некоторую важную информацию о вашем ПК.

1.1. ПРОВЕРЬТЕ ИНФОРМАЦИЮ ОБ УСТРОЙСТВЕ

Прежде всего, перейдите по пути, где находится nvdia-smi.exe, это можно сделать в терминале Windows/командной строке:

cd C:\Program Files\NVIDIA Corporation\NVSMI

После того, как вы измените каталог на терминале, вы можете просто ввести:

nvidia-smi

На рисунке 1 вы можете видеть, что моя версия драйвера — 385.54 на Geforce GTX 1050. В будущем вам может понадобиться проверить свой nvidia-smi, когда вы захотите узнать, нормально ли работает ваш графический процессор, и это произойдет не только для один или два раза. Итак, чтобы упростить проверку, используя только одну строку команды на терминале, вы можете выполнить шаг, показанный на рисунке 2.

Как видно на рисунке 2, вы можете перейти в Свойства системы, выбрать Переменные среды, найти путь в Системные переменные. Выберите путь и добавьте новый.

Путь к местонахождению nvdia-smi показан ниже:

C:\Program Files\NVIDIA Corporation\NVSMI

Вы также можете просмотреть дополнительные сведения о своем устройстве в панели управления NVIDIA. Для этого вы можете выполнить следующий шаг:

  1. Перейдите в панель управления NVIDIA, щелкнув правой кнопкой мыши или сенсорной панелью на рабочем столе.

На главной странице панели управления NVIDIA вы уже можете увидеть версию своего драйвера, у меня 385.54 на Geforce GTX 1050 GDDR5 @ 4,0 ГБ (128-бит).

2. После этого перейдите в раздел «Информация о системе».

Здесь вы можете увидеть подробную информацию о вашем оборудовании NVIDIA и системе, в которой оно работает.

1. 2. ПРОВЕРЬТЕ СОВМЕСТИМОСТЬ УСТРОЙСТВА

А теперь самое сложное. Это определит, потерпите ли вы неудачу или нет. Существует множество версий CUDA и cuDNN, и мы точно не знаем, какая версия будет наиболее совместима для обеспечения стабильной работы.

Во-первых, давайте просто посмотрим требования на официальном сайте TensorFlow, здесь: https://www.tensorflow.org/install/gpu.

Чтение приведенного выше руководства по установке tensorflow-gpu может вызвать у нас головную боль, потому что вы не можете найти совместимые CUDA, cuDNN, tensorflow-gpu с вашей версией драйвера и Python и т. д.

К счастью, после многократных гуглений я нашел список официально поддерживаемых/протестированных комбинаций CUDA, cuDUNN, Python и TensorFlow, показанный на рисунке 4, или вы можете перейти на официальную страницу здесь: https://www.tensorflow .org/install/source#tested_build_configurations

Для меня, поскольку моя версия драйвера NVIDIA 385.54, вот конкретная конфигурация, которая, по-видимому, работает для меня:

  • python 3.6.8
  • tensorflow-gpu==1.12.0
  • cuda==9.0
  • cuDNN==7.6.4 (for CUDA 9.0 or you can use cuDNN==7.0.5)

Это не сильно отличается от справочных руководств, но теперь я использую другую версию cuDNN, это cuDNN 7.6.4, а не cuDNN 7.0.5 (все люди говорят, что вместо этого мы должны использовать cuDNN 7.0.5). Но хорошо, согласно списку на рисунке 4, вы можете использовать любую версию cuDNN 7 для CUDA 9.0.

ШАГ 2: ЗАГРУЗКА ПОДГОТОВКА И УСТАНОВКА

2.1. питон

Здесь я уже установил Python 3.6.8 и рекомендую Python 3.6 для стабильной работы.

Если вы установили Python, но не знаете, какая версия Python у вас сейчас установлена, вы можете проверить ее в терминале с помощью этой команды:

python -V

Если у вас не установлен Python, но вы хотите его установить, вы можете ознакомиться с более подробным руководством здесь. Я предпочитаю редактор кода Visual Studio, который может запускать Python или Jupyter Kernel.

2.2. CUDA

Теперь вы понимаете, какую версию для каждой из них вы должны установить на свой компьютер. Мы можем начать с загрузки CUDA.

Чтобы скачать CUDA, вы можете перейти на эту страницу:



Когда вы перейдете на эту страницу, вас, вероятно, попросят загрузить CUDA 10.2 (самая новая версия на декабрь 2019 года). Итак, если вы хотите загрузить более старую версию CUDA, вы можете перейти к Legacy Releases, как показано на рис. 6. Вы можете запутаться, если дизайн пользовательского интерфейса веб-сайта CUDA может измениться в будущем, но просто попробуйте найти «Legacy Releases». Releases», чтобы проверить наличие более старых версий CUDA.

После того, как вы перейдете к Legacy Release, вы увидите множество версий CUDA, которые вы можете установить в зависимости от ваших потребностей.

И если вы хотите загрузить и установить CUDA 9.0, вы можете щелкнуть выделенную строку.

Итак, поскольку мы используем Windows 10 прямо здесь, я выбрал Windows и версию 10. Вы можете перейти на другую версию своей собственной Windows, будь то 8 или 7 или т. д. И тогда вы увидите, что будет 2 варианта типа установщика. .

Многие рекомендуют загрузить exe (локальный), чтобы вам не нужно было подключаться к Интернету при установке CUDA в ближайшее время. Таким образом, вам также нужно выбрать базовый установщик, чтобы вам не пришлось возвращаться назад, чтобы запустить какую-либо другую настройку. Но любые предпочтения на ваше усмотрение.

Подробности установки CUDA в Windows можно увидеть здесь: https://docs.nvidia.com/cuda/cuda-installation-guide -микрософт-окна/index.html

Я все равно выбираю Экспресс-установку, и место, куда я помещаю CUDA, такое же, как по умолчанию ниже:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

2.3. cuDNN

2.3.1. СКАЧАТЬ cuDNN

После загрузки CUDA вы можете скачать cuDNN прямо сейчас. Если вы, как и я, используете CUDA 9.0, вы можете выбрать cuDNN 7 и свободно выбирать любую версию cuDNN 7. Некоторые люди рекомендуют cuDNN 7.0.5, но, как я объяснил, я использую cuDNN 7.6.4. Но для любой версии это нормально, не волнуйтесь. В разделе 1.2 можно использовать любую cuDNN, если это cuDNN 7 и CUDA 9.0.

Для этого вы можете перейти в архив cuDNN:



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

Какой бы ни была версия cuDNN 7, просто выберите вариант For CUDA 9.0.

2.3.2 Распаковка cuDNN и копирование в папки CUDA

После того, как вы загрузили cuDNN, пришло время установить его. Вы можете сделать это, распаковав ZIP-файл cuDNN, который будет выглядеть, как показано на рисунке 10.

Теперь скопируйте папку bin, include, lib на путь к месту, куда вы поместили CUDA. Для меня это этот путь:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

Скопируйте эти 3 папки по этому пути и перезапишите его. Каждый файл будет помещен в путь автоматически.

2.3.3 Проверка переменных среды CUDA

Да, мы сделали это для cuDNN! Теперь пришло время подготовить переменные среды.

Это то же самое, что и на рисунке 2. Вы можете перейти в «Свойства системы», «Выбрать переменные среды», найти путь в «Системных переменных». Выберите путь и добавьте новый.

Но теперь вам нужно добавить 2 новых пути, а именно:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin

и следующий:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp

2.4. Графический процессор TensorFlow

Есть несколько заметок от меня, прежде чем вы установите графический процессор TensorFlow. Возможно, у вас уже был тензорный поток. Если вы не знаете, есть ли он у вас, вы можете проверить, введя это в командной строке

pip list

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

pip uninstall tensorflow

И если у вас уже есть tensorflow-gpu, но не соответствует версии CUDA и cuDNN, которую вы уже установили на свой компьютер. Например, вы установили CUDA 9.0 и cuDNN 7. Но у вас есть tensorflow gpu версии 2.0.0. Вы должны знать, что это не сработает для вас на основе рисунка 5, который я объяснил. Вот почему вы должны сначала удалить его.

вы также можете сначала удалить его с помощью

pip uninstall tensorflow-gpu

Теперь вы удалите тензорный поток, используя это, но это даст вам последнюю версию графического процессора тензорного потока:

pip install tensorflow-gpu

Если вы хотите установить tensorflow gpu определенной версии, например версии 1.12.0, вы можете сделать это следующим образом:

pip install tensorflow-gpu==1.12

Вы можете изменить версию, если хотите установить другую версию.

Примечания. При установке графического процессора TensorFlow у вас могут возникнуть проблемы с подключением к Интернету, из-за которых вы не сможете загрузить и установить его. Решение заключается в том, что вы можете использовать этот

pip install --default-timeout=1000 tensorflow-gpu==1.12

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

pip3 install --default-timeout=1000 tensorflow-gpu==1.12

ШАГ 3: ПРОВЕРКА УСПЕШНОСТИ УСТАНОВКИ

Теперь, когда вы все установили, чтобы проверить, правильно ли вы установили CUDA, cuDNN и tensorflow-gpu, и работают ли они вместе, есть простой способ проверить, как показано на рисунке 11.

  1. Перейти к командной строке
  2. Введите «python» в командной строке.
  3. После входа напишите приведенный ниже код, чтобы проверить доступность графического процессора.
import tensorflow as tf
tf.test.is_gpu_available(
cuda_only = False,
min_cuda_compute_capability = True
)

Если вы получили сообщение True, как показано на рисунке 11, поздравляем! Теперь вы можете использовать GPU TensorFlow для обучения ваших данных.

Если вы получили результат False, возможно, вы пропустили какой-то шаг или что-то в этом роде. Самая распространенная ошибка заключается в том, что мы неправильно установили cuDNN или, возможно, вы установили неправильную версию cuDNN.