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
При необходимости измените путь к имени файла.