การทำ Data Augmentation ใน PyTorch
มาเพิ่ม data augmentation เข้าไปใน Dataset แล้วลองดูภาพจริงเพื่อตรวจสอบว่าการแปลงข้อมูลที่ต้องการถูกนำไปใช้ถูกต้องหรือไม่
ขั้นแรก จะเพิ่ม transformation สำหรับการ augment เข้าไปใน train_transforms โดยใช้การพลิกภาพในแนวนอนแบบสุ่ม และการหมุนภาพด้วยมุมสุ่มระหว่าง 0 ถึง 45 องศา โค้ดส่วนที่สร้าง Dataset และ DataLoader ยังคงเหมือนเดิม จากนั้นจะปรับรูปร่างของภาพแล้วแสดงผล เพื่อดูว่า transformation ที่เพิ่มเข้ามาปรากฏในภาพจริงหรือไม่
ไลบรารีที่จำเป็นได้ถูก import ไว้ให้แล้ว:
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
from torchvision import transforms
import matplotlib.pyplot as plt
ได้เวลา augment รูปภาพเมฆกันแล้ว!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning ระดับกลางด้วย PyTorch
คำแนะนำการฝึกหัด
- เพิ่ม transformation อีก 2 รายการใน
train_transformsเพื่อทำการพลิกภาพในแนวนอนแบบสุ่ม และหมุนภาพด้วยมุมสุ่มระหว่าง 0 ถึง 45 องศา - ปรับรูปร่างของ tensor
imageที่ได้จาก DataLoader ให้เหมาะสำหรับการแสดงผล - แสดงภาพ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
train_transforms = transforms.Compose([
# Add horizontal flip and rotation
____,
____,
transforms.ToTensor(),
transforms.Resize((128, 128)),
])
dataset_train = ImageFolder(
"clouds_train",
transform=train_transforms,
)
dataloader_train = DataLoader(
dataset_train, shuffle=True, batch_size=1
)
image, label = next(iter(dataloader_train))
# Reshape the image tensor
image = image.____.____(____, ____, ____)
# Display the image
____
plt.show()