TorchScript ile modelleri dışa aktarma

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Sergiy Tkachuk

Director, GenAI Productivity

TorchScript nedir?

  • Python'dan bağımsız

  • Üretimde verimli

  • Örnekler:

    • Mobil cihazlarda dağıtım

Bir cep telefonu

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

TorchScript nedir?

  • Python'dan bağımsız

  • Üretimde verimli

  • Örnekler:

    • Mobil cihazlarda dağıtım
    • Üretim sistemlerinde yüksek performanslı çıkarım

Bir üretim ortamını simgeleyen dişlilere sahip bir cep telefonu ve dizüstü bilgisayar

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Modelleri TorchScript'e dönüştürme

Dönüştürme için iki yöntem:

  • torch.jit.trace: Örnek girdilerle yürütmeyi izler
  • torch.jit.script: Python kodunu analiz ederek derler

Ne zaman kullanılır:

  1. Basit modeller için trace kullanın
  2. Kontrol akışı olan modeller için (örn. döngüler) script kullanın
import torch
import torch.nn as nn

class SimpleModel(nn.Module): def forward(self, x): return x * 2
model = SimpleModel() scripted_model = torch.jit.script(model)
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

TorchScript modellerini kaydetme ve yükleme

$$

  • Modeli kaydetme:
    • torch.jit.save: Betiklenmiş modeli dosyaya kaydeder
  • Modeli yükleme:
    • torch.jit.load: Çıkarım için modeli geri yükler

$$

# Save the model
torch.jit.save(scripted_mod,"model.pt")

# Load the model
loaded_model=torch.jit.load("model.pt")
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

TorchScript ile çıkarım yapma

  • Adımlar:
    • TorchScript modelini yükleyin
    • Girdileri modele verip tahmin alın
    • Çıktılar PyTorch ile aynıdır

Örnek Girdi:

  • Girdi Tensörü: [1.0, 2.0, 3.0]

Örnek Çıktı:

  • Çıktı Tensörü: [2.0, 4.0, 6.0]
# Perform inference
input_arr = [1.0, 2.0, 3.0]
input_tensor = torch.tensor(input_arr)

output = loaded_model(input_tensor) print(output)
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

TorchScript özet

$$

  • torch.jit.trace: Statik modeller için
  • torch.jit.script: Dinamik kontrol akışını destekler
  • torch.jit.save: Betiklenmiş modeli kaydeder
  • torch.jit.load: Çıkarım için yeniden yükler
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Hadi pratik yapalım!

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Preparing Video For Download...