Getting started with Deep Neural Networks in Azure

By for October 4, 2016

Report Abuse
In this tutorial, we go over setting up MXNet, a popular deep learning framework along with required dependencies on Azure N-Series VM
For this tutorial, we will use an [NC24]( VM running on Ubuntu 16.04. N-Series VM sizes are currently under preview and available for select users; you can register interest at In addition to the default Ubuntu 16.04 distribution, the following libraries were used: - [**CUDA**]( - CUDA8.0 RC1 (registration with NVIDIA required). In addition to the base package, you also need to download CUDA Patch 1 from CUDA website. The patch adds support for gcc 5.4 as one of the host compilers. - [**cuDNN**]( – cuDNN 5.1 (registration with NVIDIA required). - [**Math Kernel Library**]( (MKL) - MKL 11.3 update 3 (registration with Intel required). The serial number and download link will be in the email. - [**MXNet**]( - We used MXNet commit SHA f6fa98d645d2b9871e7ac5f0ad977c1e5af80738 from GitHub (which was the latest version of MXNet at the time) - [**Microsoft R Server**]( (MRS) - Microsoft R Server 8.0.5 (registration with Microsoft required). Alternatively, one can download Microsoft R Open (MRO) for Ubuntu [here]( Please note that while MRS comes with Intel MKL already bundled into the package, MRO requires an additional MKL installation from this [link]( Also, while MRS and MRO both rely on MKL, a separate MKL installation is required to build MXNet. This is because the MKL package for Microsoft R only contains shared libraries and not the header files which are needed to build external packages like MXNet. - [**CIFAR-10 training algorithm**]( – test script used to validate MXNet installation by training a simple [ResNet]( deep neural network on [CIFAR-10]( dataset. We then walk you through the commands you need to run to install these libraries and build MXNet from scratch. Check out the code section to see complete install instructions. # Conclusion In this tutorial, we demonstrated how to quickly install and configure MXNet on an Azure N-Series VM equipped with NVIDIA Tesla K80 GPUs. We also showed how to run MXNet training workload from Microsoft R Server using GPU, achieving significant speedups compared to the CPU-only solution.