Microsoft Cognitive Toolkit (CNTK) - CPU 和 GPU



Microsoft Cognitive Toolkit 提供两种不同的构建版本,即仅 CPU 版本和仅 GPU 版本。

仅 CPU 构建版本

CNTK 的仅 CPU 构建版本使用优化的 Intel MKLML,其中 MKLML 是 MKL(数学核心库)的子集,并作为 Intel MKL for MKL-DNN 的终止版本与 Intel MKL-DNN 一起发布。

仅 GPU 构建版本

另一方面,CNTK 的仅 GPU 构建版本使用高度优化的 NVIDIA 库,例如 CUBcuDNN。它支持跨多个 GPU 和多台机器的分布式训练。为了在 CNTK 中实现更快的分布式训练,GPU 构建版本还包括:

  • MSR 开发的 1 位量化 SGD。

  • 块动量 SGD 并行训练算法。

在 Windows 上使用 CNTK 启用 GPU

在上一节中,我们了解了如何安装 CNTK 的基本版本以与 CPU 一起使用。现在让我们讨论如何安装 CNTK 以与 GPU 一起使用。但是,在深入研究之前,您首先应该拥有一张受支持的显卡。

目前,CNTK 支持 NVIDIA 显卡,并且至少需要 CUDA 3.0 支持。要确保这一点,您可以在 https://developer.nvidia.com/cuda-gpus 检查您的 GPU 是否支持 CUDA。

因此,让我们看看在 Windows 操作系统上使用 CNTK 启用 GPU 的步骤:

步骤 1 - 根据您使用的显卡,您首先需要拥有显卡的最新 GeForce 或 Quadro 驱动程序。

步骤 2 - 下载驱动程序后,您需要从 NVIDIA 网站 https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64 安装 CUDA 工具包版本 9.0 for Windows。安装后,运行安装程序并按照说明操作。

步骤 3 - 接下来,您需要从 NVIDIA 网站 https://developer.nvidia.com/rdp/form/cudnn-download-survey 安装 cuDNN 二进制文件。对于 CUDA 9.0 版本,cuDNN 7.4.1 可以很好地工作。基本上,cuDNN 是 CUDA 之上的一个层,由 CNTK 使用。

步骤 4 - 下载 cuDNN 二进制文件后,您需要将 zip 文件解压缩到 CUDA 工具包安装的根文件夹中。

步骤 5 - 这是最后一步,它将启用 CNTK 中的 GPU 使用。在 Windows 操作系统上的 Anaconda 提示符中执行以下命令:

pip install cntk-gpu

在 Linux 上使用 CNTK 启用 GPU

让我们看看如何在 Linux 操作系统上使用 CNTK 启用 GPU:

下载 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 安装 CUDA 工具包。

运行安装程序

现在,一旦您在磁盘上拥有二进制文件,请通过打开终端并执行以下命令以及屏幕上的说明来运行安装程序:

sh cuda_9.0.176_384.81_linux-run

修改 Bash 配置文件

在 Linux 机器上安装 CUDA 工具包后,您需要修改 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

根据需要更改文件名的路径。

广告