Cet article montre l'utilisation de la classe CocoCaptions
de la bibliothèque torchvision.datasets
avec divers ensembles de données MS COCO. Les exemples illustrent le chargement et l'affichage d'images du sous-ensemble unlabeled2017
. Cependant, les tentatives d'accès aux données de stuff_train2017
, stuff_val2017
, stuff_train2017_pixelmaps
et stuff_val2017_pixelmaps
ont abouti à des erreurs, indiquant une incompatibilité avec CocoCaptions
. Les extraits de code et leurs sorties sont fournis ci-dessous.
Code et sortie :
Le code tente de charger et d'utiliser différents sous-ensembles de l'ensemble de données MS COCO à l'aide de CocoCaptions
. Le sous-ensemble unlabeled2017
se charge avec succès et permet l'affichage des images. D'autres sous-ensembles (contenant des données « trucs » et « panoptiques ») provoquent des erreurs, mettant en évidence les limites de l'utilisation de CocoCaptions
avec ces structures de données spécifiques.
<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>
La fonction show_images
affiche trois images du sous-ensemble unlabeled2017_data
.
Conclusion :
Cette expérience montre que même si CocoCaptions
fonctionne avec certains sous-ensembles de données MS COCO (comme unlabeled2017
), il n'est pas directement compatible avec toutes les annotations. Les erreurs rencontrées suggèrent que les annotations « stuff » et « panoptic » nécessitent une approche différente ou une classe d'ensemble de données différente pour un chargement et une utilisation corrects. Une enquête plus approfondie sur la structure de ces annotations et sur les torchvision
classes d'ensembles de données disponibles est nécessaire pour un accès réussi aux données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!