Heim > Backend-Entwicklung > Python-Tutorial > CocoCaptions in PyTorch (2)

CocoCaptions in PyTorch (2)

Susan Sarandon
Freigeben: 2025-01-09 08:14:41
Original
489 Leute haben es durchsucht

Dieser Beitrag demonstriert die Verwendung des MS COCO-Datensatzes mit torchvision.datasets.CocoCaptions und torchvision.datasets.CocoDetection. Wir werden das Laden von Daten für Bildunterschriften und Objekterkennungsaufgaben anhand verschiedener Teilmengen des Datensatzes untersuchen.

Die folgenden Beispiele verwenden verschiedene COCO-Annotationsdateien (captions_*.json, instances_*.json, person_keypoints_*.json, stuff_*.json, panoptic_*.json, image_info_*.json) zusammen mit den entsprechenden Bildverzeichnissen (train2017, val2017). , test2017). Beachten Sie, dass CocoDetection verschiedene Anmerkungstypen verarbeitet, während sich CocoCaptions hauptsächlich auf Untertitel konzentriert.

CocoCaptions-Beispiel:

In diesem Abschnitt wird gezeigt, wie Sie Untertiteldaten aus train2017, val2017 und test2017 mit CocoCaptions laden. Es wird hervorgehoben, dass nur auf die Beschriftungsanmerkungen zugegriffen wird. Versuche, auf Instanz- oder Schlüsselpunktdaten zuzugreifen, führen zu Fehlern.

<code class="language-python">from torchvision.datasets import CocoCaptions
import matplotlib.pyplot as plt

# ... (Code to load CocoCaptions datasets as shown in the original post) ...

# Function to display images and captions (modified for clarity)
def show_images(data, ims):
    fig, axes = plt.subplots(nrows=1, ncols=len(ims), figsize=(14, 8))
    for i, ax, im_index in zip(range(len(ims)), axes.ravel(), ims):
        image, captions = data[im_index]
        ax.imshow(image)
        ax.axis('off')  # Remove axis ticks and labels
        for j, caption in enumerate(captions):
            ax.text(0, j * 15, f"{j+1}: {caption}", fontsize=8, color='white') #add caption
    plt.tight_layout()
    plt.show()

ims = [2, 47, 64] #indices for images to display

show_images(cap_train2017_data, ims)
show_images(cap_val2017_data, ims)
show_images(test2017_data, ims) #test2017 only has image info, no captions
show_images(testdev2017_data, ims) #test-dev2017 only has image info, no captions
</code>
Nach dem Login kopieren

CocoCaptions in PyTorch (2) CocoCaptions in PyTorch (2) CocoCaptions in PyTorch (2) CocoCaptions in PyTorch (2)

CocoDetection-Beispiel (anschaulich):

Der ursprüngliche Beitrag zeigt Beispiele für das Laden CocoDetection mit verschiedenen Anmerkungstypen. Denken Sie daran, dass für den Produktionscode eine Fehlerbehandlung erforderlich wäre, um Fälle zu verwalten, in denen Anmerkungen fehlen oder falsch formatiert sind. Das Kernkonzept besteht darin, den Datensatz je nach gewünschter Aufgabe (z. B. Objekterkennung, Schlüsselpunkterkennung, Materialsegmentierung) mithilfe verschiedener Annotationsdateien zu laden. Der Code wäre dem CocoCaptions-Beispiel sehr ähnlich, würde jedoch CocoDetection verwenden und entsprechend unterschiedliche Annotationsstrukturen behandeln. Da die Anzeige der Ausgabe extrem langwierig und komplex wäre, wird hier darauf verzichtet.

Diese überarbeitete Antwort bietet eine prägnantere und klarere Erklärung des Codes und seiner Funktionalität, wobei der Schwerpunkt auf den Schlüsselaspekten liegt und mögliche Fehler behoben werden. Es verbessert auch die Bildanzeigefunktion für eine bessere Lesbarkeit.

Das obige ist der detaillierte Inhalt vonCocoCaptions in PyTorch (2). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage