Now that we understand the theory behind CNNs, let's dive into data exploration. The cats and dogs dataset is provided by Microsoft. The instructions for the downloading and setting up of the dataset can be found in the Technical requirements section of this chapter.
Let's plot the images to better understand the kind of data we're working with. To do that, we can simply run the following code:
from matplotlib import pyplot as plt
import os
import random
# Get list of file names
_, _, cat_images = next(os.walk('Dataset/PetImages/Cat'))
# Prepare a 3x3 plot (total of 9 images)
fig, ax = plt.subplots(3,3, figsize=(20,10))
# Randomly select and plot an image
for idx, img in enumerate(random.sample(cat_images, 9)):
img_read = plt.imread('Dataset/PetImages/Cat/'+img)
ax[int(idx/3), idx%3].imshow(img_read)
ax[int(idx/3),...