Как установить cudnn в windows 10

Обновлено: 02.07.2024

В очередной раз после переустановки Windows осознал, что надо накатить драйвера, CUDA, cuDNN, Tensorflow/Keras для обучения нейронных сетей.

Каждый раз для меня это оказывается несложной, но времязатратной операцией: найти подходящую комбинацию Tensorflow/Keras, CUDA, cuDNN и Python несложно, но вспоминаю про эти зависимости только в тот момент, когда при импорте Tensorflow вижу, что видеокарта не обнаружена и начинаю поиск нужной страницы в документации Tensorflow.

В этот раз ситуация немного усложнилась. Помимо установки Tensorflow мне потребовалось установить PyTorch. Со своими зависимостями и поддерживаемыми версиями Python, CUDA и cuDNN.

По итогам нескольких часов экспериментов решил, что надо зафиксировать все полезные ссылки в одном посте для будущего меня.

Примечание: Установить Tensorflow и PyTorch можно в одном виртуальном окружении, но в статье этого алгоритма нет.

Подготовка к установке

  1. Определить какая версия Python поддерживается Tensorflow и PyTorch (на момент написания статьи мне не удалось установить PyTorch в виртуальном окружении с Python 3.9.5)
  2. Для выбранной версии Python найти подходящие версии Tensorflow и PyTorch
  3. Определить, какие версии CUDA поддерживают выбранные ранее версии Tensorflow и PyTorch
  4. Определить поддерживаемую версию cuDNN для Tensorflow – не все поддерживаемые CUDA версии cuDNN поддерживаются Tensorflow. Для PyTorch этой особенности не заметил

Установка CUDA и cuDNN

    и устанавливаем. Можно установить со всеми значениями по умолчанию , подходящую для выбранной версии Tensorflow (п.1.2). Для скачивания cuDNN потребуется регистрация на сайте NVidia. “Установка” cuDNN заключается в распакове архива и заменой существующих файлов CUDA на файлы из архива

Устанавливаем Tensorflow

  1. Создаём виртуальное окружение для Tensorflow c выбранной версией Python. Назовём его, например, py38tf
  2. Переключаемся в окружение py38tf и устанавливаем поддерживаемую версию Tensorflow pip install tensorflow==x.x.x
  3. Проверяем поддержку GPU командой

Устанавливаем PyTorch

  1. Создаём виртуальное окружение для PyTorch c выбранной версией Python. Назовём его, например, py38torch
  2. Переключаемся в окружение py38torch и устанавливаем поддерживаемую версию PyTorch
  3. Проверяем поддержку GPU командой

В моём случае заработала комбинация:

  • Python 3.8.8
  • Драйвер NVidia 441.22
  • CUDA 10.1
  • cuDNN 7.6
  • Tensorflow 2.3.0
  • PyTorch 1.7.1+cu101

Tensorflow и PyTorch установлены в разных виртуальных окружениях.

Польза этой статьи будет понятна не скоро: систему переустанавливаю я не часто.

Если воспользуетесь этим алгоритмом и найдёте какие-то ошибки – пишите в комментарии

Инструменты Visual Studio для сценариев ИИ можно устанавливать в 64-разрядных операционных системах Windows.

Установка Visual Studio Tools for AI

Это расширение работает с Visual Studio 2015 и Visual Studio 2017 выпуска Community или более высокого уровня.

Выберите Сервис > Расширения и обновления.

Меню "Расширения и обновления" в Visual Studio

В диалоговом окне Расширения и обновления выберите Online (Онлайн) с левой стороны.

В поле поиска в правом верхнем углу введите "tools for ai" (средства ИИ).

В результатах выберите Visual Studio Tools for AI (Средства Visual Studio для ИИ).

Подготовка локального компьютера

Перед обучением моделей глубокого обучения на локальном компьютере убедитесь в том, что установлены требуемые компоненты. В их число входят последние версии драйверов и библиотек для GPU NVIDIA (если применимо). Убедитесь также в том, что установлены среда и библиотеки Python, такие как NumPy и SciPy, и соответствующие платформы глубокого обучения, такие как Microsoft Cognitive Toolkit (CNTK), TensorFlow, Caffe2, MXNet, Keras, Theano, PyTorch и Chainer, которые планируется использовать в проекте.

Краткие сведения о программном обеспечении в следующих подразделах взяты с домашних страниц соответствующих продуктов.

Драйвер GPU NVIDIA

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

CUDA — это платформа параллельных вычислений и модель программирования, разработанная компанией NVIDIA. Она существенно увеличивает производительность вычислений благодаря использованию возможностей GPU. В настоящее время для платформ глубинного обучения требуется набор инструментов CUDA 8.0.

  • Перейдите на этот сайт, скачайте и установите CUDA.
  • Установите библиотеки CUDA времени выполнения, а затем добавьте путь к двоичным файлам CUDA в переменную среды %PATH% или $Path.
  • В Windows путь по умолчанию — "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin".

Установка CUDA в Windows

cuDNN

cuDNN (CUDA Deep Neural Network library, библиотека CUDA для глубинных нейронных сетей) — это GPU-ускоренная библиотека примитивов для глубинных нейронных сетей от NVIDIA. Для новейших платформ глубинного обучения требуется cuDNN v6.

  • Перейдите на страницу NVIDIA Developer, чтобы скачать и установить последнюю версию пакета.
  • Добавьте каталог, содержащий двоичный файл cuDNN, в переменную среды %PATH% или $Path.
  • В Windows можно скопировать файл cudnn64_6.dll в каталог "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin".

Более ранние платформы глубинного обучения, такие как CNTK 2.0 и TensorFlow 1.2.1, требуют библиотеки cuDNN v5.1. Можно одновременно установить несколько версий cuDNN.

Python

Python является основным языком программирования для приложений глубинного обучения. Требуется 64-разрядный дистрибутив Python. Для обеспечения максимальной совместимости рекомендуется версия Python 3.5.4.

Установка Python в Windows

  • Мы рекомендуем установить средство запуска Python только для себя и добавить Python в переменную среды %PATH%.
  • Обязательно установите pip — систему управления пакетами, которая позволяет устанавливать программные пакеты, написанные на Python, и управлять ими.

Платформы глубинного обучения требуют pip для установки.

Установка Python в Windows

Затем необходимо проверить, правильно ли установлен Python 3.5, и обновить систему pip до последней версии, выполнив в терминале следующие команды:

Windows

macOS

Python в Visual Studio

Python полностью поддерживается в Visual Studio благодаря расширениям. Получите дополнительные сведения об установке Инструментов Python для Visual Studio.

NumPy и SciPy

NumPy — это пакет обработки массивов общего назначения, который предназначен для эффективной работы с большими многомерными массивами произвольных элементов и в то же время позволяет работать с небольшими многомерными массивами без значительного снижения быстродействия.

SciPy (произносится "сай пай") — это программное обеспечение с открытым кодом для математических, научных и инженерных вычислений, которое зависит от NumPy. Начиная с версии SciPy 1.0.0 предлагается официальный предварительно собранный пакет wheel для Windows.

Чтобы установить NumPy и SciPy, выполните в терминале следующую команду:

gohlke/pythonlibs/ ) до последних официальных версий пакетов.

Microsoft Cognitive Toolkit (CNTK)

Microsoft Cognitive Toolkit — это единый набор средств глубинного обучения, который описывает нейронные сети как ряд вычислительных шагов в виде направленного графа. CNTK поддерживает языки программирования Python и BrainScript.

В настоящее время CNTK не поддерживает macOS.

Сведения об установке пакета CNTK для Python см. в этой статье.

TensorFlow

TensorFlow — это библиотека ПО с открытым кодом для числовых вычислений с использованием графов потоков данных. Подробные инструкции по установке см. здесь.

Начиная с версии 1.2 TensorFlow больше не предоставляет поддержку GPU в macOS.

Caffe2

Caffe2 — это простая, модульная, масштабируемая платформа глубинного обучения. Она построена на основе платформы Caffe и призвана обеспечить максимальное быстродействие и модульность.

В настоящее время готовый пакет wheel на Python для Caffe2 отсутствует.

Сведения о том, как выполнить сборку на основе исходного кода, см. здесь.

MXNet

Apache MXNet (инкубатор) — это платформа глубинного обучения, призванная обеспечить максимальную эффективность и гибкость. Она позволяет сочетать символическое и императивное программирование для достижения максимальной эффективности и продуктивности.

Чтобы установить MXNet, выполните в терминале следующую команду:

Keras

Keras — это высокоуровневый API для нейронных сетей, написанный на Python, который может работать поверх CNTK, TensorFlow или Theano. Главной целью при его разработке являлось обеспечение быстрого проведения экспериментов. Минимальная задержка на пути от идеи к результату — ключевой фактор успешного исследования.

Чтобы установить Keras, выполните в терминале следующую команду:

Theano

Theano — это библиотека Python, которая позволяет эффективно определять, оптимизировать и вычислять математические выражения с многомерными массивами.

Чтобы установить Theano, выполните в терминале следующую команду:

PyTorch

PyTorch — это пакет Python, который представляет две высокоуровневые возможности:

  • тензорные вычисления (как и в случае с NumPy) с эффективным ускорением на базе GPU;
  • построение глубинных нейронных сетей на основе ленточной системы autograd.

Чтобы установить PyTorch, выполните в терминале следующую команду:

Windows

Официального пакета wheel пока нет. Можно загрузить сторонний пакет из Anaconda или Калифорнийского университета.

Распакуйте его в домашнем каталоге, например C:\Users\test\pytorch.

Добавьте каталог C:\Users\test\pytorch\Lib\site-packages в переменную среды %PYTHONPATH%.

macOS

Двоичные файлы macOS не поддерживают CUDA. Если требуется CUDA, выполните установку из источника.

Linux

Этот пакет поддерживает как GPU, так и ЦП.

Наконец, установите torchvision в ОС, отличных от Windows:

Chainer

Chainer — это платформа глубинного обучения на основе Python, призванная обеспечить гибкость. Она предоставляет интерфейсы API автоматической дифференциации на основе подхода define-by-run (динамические вычислительные графы), а также высокоуровневые объектно-ориентированные интерфейсы API для построения и обучения нейронных сетей.

Чтобы включить поддержку CUDA, установите CuPy:

В Windows требуется версия 2015 среды Visual Studio или Microsoft Visual C++ Build Tools для компиляции CuPy с использованием CUDA 8.0.

1. Загрузите соответствующую версию CUDA с официального веб-сайта, My Cuda 10.1, поэтому загрузка CUDNN I также 10.1.


2. Затем извлеките в папку, которую вы указали сам, здесь я указываю расстегнул: D: \ Software \ cuda_cudnn \ cudnn_10_1 в этой папке. Поскольку CUDNN Этот сжатый файл поставляется с каталогом, имя каталога - это CUDA, поэтому моя структура папок CUDNN Directory является:


3. Скопируйте файл .dll в каталоге BIN в расстегнул CUDNN в каталог BIN в каталоге установки CUDA. Мой каталог установки CUDA: D: \ Software \ cuda_cudnn \ cuda_development_az,


После копирования в каталог Bin из каталога установки CUDA,


4. Скопируйте файл cudnn.h в каталоге include в dechmpressed cudnn в каталог include в каталоге установки CUDA.



5. Скопируйте файл cudnn.lib в каталоге x64 в папке debmpressed cudnn к папке x64 под каталогом lib в каталоге установки CUDA.



6. Добавьте каталог \ lib \ x64 в каталоге установки CUDA к переменной пути в системной переменной, затем определите ее,


7. Cudnn Configuration завершена. Начните убедиться, что он успешно настроен.

8. Откройте CMD, переключитесь на D: \ Software \ CUDA_CUDNN \ DEMO_SUITE Directory, который представляет собой DEMO_SUITE Directory в Directory Directory под каталогом установки CUDA, этот каталог имеет тестовые случаи, см. В этом каталоге. Что:


9. Введите командную строку напрямую: BUNDWIDTHTEST.exe Чтобы выполнить эту программу, вы можете увидеть результаты результата = проход, указывающий на тест.


10. После ввода этой программы вы можете увидеть эту программу, вы можете увидеть результат = пароль, указывающий на тест.

Я искал много мест, но все, что я получаю, это как установить его, а не как проверить, что он установлен. Я могу проверить, установлен ли драйвер NVIDIA и установлен ли CUDA, но я не знаю, как проверить, установлен ли CuDNN. Помощь будет очень признательна, спасибо!

PS.
Это для реализации caffe. В настоящее время все работает без cuDNN включен.

установка CuDNN просто включает в себя размещение файлов в каталоге CUDA. Если вы правильно указали маршруты и параметр CuDNN при установке caffe, он будет скомпилирован с помощью CuDNN.

вы можете проверить это с помощью cmake . Создайте каталог caffe/build и работать cmake .. оттуда. Если конфигурация верна, вы увидите следующие строки:

если все правильно просто запустить make заказы на установку caffe оттуда.

установка CuDNN просто копирует некоторые файлы. Следовательно, чтобы проверить, установлен ли CuDNN (и какая версия у вас есть), вам нужно только проверить эти файлы.

Установить CuDNN

Шаг 1: зарегистрируйте учетную запись разработчика nvidia и скачать cudnn здесь (около 80 МБ). Вам может понадобиться nvcc --version чтобы получить версию cuda.

Шаг 2: Проверьте, где находится ваша установка cuda. Для большинства людей, это будет /usr/local/cuda/ . Вы можете проверить это с which nvcc .

Шаг 3: скопируйте файлы:

проверка версии

возможно, Вам придется изменить путь. См. Шаг 2 установки.

Примечания

когда вы получаете ошибку

С TensorFlow вы можете использовать CuDNN v4 вместо v5.

от CuDNN v5 и далее (по крайней мере, при установке через sudo dpkg -i <library_name>.deb packages), похоже, вам может потребоваться использовать следующее:

указывает, что установлена версия CuDNN 6.0.21.

на CentOS я нашел местоположение CUDA с:

затем я использовал процедуру О на cudnn.H-файл, который я нашел из этой местонахождение:

чтобы проверить установку CUDA, выполните команду, если он установлен правильно, то ниже команда не выдаст ошибку и напечатает правильную версию библиотеки.

чтобы проверить установку CuDNN, выполните команду, если CuDNN установлен правильно, то вы не получите никакой ошибки.

или

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

он должен дать вывод что-то вроде этого

при установке на ubuntu через .deb можно использовать sudo apt search cudnn | grep installed

Читайте также: