이 게시물은 torchvision.datasets.CocoCaptions
및 torchvision.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>
CocoDetection 예(예시):
원본 게시물에는 다양한 주석 유형으로 CocoDetection
을 로드하는 예가 나와 있습니다. 주석이 누락되거나 형식이 잘못된 경우를 관리하려면 프로덕션 코드에 오류 처리가 필요하다는 점을 기억하세요. 핵심 개념은 원하는 작업(예: 객체 감지, 키포인트 감지, 물건 분할)에 따라 다양한 주석 파일을 사용하여 데이터 세트를 로드하는 것입니다. 코드는 CocoCaptions
예제와 매우 유사하지만 CocoDetection
를 사용하고 이에 따라 다른 주석 구조를 처리합니다. 출력을 표시하는 것은 매우 길고 복잡하므로 여기서는 생략합니다.
이 수정된 답변은 주요 측면에 초점을 맞추고 잠재적인 오류를 해결하면서 코드와 해당 기능에 대한 더 간결하고 명확한 설명을 제공합니다. 또한 가독성을 높이기 위해 이미지 표시 기능도 개선했습니다.
위 내용은 PyTorch의 CocoCaptions (2)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!