Microsoft Cognitive Toolkit (CNTK) - ЦП и графический процессор

Microsoft Cognitive Toolkit предлагает две разные версии сборки: только для ЦП и только для графического процессора.

Версия сборки только для ЦП

Версия CNTK для сборки только для ЦП использует оптимизированный Intel MKLML, где MKLML является подмножеством MKL (Math Kernel Library) и выпущен с Intel MKL-DNN как завершенная версия Intel MKL для MKL-DNN.

Версия сборки только для GPU

С другой стороны, версия CNTK для сборки только для GPU использует высокооптимизированные библиотеки NVIDIA, такие как CUB и cuDNN. Он поддерживает распределенное обучение на нескольких графических процессорах и нескольких машинах. Для еще более быстрого распределенного обучения в CNTK версия для GPU-сборки также включает:

  • SGD с 1-битным квантованием, разработанный MSR.

  • Блочно-импульсные алгоритмы параллельного обучения SGD.

Включение графического процессора с CNTK в Windows

В предыдущем разделе мы увидели, как установить базовую версию CNTK для использования с ЦП. Теперь давайте обсудим, как мы можем установить CNTK для использования с графическим процессором. Но, прежде чем углубляться в это, сначала у вас должна быть поддерживаемая видеокарта.

В настоящее время CNTK поддерживает видеокарты NVIDIA с поддержкой как минимум CUDA 3.0. Чтобы убедиться, вы можете проверить на https://developer.nvidia.com/cuda-gpus поддерживает ли ваш графический процессор CUDA.

Итак, давайте посмотрим, как включить графический процессор с CNTK в ОС Windows -

Step 1 - В зависимости от видеокарты, которую вы используете, сначала вам необходимо установить последние версии драйверов GeForce или Quadro для вашей видеокарты.

Step 2 - После того, как вы загрузили драйверы, вам необходимо установить инструментарий CUDA версии 9.0 для Windows с веб-сайта NVIDIA. https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64. После установки запустите установщик и следуйте инструкциям.

Step 3 - Затем вам нужно установить двоичные файлы cuDNN с веб-сайта NVIDIA. https://developer.nvidia.com/rdp/form/cudnn-download-survey. С версией CUDA 9.0 cuDNN 7.4.1 работает хорошо. По сути, cuDNN - это слой поверх CUDA, используемый CNTK.

Step 4 - После загрузки двоичных файлов cuDNN вам необходимо распаковать zip-файл в корневую папку установки вашего набора инструментов CUDA.

Step 5- Это последний шаг, который позволит использовать GPU внутри CNTK. Выполните следующую команду в командной строке Anaconda в ОС Windows -

pip install cntk-gpu

Включение графического процессора с CNTK в Linux

Давайте посмотрим, как мы можем включить графический процессор с CNTK в ОС Linux -

Скачивание инструментария CUDA

Во-первых, вам необходимо установить набор инструментов CUDA с веб-сайта NVIDIA https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type = runfilelocal .

Запуск установщика

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

sh cuda_9.0.176_384.81_linux-run

Изменить скрипт профиля Bash

После установки набора инструментов CUDA на вашем компьютере с Linux вам необходимо изменить сценарий профиля BASH. Для этого сначала откройте файл $ HOME / .bashrc в текстовом редакторе. Теперь в конце скрипта добавьте следующие строки -

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Installing

Установка библиотек cuDNN

Наконец, нам нужно установить двоичные файлы cuDNN. Его можно скачать с сайта NVIDIA.https://developer.nvidia.com/rdp/form/cudnn-download-survey. С версией CUDA 9.0 cuDNN 7.4.1 работает хорошо. По сути, cuDNN - это слой поверх CUDA, используемый CNTK.

После загрузки версии для Linux распакуйте ее в папку /usr/local/cuda-9.0 папку с помощью следующей команды -

tar xvzf -C /usr/local/cuda-9.0/ cudnn-9.0-linux-x64-v7.4.1.5.tgz

При необходимости измените путь к имени файла.