Loading data 

Preparing data for deep learning algorithms could be a complex pipeline by itself. PyTorch provides many utility classes that abstract a lot of complexity such as data-parallelization through multi-threading, data-augmenting, and batching. In this chapter, we will take a look at two of the important utility classes, namely the Dataset class and the DataLoader class. To understand how to use these classes, let's take the Dogs vs. Cats dataset from Kaggle (https://www.kaggle.com/c/dogs-vs-cats/data) and create a data pipeline that generates a batch of images in the form of PyTorch tensors.