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:

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
Istruzioni dell'esercizio
- Carica l'immagine dall'elemento all'indice
5del 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 ilmodel.
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]}')