Zacznij terazZacznij za darmo

Przetwarzanie wstępne obrazów

W tym ćwiczeniu skorzystasz ze zbioru danych flickr, zawierającego 30 000 obrazów wraz z opisami, aby wykonać operacje przetwarzania wstępnego na obrazach. Przetwarzanie wstępne jest niezbędne, by dane obrazowe nadawały się do wnioskowania z użyciem modeli Hugging Face – na przykład do generowania tekstu na podstawie obrazu. W tym przypadku wygenerujesz tekstowy opis tego zdjęcia:

Photo of 2 people with 1 playing the guitar

Zbiór danych (dataset) został wczytany z następującą strukturą:

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

Model do generowania opisów obrazów (model) został wczytany.

To ćwiczenie jest częścią kursu

Modele multimodalne z Hugging Face

Zobacz kurs

Instrukcje do ćwiczenia

  • Wczytaj obraz z elementu o indeksie 5 ze zbioru danych.
  • Wczytaj procesor obrazów (BlipProcessor) wstępnie wytrenowanego modelu: Salesforce/blip-image-captioning-base.
  • Uruchom procesor na image, pamiętając o określeniu, że wymagane są tensory PyTorch (pt).
  • Użyj metody .generate(), aby wygenerować opis z użyciem model.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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]}')
Edytuj i uruchom kod