> 백엔드 개발 > 파이썬 튜토리얼 > PyTorch의 CocoCaptions (2)

PyTorch의 CocoCaptions (2)

Susan Sarandon
풀어 주다: 2025-01-09 08:14:41
원래의
489명이 탐색했습니다.

이 게시물은 torchvision.datasets.CocoCaptionstorchvision.datasets.CocoDetection과 함께 MS COCO 데이터 세트를 사용하는 방법을 보여줍니다. 데이터 세트의 다양한 하위 집합을 사용하여 이미지 캡션 작성 및 개체 감지 작업을 위한 데이터 로드를 살펴보겠습니다.

아래 예에서는 해당 이미지 디렉토리(captions_*.json, instances_*.json와 함께 다양한 COCO 주석 파일(person_keypoints_*.json, stuff_*.json, panoptic_*.json, image_info_*.json, train2017, val2017)을 활용합니다. , test2017). CocoDetection는 다양한 특수효과 유형을 처리하는 반면 CocoCaptions는 주로 캡션에 중점을 둡니다.

CocoCaptions 예:

이 섹션에서는 train2017을 사용하여 val2017, test2017, 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의 CocoCaptions (2)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿