IniziaInizia gratis

Insieme di dati con due input

Costruire un modello con più input parte dalla creazione di un dataset personalizzato che sappia fornire tutti gli input al modello. In questo esercizio, creerai il dataset Omniglot che restituisce terne composte da:

  • L'immagine di un carattere da classificare,
  • Il vettore one-hot dell'alfabeto di lunghezza 30, con zeri ovunque tranne un singolo uno che indica l'ID dell'alfabeto da cui proviene il carattere,
  • L'etichetta target, un intero tra 0 e 963.

Ti vengono forniti samples, una lista di 3-uple che comprendono il percorso al file dell'immagine, il relativo vettore dell'alfabeto e l'etichetta target. Inoltre, sono già stati eseguiti i seguenti import, quindi mettiamoci al lavoro!

from PIL import Image
from torch.utils.data import DataLoader, Dataset
from torchvision import transforms

Questo esercizio fa parte del corso

Deep Learning intermedio con PyTorch

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

class OmniglotDataset(Dataset):
    def __init__(self, transform, samples):
        # Assign transform and samples to class attributes
        ____ = ____
        ____ = ____
Modifica ed esegui il codice