Heim >Backend-Entwicklung >Python-Tutorial >CocoCaptions in PyTorch (3)
Dieser Beitrag demonstriert die Verwendung der CocoCaptions
-Klasse aus der torchvision.datasets
-Bibliothek mit verschiedenen MS COCO-Datensätzen. Die Beispiele veranschaulichen das Laden und Anzeigen von Bildern aus der Teilmenge unlabeled2017
. Versuche, auf Daten von stuff_train2017
, stuff_val2017
, stuff_train2017_pixelmaps
und stuff_val2017_pixelmaps
zuzugreifen, führten jedoch zu Fehlern, was auf eine Inkompatibilität mit CocoCaptions
hindeutet. Die Codeausschnitte und ihre Ausgaben werden unten bereitgestellt.
Code und Ausgabe:
Der Code versucht, mithilfe von CocoCaptions
verschiedene Teilmengen des MS COCO-Datensatzes zu laden und zu nutzen. Die Teilmenge unlabeled2017
wird erfolgreich geladen und ermöglicht die Bildanzeige. Andere Teilmengen (die „Stuff“- und „Panoptic“-Daten enthalten) verursachen Fehler und verdeutlichen die Einschränkungen bei der Verwendung von CocoCaptions
mit diesen spezifischen Datenstrukturen.
<code class="language-python">from torchvision.datasets import CocoCaptions import matplotlib.pyplot as plt # ... (CocoCaptions instantiation code as provided in the input) ... # ... (len() calls and error handling code as provided in the input) ... unlabeled2017_data[2] # Displays image and empty caption list unlabeled2017_data[47] # Displays image and empty caption list unlabeled2017_data[64] # Displays image and empty caption list def show_images(data, ims, main_title=None): file = data.root.split('/')[-1] fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(14, 8)) fig.suptitle(t=main_title, y=0.9, fontsize=14) for i, axis in zip(ims, axes.ravel()): if not data[i][1]: im, _ = data[i] axis.imshow(X=im) fig.tight_layout() plt.show() ims = (2, 47, 64) show_images(data=unlabeled2017_data, ims=ims, main_title="unlabeled2017_data")</code>
Die show_images
-Funktion zeigt drei Bilder aus der unlabeled2017_data
-Teilmenge an.
Fazit:
Dieses Experiment zeigt, dass CocoCaptions
zwar mit bestimmten MS COCO-Datenteilmengen (wie unlabeled2017
) funktioniert, aber nicht direkt mit allen Annotationen kompatibel ist. Die aufgetretenen Fehler deuten darauf hin, dass die Annotationen „stuff“ und „panoptic“ einen anderen Ansatz oder eine andere Datensatzklasse erfordern, um ordnungsgemäß geladen und verwendet zu werden. Für einen erfolgreichen Datenzugriff sind weitere Untersuchungen zur Struktur dieser Annotationen und der verfügbaren torchvision
Datensatzklassen erforderlich.
Das obige ist der detaillierte Inhalt vonCocoCaptions in PyTorch (3). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!