Book Image

Deep Learning with Microsoft Cognitive Toolkit Quick Start Guide

By : Willem Meints
Book Image

Deep Learning with Microsoft Cognitive Toolkit Quick Start Guide

By: Willem Meints

Overview of this book

Cognitive Toolkit is a very popular and recently open sourced deep learning toolkit by Microsoft. Cognitive Toolkit is used to train fast and effective deep learning models. This book will be a quick introduction to using Cognitive Toolkit and will teach you how to train and validate different types of neural networks, such as convolutional and recurrent neural networks. This book will help you understand the basics of deep learning. You will learn how to use Microsoft Cognitive Toolkit to build deep learning models and discover what makes this framework unique so that you know when to use it. This book will be a quick, no-nonsense introduction to the library and will teach you how to train different types of neural networks, such as convolutional neural networks, recurrent neural networks, autoencoders, and more, using Cognitive Toolkit. Then we will look at two scenarios in which deep learning can be used to enhance human capabilities. The book will also demonstrate how to evaluate your models' performance to ensure it trains and runs smoothly and gives you the most accurate results. Finally, you will get a short overview of how Cognitive Toolkit fits in to a DevOps environment
Table of Contents (9 chapters)

Training a neural network efficiently with minibatches

In the previous chapter, we discussed how to build and train a neural network. In this chapter, we'll discuss various ways to feed data to the CNTK trainer. Before we dive into the details of each data processing method, let's take a closer look at what happens with the data when you train a neural network.

You need a couple of things to train a neural network. As we discussed in the previous chapter, you need to have a basic structure for your model and a loss function. The trainer and the learner are the final pieces to the puzzle and are responsible for controlling the training process.

The trainer performs four steps:

  1. It takes a number of training samples and feeds them through the network and loss function
  2. Next, it takes the output of the loss function and feeds it through the learner
  3. It then uses the learner...