Zbiór danych z dwoma wejściami
Budowanie modelu z wieloma wejściami zaczyna się od stworzenia niestandardowego zbioru danych, który dostarcza wszystkich wymaganych wejść. W tym ćwiczeniu zbudujesz zbiór danych Omniglot, który zwraca trójki złożone z:
- obrazu znaku do sklasyfikowania,
- wektora alfabetu zakodowanego metodą one-hot, o długości 30 – z samymi zerami poza jedynką wskazującą ID alfabetu, z którego pochodzi znak,
- etykiety docelowej – liczby całkowitej z zakresu od 0 do 963.
Dostępna jest zmienna samples – lista trójek zawierających ścieżkę do pliku obrazu, wektor alfabetu i etykietę docelową. Poniższe importy zostały już wykonane, więc możemy działać!
from PIL import Image
from torch.utils.data import DataLoader, Dataset
from torchvision import transforms
To ćwiczenie jest częścią kursu
Głębokie uczenie z PyTorch – poziom średnio zaawansowany
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
class OmniglotDataset(Dataset):
def __init__(self, transform, samples):
# Assign transform and samples to class attributes
____ = ____
____ = ____