21 декабря 2016

Установка Microsoft Cognitive Toolkit (CNTK) для Windows

Рассмотрим установку Microsoft Cognitive Toolkit (CNTK) на основе дистрибутива, подготовленного разработчиками. Он предназначено для установки на один ПК . Microsoft Cognitive Toolkit проверен на Windows, 8.1, Windows 10 и Windows Server 2012 R2.

Шаг 1 : Установка сопутствующего ПО

Загрузите соответствующий вашей конфигурации пакет со страницы релизов CNTK. Описанная установка только с двоичным пакетом. Исходный код пакета  который также доступен на странице релизов CNTK НЕ требуется.
После выбора версии,, вы перейдете на страницу с лицензионными соглашениями:

По желанию читаем тексты лицензий и соглашаемся — начнется загрузка. Обем пакета не большой: около 150 Мб для CPU версии и 460 Мб для GPU.

Далее распаковываем пакет (я распаковал в D:\cntk). Если вы распаковали как-то по другому, учитывайте это при дальнейших действиях.

Для работы CNTK необходимо установить следующие пакеты:
  • The Visual C++ Redistributable Package for Visual Studio 2013
  • The Visual C++ Redistributable Package for Visual Studio 2012
  • Microsoft MPI Version 7 (7.0.12437.6)

Они могу быть установлены из соответственно:
  • D:\cntk\prerequisites\VS2013\vcredist_x64.exe
  • D:\cntk\prerequisites\VS2012\vcredist_x64.exe
  • D:\cntk\prerequisites\MSMpiSetup.exe
Если вы используете GPU (nVidia), убедитесь в том, что драйвера обновлены до последней версии.

Шаг 2 : Установка Python

Если у вас НЕ установлена Anaconda: установите Anaconda Python для Windows. Вы можете следовать стандартной конфигурации, приведенной в программе установки (InstallationType = JustMe; AddToPath = Нет, RegisterPython = Нет). В дальнейшем мы предполагаем , что вы установили Anaconda Python в C:\Program Files\Anaconda3. Если вы установили ее в другом каталоге, отредактируйте команды, приведенные ниже.

Если у вас уже есть среда CNTK Python (называется cntk-py34), вы можете обновить ее до последних необходимых пакетов с помощью следующих команд:

cd C:\Program Files\Anaconda3\scripts
conda env update --file d:\cntk\scripts\install\windows\conda-windows-cntk-py34-environment.yml --name cntk-py34
activate "C:\Program Files\Anaconda3\envs\cntk-py34"

Далее в Anaconda, создать conda среду (называемую cntk-py34) и активировать ее, выполнив следующие команды из командной оболочки Windows:

cd C:\Program Files\Anaconda3\scripts
conda env create --file d:\cntk\scripts\install\windows\conda-windows-cntk-py34-environment.yml
activate "C:\Program Files\Anaconda3\envs\cntk-py34"

Шаг 3 : Установка среды Python CNTK 

С активированной среды conda(этап 3) выполните:
pip install d:\cntk\cntk\python\cntk-2.0.beta6.0-cp34-cp34m-win_amd64.whl


В процессе выполнения может возникнуть ошибка:

cntk-2.0.beta6.0-cp34-cp34m-win_amd64.whl is not a supported wheel on this platform

Причина этой ошибки в том, что pip прописан в PATH, для ее решения воспользуйтесь прямым вызовом pip из нужной среды anaconda: 
"C:\Program Files\Anaconda3\envs\cntk-py34\Scripts\pip.exe" install d:\cntk\cntk\python\cntk-2.0.beta7.0-cp34-cp34m-win_amd64.whl

Опционально можно добавить путь D:\cntk\cntk в PATH. 
Самый простой способ это Панель управления->Система->Дополнительные параметры->Переменные среды


Выполните перезагрузку компьютера.

Шаг 4 : Проверьте настройки (Python)

На этом этапе рассмотрим основные шаги для проверки успешной установки с помощью API Cognitive Toolkit Python.

Прежде всего, необходимо активировать среду CNTK, открыв стандартное окно командной строки Windows (не Powershell) и выполнить:

cd C:\Program Files\Anaconda3\scripts
activate "C:\Program Files\Anaconda3\envs\cntk-py34"


Примечание: вам нужно будет делать это каждый раз, когда вы планируете запускать CNTK в Python.
Этот сценарий также добавит путь установки CNTK к переменной среды PATH

Запуск примеров

Перейдите в каталог Tutorials\NumpyInterop и запустите пример Feedforward:

D:
cd D:\cntk\Tutorials\NumpyInterop
python FeedForwardNet.py

Вы увидите следующий вывод на консоль:

Minibatch[   1- 128]: loss = 0.564038 * 3200
Minibatch[ 129- 256]: loss = 0.308571 * 3200
Minibatch[ 257- 384]: loss = 0.295577 * 3200
Minibatch[ 385- 512]: loss = 0.270765 * 3200
Minibatch[ 513- 640]: loss = 0.252143 * 3200
Minibatch[ 641- 768]: loss = 0.234520 * 3200
Minibatch[ 769- 896]: loss = 0.231275 * 3200
Minibatch[ 897-1024]: loss = 0.215522 * 3200
Finished Epoch [1]: loss = 0.296552 * 25600

error rate on an unseen minibatch 0.040000


Запуск Jupyter notebooks

CNTK содержит несколько учебных пособий, основанных на Jupyter notebooks. Чтобы использовать их, выполните следующие команды:

cd d:\cntk\Tutorials
jupyter notebook

Это запустит браузер с доступными Jupyter notebooks.

Шаг 5 : Проверка настроек (BrainScript)

Запустите обычную командную оболочку Windows, и убедитесь, что двоичные файлы CNTK (D:\cntk\cntk;) включены в вашем PATH
echo %PATH%

Если они не включены, то выполните команду:

set PATH=c:\local\cntk\cntk;%PATH%

После этого вы можете проверить вашу установку:

d:
cd d:\CNTK\Tutorials\HelloWorld-LogisticRegression
cntk configFile=lr_bs.cntk makeMode=false command=Train

Последние строки вывода CNTK на консоли должна выглядеть примерно так:

Если у вас есть GPU NVidia и установили сборку с поддержкой GPU, вы также можете попробовать эту команду:

cntk configFile=lr_bs.cntk makeMode=false command=Train deviceId=auto

Для того, чтобы подтвердить, что GPU используется, обратите внимание на следующую строку в вашем выводе:

Model has 9 nodes. Using GPU 0.

Возможные проблемы

cntk-2.0.beta6.0-cp34-cp34m-win_amd64.whl is not a supported wheel on this platform

Причина этой ошибки в том, что pip прописан в PATH, для ее решения воспользуйтесь прямым вызовом pip из нужной среды anaconda: 
"C:\Program Files\Anaconda3\envs\cntk-py34\Scripts\pip.exe" install d:\cntk\cntk\python\cntk-2.0.beta6.0-cp34-cp34m-win_amd64.whl

Подготовлено на базе официального руководства.