0
0
PyTorchml~20 mins

Image dataset from folders in PyTorch - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Image Dataset Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of loading images with ImageFolder
What will be the output shape of the first image tensor loaded using torchvision.datasets.ImageFolder with default ToTensor transform?
PyTorch
from torchvision import datasets, transforms
transform = transforms.ToTensor()
dataset = datasets.ImageFolder(root='data/train', transform=transform)
image, label = dataset[0]
print(image.shape)
Atorch.Size([H, W]) where H and W are image height and width
Btorch.Size([H, W, 3]) where H and W are image height and width
Ctorch.Size([1, H, W]) where H and W are image height and width
Dtorch.Size([3, H, W]) where H and W are image height and width
Attempts:
2 left
💡 Hint
Remember that ToTensor converts images to CxHxW format.
data_output
intermediate
2:00remaining
Number of classes in ImageFolder dataset
Given an ImageFolder dataset loaded from a folder with subfolders 'cats', 'dogs', and 'rabbits', what is the value of dataset.classes?
PyTorch
from torchvision import datasets
 dataset = datasets.ImageFolder(root='data/train')
print(dataset.classes)
A['rabbits', 'dogs', 'cats']
B['dogs', 'cats', 'rabbits']
C['cats', 'dogs', 'rabbits']
D['cats', 'rabbits', 'dogs']
Attempts:
2 left
💡 Hint
ImageFolder sorts folder names alphabetically to assign classes.
🔧 Debug
advanced
2:00remaining
Identify error loading images with ImageFolder
What error will occur when running this code if the root folder contains a file that is not an image or folder? from torchvision import datasets dataset = datasets.ImageFolder(root='data/train') image, label = dataset[0]
PyTorch
from torchvision import datasets
dataset = datasets.ImageFolder(root='data/train')
image, label = dataset[0]
APIL.UnidentifiedImageError
BIndexError
CFileNotFoundError
DTypeError
Attempts:
2 left
💡 Hint
ImageFolder tries to open all files as images.
🚀 Application
advanced
2:00remaining
Transform pipeline for ImageFolder dataset
Which transform pipeline correctly resizes images to 128x128, converts to tensor, and normalizes with mean=0.5 and std=0.5 for all channels?
Atransforms.Compose([transforms.ToTensor(), transforms.Resize((128,128)), transforms.Normalize((0.5,), (0.5,))])
Btransforms.Compose([transforms.Resize((128,128)), transforms.ToTensor(), transforms.Normalize((0.5,0.5,0.5), (0.5,0.5,0.5))])
Ctransforms.Compose([transforms.Resize(128), transforms.ToTensor(), transforms.Normalize((0.5,0.5,0.5), (0.5,0.5,0.5))])
Dtransforms.Compose([transforms.Resize((128,128)), transforms.Normalize((0.5,0.5,0.5), (0.5,0.5,0.5)), transforms.ToTensor()])
Attempts:
2 left
💡 Hint
Resize should come before ToTensor, and Normalize after ToTensor.
🧠 Conceptual
expert
2:00remaining
Why use ImageFolder for image datasets?
What is the main advantage of using torchvision.datasets.ImageFolder to load image datasets organized in folders?
AIt automatically assigns labels based on folder names and loads images efficiently.
BIt converts images to grayscale automatically.
CIt only works with PNG images.
DIt requires images to be in a single folder without subfolders.
Attempts:
2 left
💡 Hint
Think about how labels are assigned in ImageFolder.