PyTorch の CocoCaption (2)

Susan Sarandon
リリース: 2025-01-09 08:14:41
オリジナル
489 人が閲覧しました

この投稿では、torchvision.datasets.CocoCaptionstorchvision.datasets.CocoDetection で MS COCO データセットを使用する方法を示します。 データセットのさまざまなサブセットを使用して、画像キャプションとオブジェクト検出タスクのためのデータの読み込みを検討します。

以下の例では、さまざまな COCO 注釈ファイル (captions_*.jsoninstances_*.jsonperson_keypoints_*.jsonstuff_*.jsonpanoptic_*.jsonimage_info_*.json) と対応する画像ディレクトリ (train2017val2017) を使用しています。 、test2017)。 CocoDetection はさまざまな注釈タイプを処理しますが、CocoCaptions は主にキャプションに焦点を当てていることに注意してください。

ココキャプションの例:

このセクションでは、train2017 を使用して val2017test2017、および CocoCaptions からキャプション データを読み込む方法を示します。 キャプションの注釈のみがアクセスされることが強調表示されます。インスタンスまたはキーポイントのデータにアクセスしようとすると、エラーが発生します。

<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>
ログイン後にコピー

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

CocoDetection の例 (説明):

元の投稿では、さまざまな注釈タイプを使用して CocoDetection をロードする例を示しています。 注釈が欠落している場合や不適切な形式である場合に対処するために、運用コードでエラー処理が必要になることに注意してください。 中心となる概念は、目的のタスク (オブジェクト検出、キーポイント検出、スタッフのセグメンテーションなど) に応じて、さまざまなアノテーション ファイルを使用してデータセットをロードすることです。 コードは CocoCaptions の例と非常に似ていますが、CocoDetection を使用し、それに応じて異なるアノテーション構造を処理します。 出力を示すと非常に長く複雑になるため、ここでは省略します。

この改訂された回答では、重要な側面に焦点を当て、潜在的なエラーに対処しながら、コードとその機能についてより簡潔かつ明確に説明しています。 また、画像表示機能も改善され、読みやすくなりました。

以上がPyTorch の CocoCaption (2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート