เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การทำ 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()
แก้ไขและรันโค้ด