📜  Microsoft认知工具包(CNTK)-CPU和GPU

📅  最后修改于: 2020-12-10 04:59:35             🧑  作者: Mango


Microsoft Cognitive Toolkit提供了两种不同的生成版本,即仅CPU和仅GPU。

仅CPU构建版本

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

仅GPU构建版本

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

  • MSR开发了1位量化的SGD。

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

在Windows上使用CNTK启用GPU

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

目前,CNTK支持至少具有CUDA 3.0支持的NVIDIA图形卡。为了确保这一点,您可以在https://developer.nvidia.com/cuda-gpus上检查您的GPU是否支持CUDA。

因此,让我们看看在Windows OS上启用具有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是CNTK使用的位于CUDA顶部的一层。

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

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

pip install cntk-gpu

在Linux上使用CNTK启用GPU

让我们看看如何在Linux OS上使用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是CNTK使用的位于CUDA顶部的一层。

下载适用于Linux的版本后,使用以下命令将其解压缩到/usr/local/cuda-9.0文件夹-

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

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