LightningDataModule ile veri yönetimi

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Sergiy Tkachuk

Director, GenAI Productivity

Model eğitimi için veri hazırlığı

  • Kötü hazırlanan veri eğitimde sorunlara yol açar
    • Yavaş eğitim
    • Sık kesintiler
    • Yakınsamama

Eğitim için veri hazırlama.png

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Neden LightningDataModule?

$$

  • 📂 Veri kümesi yönetimini merkezileştirir

$$

  • 📊 Veri hazırlama iş akışlarını standartlaştırır

$$

  • 🚀 Eğitim ve değerlendirmeyi sadeleştirir
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

LightningDataModule ile veri yönetimi

Temel yöntemler:

  • prepare_data: Veriyi indirip kurar
  • setup: Veriyi eğitim, doğrulama ve test olarak böler
class ImageDataModule(pl.LightningDataModule):
    def __init__(self, data_dir="./data", batch_size=32):
        super().__init__()
        ...

def prepare_data(self): datasets.MNIST(self.data_dir, train=True, download=True)
def setup(self, stage=None): dataset = datasets.MNIST(self.data_dir, train=True, transform=self.transform) self.train_data, self.val_data = random_split(dataset, [55000, 5000]) self.test_data = datasets.MNIST(self.data_dir, train=False, transform=self.transform)
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Train DataLoader oluşturma

$$

  • Eğitim verisini partiler halinde sağlar
  • GPU kullanımını optimize etmeye yardımcı olur
  • Büyük veri kümelerinde verimli yineleme sağlar
def train_dataloader(self):
    return DataLoader(self.train_data, batch_size=self.batch_size, shuffle=True)
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Validation DataLoader oluşturma

$$

  • Model doğrulaması için veri sağlar
  • Genelleme performansını izlemeye yardımcı olur
  • Karıştırma ile değerlendirmelerde tutarlılık sağlar
def val_dataloader(self):
    return DataLoader(self.val_data, batch_size=self.batch_size)
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Test DataLoader oluşturma

$$

  • Eğitim tamamlandıktan sonra nihai değerlendirme verisini sağlar
  • Gerçek dünya performans değerlendirmesini simüle eder
  • Tarafsız performans ölçümü sağlar
def test_dataloader(self):
    return DataLoader(self.test_data, batch_size=self.batch_size)
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

DataModule'u LightningModule'a bağlama

  • Modüler tasarım veri ve model mantığını ayırır

PyTorch Lightning diyagramı

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

DataModule'u LightningModule'a bağlama

  • Modüler tasarım veri ve model mantığını ayırır
  • LightningDataModule, LightningModule ile eşleşir
  • Standartlaştırılmış iş akışı yeniden üretilebilirliği artırır

DataModule ve LightningModule ile PyTorch Lightning diyagramı

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Hadi pratik yapalım!

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Preparing Video For Download...