Deep Learning with Neural Networks and the Cognitive Toolkit (CNTK)
2 h 30 m
In this lab, you will learn how to upload data to an Azure storage account, use Python to clean data in Azure storage, use Machine Learning Workbench to execute code in Docker containers, format data for use with the CNTK, use Python code to train CNTK models, determine the accuracy of a trained CNTK model, operationalize a Docker image to containing a trained neural network, and invoke the neural network within the Docker container to get real-time predictions.
Related Learning Path(s):
In this exercise, you will setup Azure ML Workbench on your LabVM. You will then upload a dataset to Azure blob storage. The dataset that you will upload is the MNIST database, which is a popular dataset for training and evaluating handwriting-recognition models. The database contains 60,000 scanned and normalized images of the digits 0 through 9 drawn by high school students. It also includes a set of 10,000 test images for evaluating a model’s accuracy. In subsequent exercises, you will create a neural network and use the MNIST dataset to train it to recognize handwritten digits.
In this exercise, you will prepare the data to be used in a machine-learning model by converting it into a format supported by the Microsoft Cognitive Toolkit, also known as CNTK. You will use Microsoft’s Azure Machine Learning Workbench, a free cross-platform tool for wrangling data and building machine-learning models, to do the conversion.
In this exercise, you will return to Machine Learning Workbench and train three machine-learning models that rely on CNTK neural networks. The goal: to find the best model for recognizing hand-written digits, with an eye toward operationalizing the model and building a client app that uses it in the fourth and final exercise.
In this exercise, you will build a Docker image containing one of the compiled networks. The container will also include a rudimentary Web server written in Node.js that serves up a Web page in which users can sketch digits. A button click submits a digit to the neural network, which “predicts” which digit was drawn, providing a tangible demonstration of machine learning in action.