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_test
from torchvision.datasets import ImageFolder from torchvision import transforms
train_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