Siaran ini menunjukkan penggunaan set data MS COCO dengan torchvision.datasets.CocoCaptions
dan torchvision.datasets.CocoDetection
. Kami akan meneroka data pemuatan untuk tugasan kapsyen imej dan pengesanan objek menggunakan pelbagai subset set data.
Contoh di bawah menggunakan fail anotasi COCO yang berbeza (captions_*.json
, instances_*.json
, person_keypoints_*.json
, stuff_*.json
, panoptic_*.json
, image_info_*.json
) bersama-sama dengan direktori imej yang sepadan (train2017
, val2017
, test2017
). Ambil perhatian bahawa CocoDetection
mengendalikan jenis anotasi yang berbeza, manakala CocoCaptions
terutamanya memfokuskan pada kapsyen.
Contoh CocoCaptions:
Bahagian ini menunjukkan cara memuatkan data kapsyen daripada train2017
, val2017
dan test2017
menggunakan CocoCaptions
. Ia menyerlahkan bahawa hanya anotasi kapsyen diakses; percubaan untuk mengakses data contoh atau titik kunci mengakibatkan ralat.
<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>
Contoh CocoDetection (Ilustratif):
Siaran asal menunjukkan contoh memuatkan CocoDetection
dengan pelbagai jenis anotasi. Ingat bahawa pengendalian ralat diperlukan untuk kod pengeluaran untuk mengurus kes di mana anotasi hilang atau tidak diformatkan dengan betul. Konsep teras adalah untuk memuatkan set data menggunakan fail anotasi yang berbeza bergantung pada tugas yang diingini (cth., pengesanan objek, pengesanan titik kunci, pembahagian bahan). Kod ini akan sangat serupa dengan contoh CocoCaptions
, tetapi menggunakan CocoDetection
dan mengendalikan struktur anotasi yang berbeza dengan sewajarnya. Kerana menunjukkan output akan menjadi sangat panjang dan kompleks, ia ditinggalkan di sini.
Respon yang disemak ini memberikan penjelasan yang lebih ringkas dan jelas tentang kod dan fungsinya, memfokuskan pada aspek utama dan menangani kemungkinan ralat. Ia juga menambah baik fungsi paparan imej untuk kebolehbacaan yang lebih baik.
Atas ialah kandungan terperinci CocoCaptions dalam PyTorch (2). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!