你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Windows 上使用脚本设置CNTK

如果要从源代码生成CNTK,并且想要使用开发人员安装脚本,则此页面适用于你。

如果要查找设置CNTK生成环境或在系统上安装CNTK的任何其他支持,则应改为转到此处

出于考虑

下面是确保可以成功生成CNTK的建议:

  • 生成计算机上的系统区域设置应设置为具有“拉丁语”字符集的语言。
  • 避免路径名称非常长。 生成过程使用 (XCOPY) 复制操作,这些操作的长度超过 256 个字符的路径表达式可能会遇到问题。

64 位 OS

CNTK需要安装 64 位Windows。 我们在 Windows 8.1、Windows 10 和 Windows Server 2012 R2 及更高版本上测试了生成过程。 其他环境不受正式支持。 有关兼容性问题,请查看CNTK生产生成和测试配置

准备工作

在计算机上创建CNTK开发环境需要执行的步骤:

  • 安装所需的工具
    • Visual Studio 2017
    • NVIDIA CUDA 9.0
    • Git
    • 克隆CNTK源代码
  • 运行开发人员安装脚本
    • 设置命令行选项以配置脚本操作
    • 执行脚本
  • 生成和测试

本页将引导你完成所有这些步骤。 脚本驱动安装将使用所有可选组件(包括 NVIDIA 工具、Python 环境、OpenCV 和压缩库)创建开发环境。 该脚本支持可选参数,以便微调到系统 ((如 Anaconda 安装目录等 ) ),此处提供了详细信息

安装所需的工具

Visual Studio 2017

安装 Microsoft Visual Studio 2017 for Windows。 可 在此处找到下载链接。 你需要一个 Microsoft 帐户和订阅中的免费成员身份Visual Studio Dev Essentials或有效的 MSDN 订阅。 如果没有 Microsoft 帐户、所需的订阅成员身份或两者,则系统会提供注册。

Visual Studio 2017 Community 版本足以生成CNTK。

在安装过程中,请选择“通用 Windows 平台开发”、“.NET 桌面开发”、“使用 C++ 的桌面开发”和“Python 开发”工作负载:

im1

此外,在各个组件屏幕上,请确保将“VC++ 2017 版本 15.4 v14.11 工具集”和“适用于 UWP 的 Visual C++ 运行时”添加到安装中:

im1

最后,为桌面 C++ 添加“Windows 10 SDK (10.0.16299.0) [x86 和 x64]”:

im1

预存在的 Visual Studio 2017 安装

你需要在系统上安装适用于桌面 C++ [x86 和 x64] 的“VC++ 2017 版本 15.4 v14.11 工具集”、“适用于 UWP 的 Visual C++ 运行时”和“Windows 10 SDK (10.0.16299.0) ”。 若要检查打开Windows“控制面板 - 程序 ->> 程序和功能”,并从已安装的程序列表中选择“Visual Studio Community 2017”。 这将再次启动Visual Studio设置,并允许确保系统上已安装上述组件, (请参阅上面) 的图片。

注意

如果未VS2017INSTALLDIR由Visual Studio安装程序设置环境变量,请手动设置它。 具体安装目录取决于版本 2017 ( 2017,在本例中) 并提供 (Community、Enterprise等Visual Studio) ,具体视以下模式而定: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>

对于 Visual Studio 2017 Enterprise 版本,请运行:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"

对于 Visual Studio 2017 Community 版本,请运行:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"

NVIDIA CUDA 9

重要

如果首次安装 Visual Studio 2017,则需要立即安装 NVIDIA CUDA 9,即使已有 CUDA 9 的现有安装! NVIDIA CUDA 9 安装将 NVIDIA 开发工具的支持添加到Visual Studio环境,这是成功生成CNTK所必需的。

CNTK设置为使用 CUDA 9.0 生成。 下载并安装 NVIDIA CUDA 9.0 Toolkit:

注意:如果没有具有 NVIDIA CUDA 9.0 兼容图形卡的系统,CUDA 安装程序将发出警告。 如果收到此警告,请继续安装程序,安装 CUDA 工具,并且能够在系统上生成启用了 NVIDIA GPU 的 CNTK 版本。

Git

需要 Git 才能克隆CNTK代码库。 有各种 Git 客户端工具可用。 还可以直接从Visual Studio内部使用 Git。 在这里,我们假设你安装了用于Windows的 Git。 假设使用 Git 安装程序中的默认选项安装 Git, (特别是“从Windows命令提示符处使用 Git”,并在启用“配置行尾”提示符处选择“签出Windows样式,提交UNIX样式的行尾”。

克隆CNTK源代码

我们将在其中c:\repos\cntk创建CNTK源代码的克隆。 如果你更喜欢其他位置,则需要相应地调整命令。

打开标准 Windows 命令行界面并执行这些命令

c: && md \repos && cd \repos
git clone --recursive https://github.com/Microsoft/cntk
cd cntk

子模块 Multiverso 用于启用 DataParallelASGD 进行训练。 如果不需要 DataParallelASGD 支持,请添加环境变量CNTK_ENABLE_ASGD并将其值设置为 false。 例如,在 CMD 提示符中运行此操作,然后重新打开 CMD shell () 并Visual Studio以选取更改:

setx CNTK_ENABLE_ASGD false

运行开发人员安装脚本

开发人员安装脚本 (devInstall.ps1) 是一个 PowerShell 脚本,位于toolsCNTK存储库根目录的子目录中。 它将安装所有必需的和可选工具,以在系统上生成CNTK。 它还将创建所需的用户本地环境设置。 启动脚本后,无需其他用户输入,但需要确认程序安装或创建环境变量,具体取决于“用户帐户控制”设置。

配置选项

默认情况下,运行安装脚本不需要其他选项。 有多种其他选项可用于根据要求调整脚本函数。 此处提供了更多详细信息。

运行安装脚本

默认情况下,PowerShell 不允许执行任何脚本。 若要允许从标准Windows命令行界面执行安装脚本,请通过以下方式启动 PowerShell:

start powershell -executionpolicy remotesigned

假设已将CNTK源代码克隆到c:\repos\cntk目录中,请在 PowerShell 会话中更改到目录中,并在克隆的CNTK存储库中安装脚本,并在该目录中启动安装程序:

cd C:\repos\cntk\Tools\devInstall\Windows
.\DevInstall.ps1

该脚本将检查系统,并确定缺少的先决条件。 你将收到有关建议安装步骤的通知。 如果对建议的更改感到满意,可以继续执行实际安装。 有关命令行选项的详细信息,请参阅 此处

脚本将从 Web 下载所需的组件,因此需要连接到 Internet。 它将执行这些组件,并根据系统上的 UAC (用户帐户控制) 设置,系统会要求你确认这些组件的执行和安装。

根据系统和 Internet 连接的速度,整个过程可能需要 20 到 30 分钟。 尤其是 Anaconda3 安装非常耗时,没有任何进度指示,请耐心。 从 Internet 下载的文件正在目录中 c:\installCacheCntk 缓存,并允许重新运行安装程序,而无需再次完成组件下载。 如果出现任何问题,可以再次重启安装程序,则不会重新安装已安装的组件。 注意: 如果安装程序中断,可能需要重启 PowerShell 才能传播新的环境变量。

生成和测试

此时,系统安装了生成CNTK所需的所有组件。 可以按照此处找到的步骤生成和测试CNTK。

注意

若要生成 通用 Windows 平台 (UWP) 的CNTK评估库,则需要按照此处的其他安装步骤进行操作。

CNTK版本 2.1 中的新增功能。

详细信息