PyTorch의 OxfordIIITPet
커피 한잔 사주세요😄
*내 게시물은 Oxford-IIIT Pet에 대한 설명입니다.
OxfordIIITPet()은 아래와 같이 Oxford-IIIT Pet 데이터세트를 사용할 수 있습니다.
*메모:
- 첫 번째 인수는 루트(필수 유형:str 또는 pathlib.Path)입니다. *절대경로, 상대경로 모두 가능합니다.
- 두 번째 인수는 분할(Optional-Default:"train"-Type:str)입니다. *"trainval"(3,680 이미지) 또는 "test"(3,669 이미지)를 설정할 수 있습니다.
- 세 번째 인수는 target_types(Optional-Default:"attr"-Type:str 또는 list of str)입니다.
*메모:
- "category", "binary-category" 및/또는 "segmentation"을 설정할 수 있습니다. *메모:
- "카테고리"는 37개 카테고리(클래스)의 라벨입니다.
- "binary-category"는 고양이(0) 또는 개(1) 레이블에 대한 것입니다.
- "segmentation"은 분할 트라이맵 이미지를 위한 것입니다.
- 빈 튜플이나 리스트도 여기에 설정할 수 있습니다.
- 동일한 값을 여러 개 설정할 수 있습니다.
- 값의 순서가 다르면 요소의 순서도 다릅니다.
- 네 번째 인수는 변환(Optional-Default:None-Type:callable)입니다.
- 5번째 인수는 target_transform(Optional-Default:None-Type:callable)입니다.
- 여섯 번째 인수는 download(Optional-Default:False-Type:bool)입니다.
*메모:
- True인 경우 데이터 세트가 인터넷에서 다운로드되어 루트에 추출(압축 해제)됩니다.
- True이고 데이터세트가 이미 다운로드된 경우 추출됩니다.
- True이고 데이터 세트가 이미 다운로드되어 추출된 경우 아무 일도 일어나지 않습니다.
- 데이터 세트가 이미 다운로드되어 추출된 경우 더 빠르므로 False여야 합니다.
- 여기에서 데이터 세트(images.tar.gz 및 Annotation.tar.gz)를 data/oxford-iiit-pet/에 수동으로 다운로드하고 추출할 수 있습니다.
- 열차 이미지 인덱스에 대한 카테고리(클래스)의 라벨을 보면, Abyssinian(0)은 0~49, American Bulldog(1)은 50~99, 아메리칸 핏불테리어(2)는 100~149, 바셋하운드(3)는 150~199, 비글(4)은 200~249, 벵갈(5)은 250~299, 버만 (6)은 300~349이고, 봄베이(7)는 350~398, 복서(8)는 399~448, 브리티시 쇼트헤어(9)는 449~498 등
- 테스트 이미지 인덱스에 대한 카테고리(클래스)의 라벨을 보면, Abyssinian(0)은 0~97, American Bulldog(1)은 98~197, 아메리칸 핏불테리어(2)는 198~297, 바셋하운드(3)는 298~397, 비글(4)은 398~497, 벵갈(5)은 498~597, 버만 (6)은 598~697이고, 봄베이(7)는 698~785, 복서(8)는 786~884, 브리티시 쇼트헤어(9)는 885~984 등입니다.
from torchvision.datasets import OxfordIIITPet trainval_cate_data = OxfordIIITPet( root="data" ) trainval_cate_data = OxfordIIITPet( root="data", split="trainval", target_types="category", transform=None, target_transform=None, download=False ) trainval_bincate_data = OxfordIIITPet( root="data", split="trainval", target_types="binary-category" ) test_seg_data = OxfordIIITPet( root="data", split="test", target_types="segmentation" ) test_empty_data = OxfordIIITPet( root="data", split="test", target_types=[] ) test_all_data = OxfordIIITPet( root="data", split="test", target_types=["category", "binary-category", "segmentation"] ) len(trainval_cate_data), len(trainval_bincate_data) # (3680, 3680) len(test_seg_data), len(test_empty_data), len(test_all_data) # (3669, 3669, 3669) trainval_cate_data # Dataset OxfordIIITPet # Number of datapoints: 3680 # Root location: data trainval_cate_data.root # 'data' trainval_cate_data._split # 'trainval' trainval_cate_data._target_types # ['category'] print(trainval_cate_data.transform) # None print(trainval_cate_data.target_transform) # None trainval_cate_data._download # <bound method OxfordIIITPet._download of Dataset OxfordIIITPet # Number of datapoints: 3680 # Root location: data> len(trainval_cate_data.classes), trainval_cate_data.classes # (37, # ['Abyssinian', 'American Bulldog', 'American Pit Bull Terrier', # 'Basset Hound', 'Beagle', 'Bengal', 'Birman', 'Bombay', 'Boxer', # 'British Shorthair', ..., 'Wheaten Terrier', 'Yorkshire Terrier']) trainval_cate_data[0] # (<PIL.Image.Image image mode=RGB size=394x500>, 0) trainval_cate_data[1] # (<PIL.Image.Image image mode=RGB size=450x313>, 0) trainval_cate_data[2] # (<PIL.Image.Image image mode=RGB size=500x465>, 0) trainval_bincate_data[0] # (<PIL.Image.Image image mode=RGB size=394x500>, 0) trainval_bincate_data[1] # (<PIL.Image.Image image mode=RGB size=450x313>, 0) trainval_bincate_data[2] # (<PIL.Image.Image image mode=RGB size=500x465>, 0) test_seg_data[0] # (<PIL.Image.Image image mode=RGB size=300x225>, # <PIL.PngImagePlugin.PngImageFile image mode=L size=300x225>) test_seg_data[1] # (<PIL.Image.Image image mode=RGB size=300x225>, # <PIL.PngImagePlugin.PngImageFile image mode=L size=300x225>) test_seg_data[2] # (<PIL.Image.Image image mode=RGB size=229x300>, # <PIL.PngImagePlugin.PngImageFile image mode=L size=229x300>) test_empty_data[0] # (<PIL.Image.Image image mode=RGB size=300x225>, None) test_empty_data[1] # (<PIL.Image.Image image mode=RGB size=300x225>, None) test_empty_data[2] # (<PIL.Image.Image image mode=RGB size=229x300>, None) test_all_data[0] # (<PIL.Image.Image image mode=RGB size=300x225>, # (0, 0, <PIL.PngImagePlugin.PngImageFile image mode=L size=300x225>)) test_all_data[1] # (<PIL.Image.Image image mode=RGB size=300x225>, # (0, 0, <PIL.PngImagePlugin.PngImageFile image mode=L size=300x225>)) test_all_data[2] # (<PIL.Image.Image image mode=RGB size=229x300>, # (0, 0, <PIL.PngImagePlugin.PngImageFile image mode=L size=229x300>)) import matplotlib.pyplot as plt def show_images(data, ims, main_title=None): if len(data._target_types) == 0: plt.figure(figsize=(12, 6)) plt.suptitle(t=main_title, y=1.0, fontsize=14) for i, j in enumerate(ims, start=1): plt.subplot(2, 5, i) im, _ = data[j] plt.imshow(X=im) elif len(data._target_types) == 1: if data._target_types[0] == "category": plt.figure(figsize=(12, 6)) plt.suptitle(t=main_title, y=1.0, fontsize=14) for i, j in enumerate(ims, start=1): plt.subplot(2, 5, i) im, cate = data[j] plt.title(label=cate) plt.imshow(X=im) elif data._target_types[0] == "binary-category": plt.figure(figsize=(12, 6)) plt.suptitle(t=main_title, y=1.0, fontsize=14) for i, j in enumerate(ims, start=1): plt.subplot(2, 5, i) im, bincate = data[j] plt.title(label=bincate) plt.imshow(X=im) elif data._target_types[0] == "segmentation": plt.figure(figsize=(12, 12)) plt.suptitle(t=main_title, y=1.0, fontsize=14) for i, j in enumerate(ims, start=1): im, seg = data[j] if 1 <= i and i <= 5: plt.subplot(4, 5, i) plt.imshow(X=im) plt.subplot(4, 5, i+5) plt.imshow(X=seg) if 6 <= i and i <= 10: plt.subplot(4, 5, i+5) plt.imshow(X=im) plt.subplot(4, 5, i+10) plt.imshow(X=seg) elif len(data._target_types) == 3: plt.figure(figsize=(12, 12)) plt.suptitle(t=main_title, y=1.0, fontsize=14) for i, j in enumerate(ims, start=1): im, (cate, bincate, seg) = data[j] if 1 <= i and i <= 5: plt.subplot(4, 5, i) plt.title(label=f"{cate}, {bincate}") plt.imshow(X=im) plt.subplot(4, 5, i+5) plt.imshow(X=seg) if 6 <= i and i <= 10: plt.subplot(4, 5, i+5) plt.title(label=f"{cate}, {bincate}") plt.imshow(X=im) plt.subplot(4, 5, i+10) plt.imshow(X=seg) plt.tight_layout(h_pad=3.0) plt.show() train_ims = (0, 1, 2, 50, 100, 150, 200, 250, 300, 350) test_ims = (0, 1, 2, 98, 198, 298, 398, 498, 598, 698) show_images(data=trainval_cate_data, ims=train_ims, main_title="trainval_cate_data") show_images(data=trainval_bincate_data, ims=train_ims, main_title="trainval_bincate_data") show_images(data=test_seg_data, ims=test_ims, main_title="test_seg_data") show_images(data=test_empty_data, ims=test_ims, main_title="test_empty_data") show_images(data=test_all_data, ims=test_ims, main_title="test_all_data")
위 내용은 PyTorch의 OxfordIIITPet의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Linux 터미널에서 Python 사용 ...

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Pythonasyncio에 대해 ...

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.

Python 3.6에 피클 파일 로딩 3.6 환경 오류 : ModulenotFounderRor : nomodulename ...

SCAPY 크롤러를 사용할 때 파이프 라인 파일을 작성할 수없는 이유에 대한 논의 지속적인 데이터 저장을 위해 SCAPY 크롤러를 사용할 때 파이프 라인 파일이 발생할 수 있습니다 ...
