Azure 数据科学 VM 上的 CNTK
Posted
技术标签:
【中文标题】Azure 数据科学 VM 上的 CNTK【英文标题】:CNTK on Azure Data Science VM 【发布时间】:2017-05-28 05:57:16 【问题描述】:我有一个带有 Tesla K80 GPU 的 N 系列 Azure VM(数据科学 VM)。根据 NVIDIA 扫描仪,我的 GPU 驱动程序是最新的。 当我运行我的 CNTK Brainscript 时,它显示“未找到 GPU”并在 CPU 模式下运行。我可以做些什么来解决问题?
requestnodes [MPIWrapper]: using 1 out of 1 MPI nodes on a single host (1 reques
ted); we (0) are in (participating)
-------------------------------------------------------------------
Build info:
Built time: Dec 22 2016 01:43:24
Last modified date: Thu Dec 22 01:35:04 2016
Build type: Release
Build target: GPU
With 1bit-SGD: yes
With ASGD: yes
Math lib: mkl
CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8
.0
CUB_PATH: c:\src\cub-1.4.1
CUDNN_PATH: C:\local\cudnn-8.0-windows10-x64-v5.1
Build Branch: HEAD
Build SHA1: 8e8b5ff92eff4647be5d41a5a515956907567126
Built by svcphil on DPHAIM-24
Build Path: C:\jenkins\workspace\CNTK-Build-Windows\Source\CNTK\
-------------------------------------------------------------------
No GPUs found
编辑:这是 NVidia_smi.exe 的输出:
C:\Program Files\NVIDIA Corporation\NVSMI>.\nvidia-smi.exe
Fri Jan 13 19:00:43 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 369.30 Driver Version: 369.30 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K80 TCC | 0BD1:00:00.0 Off | Off |
| N/A 43C P8 27W / 149W | 0MiB / 12189MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla K80 TCC | 5871:00:00.0 Off | Off |
| N/A 35C P8 34W / 149W | 0MiB / 12189MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
【问题讨论】:
还有一点需要注意:VM 是 Windows Server 2012 R2。它是标准 NC12 Azure 实例。 我尝试从 NVIDIA 安装驱动程序,但驱动程序安装失败。 377.35-特斯拉-桌面-winserver2008-2012r2-64bit-international-whql 【参考方案1】:Windows Data Science VM 默认不附带 GPU 驱动程序、CUDA 等。我们确实有一个名为“DSVM 的深度学习工具包”的扩展程序,它添加了驱动程序、CUDA 和 GPU 版本的深度学习软件,如 CNTK、Tensorflow ,MxNet。
更多信息:http://aka.ms/dsvm/deeplearning
我们最近还发布了一个Ubuntu version of DSVM,它带有内置的 CUDA、GPU 驱动程序和更多的深度学习工具,可以部署在 Azure 上的 GPU 虚拟机或仅 CPU 的虚拟机上。
【讨论】:
更新:Windows 2016 Data Science VM (aka.ms/dsvm/win2016) 附带 GPU 驱动程序、CUDA 和几个框架,如 Tensorflow、Mxnet、Microsoft Cognitive Toolkit、Chainer。我们一直在添加新工具。请查看产品页面以获取最新信息。【参考方案2】:您是否可以运行 python 笔记本并查看是否可以在将设备设置为 gpu(id) 的情况下运行它们?或者从激活的 CNTK python 环境中你可以尝试设置一些设备。
import cntk as C
from cntk.device import set_default_device, gpu
C.device.set_default_device(C.device.gpu(0))
这可能会给你一些线索,是否是 Brainscript 特定的问题。
【讨论】:
感谢您的跟进。这是该脚本的输出: Traceback(最近一次调用最后一次):文件“.\testGPU.py”,第 3 行,在在安装 CUDA 之后,python 脚本和 Brainscript 现在可以工作了(我安装它是为了运行 NVIDIA_SMI)。我不应该假设 Azure 数据科学映像(仅适用于 N 系列 VM)已预先安装了必要的 NVIDIA 库。 :-)
【讨论】:
很高兴知道这一点。感谢您的报告。将把它传递给支持 N 系列 VM 的相关团队以供将来升级。以上是关于Azure 数据科学 VM 上的 CNTK的主要内容,如果未能解决你的问题,请参考以下文章
Google Cloud 相当于 Azure 的数据科学 VM
如何将 SSD(高级)磁盘附加到我的 NC6 - Microsoft Azure 中的数据科学 VM?