Convert CIFAR10 Dataset from PIL Images to PyTorch Tensors

Convert CIFAR10 Dataset from PIL Images to PyTorch Tensors by Using PyTorch's ToTensor Operation

Convert CIFAR10 Dataset from PIL Images to PyTorch Tensors by Using PyTorch's ToTensor Operation

Video Transcript


Once imported, the CIFAR10 dataset will be an array of Python Imaging Library (PIL) images.

This is useful for some applications such as displaying the images on the screen.

However, in order to use the images in our deep neural network, we will first need to transform them into PyTorch tensors.

Conveniently, the ToTensor function in torchvision.transforms is built for exactly this purpose.


First, we need to import torch.

import torch


Then we need to import torchvision.

import torchvision


Then we need to import torchvision.datasets as datasets.

import torchvision.datasets as datasets


Then we need to import torchvision.transforms as transforms.

import torchvision.transforms as transforms


Now, we need to check that our versions of torch and torchvision are current.

print(torch.__version__)

print(torchvision.__version__)

As of March 22, 2018, 0.3.1 for torch and 0.2.0 for torchvision are the current versions.


Now, when we are importing our training test sets from torchvision.datasets, instead of leaving it blank, we will want to set the transform parameter to the ToTensor transform.

cifar_trainset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transforms.ToTensor())

cifar_testset = datasets.CIFAR10(root='./data', train=False, download=True, transform=transforms.ToTensor())

Specifically, the root, train, and download parameters were covered in the previous video.

The transform parameter specifies how we want to transform the imported images and the transform parameter indicates that we want the images to be converted to PyTorch tensors during import.


We are now free to use the tensors in a PyTorch model.

Receive the Data Science Weekly Newsletter every Thursday

Easy to unsubscribe at any time. Your e-mail address is safe.