Intermediate Deep Learning with PyTorch
Michal Oleszak
Machine Learning Engineer

![]()
Each pixel contains color information
Grayscale images: integer in 0 - 255


Desired directory structure:
clouds_train- cumulus- 75cbf18.jpg - ...- cumulonimbus - ...clouds_test- cumulus - cumulonimbus - ...
clouds_train and clouds_testfrom torchvision.datasets import ImageFolder from torchvision import transformstrain_transforms = transforms.Compose([ transforms.ToTensor(), transforms.Resize((128, 128)), ])dataset_train = ImageFolder( "data/clouds_train", transform=train_transforms, )
Define transformations:
Create dataset passing:
dataloader_train = DataLoader(
dataset_train,
shuffle=True,
batch_size=1,
)
image, label = next(iter(dataloader_train))
print(image.shape)
torch.Size([1, 3, 128, 128])
image = image.squeeze().permute(1, 2, 0)
print(image.shape)
torch.Size([128, 128, 3])
import matplotlib.pyplot as plt
plt.imshow(image)
plt.show()

train_transforms = transforms.Compose([transforms.RandomHorizontalFlip(), transforms.RandomRotation(45),transforms.ToTensor(), transforms.Resize((128, 128)), ])dataset_train = ImageFolder( "data/clouds/train", transform=train_transforms, )
Data augmentation: Generating more data by applying random transformations to original images

Intermediate Deep Learning with PyTorch