IniziaInizia gratis

Preprocessing delle immagini

In questo esercizio userai il dataset flickr, che contiene 30.000 immagini con le relative didascalie, per eseguire operazioni di preprocessing sulle immagini. Questo preprocessing è necessario per rendere i dati delle immagini adatti all'inferenza con i task dei modelli Hugging Face, come la generazione di testo a partire da immagini. In questo caso, genererai una didascalia testuale per questa immagine:

Photo of 2 people with 1 playing the guitar

Il dataset (dataset) è stato caricato con la seguente struttura:

Dataset({
    features: ['image', 'caption', 'sentids', 'split', 'img_id', 'filename'],
    num_rows: 10
})

Il modello di image captioning (model) è stato caricato.

Questo esercizio fa parte del corso

Modelli multi-modali con Hugging Face

Visualizza il corso

Istruzioni dell'esercizio

  • Carica l'immagine dall'elemento all'indice 5 del dataset.
  • Carica l'image processor (BlipProcessor) del modello pretrained: Salesforce/blip-image-captioning-base.
  • Esegui il processor su image, assicurandoti di specificare che sono richiesti i tensori PyTorch (pt).
  • Usa il metodo .generate() per creare una didascalia utilizzando il model.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Load the image from index 5 of the dataset
image = dataset[5]["____"]

# Load the image processor of the pretrained model
processor = ____.____("Salesforce/blip-image-captioning-base")

# Preprocess the image
inputs = ____(images=____, return_tensors="pt")

# Generate a caption using the model
output = ____(**inputs)
print(f'Generated caption: {processor.decode(output[0])}')
print(f'Original caption: {dataset[5]["caption"][0]}')
Modifica ed esegui il codice