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)

Working with large datasets

We've looked at NumPy and Pandas as ways to feed in-memory dataset to CNTK for training. But not every dataset is small enough to fit into memory. This is especially true for datasets that contain images, video samples, or sound samples. When you work with larger datasets, you only want to load small portions of the dataset at a time into memory. Usually, you will only load enough samples into memory to run a single minibatch of training.

CNTK supports working with larger datasets through the use of MinibatchSource. Now, MinibatchSource is a component that can load data from disk in chunks. It can automatically randomize samples read from the data source. This is useful for preventing your neural network from overfitting due to a fixed order in the training dataset.

MinibatchSource has a built-in transformation pipeline. You can use this pipeline...