> 백엔드 개발 > 파이썬 튜토리얼 > PyTorch의 ImageNet

PyTorch의 ImageNet

Barbara Streisand
풀어 주다: 2025-01-04 22:25:40
원래의
488명이 탐색했습니다.

커피 한잔 사주세요😄

*내 게시물은 ImageNet에 대해 설명합니다.

ImageNet()은 아래와 같이 ImageNet 데이터세트를 사용할 수 있습니다.

*메모:

  • 첫 번째 인수는 루트(필수 유형:str 또는 pathlib.Path)입니다. *절대경로, 상대경로 모두 가능합니다.
  • 두 번째 인수는 분할입니다(Optional-Default:"train"-Type:str): *메모:
    • "train"(1,281,167 이미지) 또는 "val"(50,000 이미지)을 설정할 수 있습니다.
    • "test"(100,000개 이미지)는 지원되지 않아서 GitHub에 기능을 요청했습니다.
  • Transform 인수(Optional-Default:None-Type:callable)가 있습니다. *transform=을 사용해야 합니다.
  • target_transform 인수(Optional-Default:None-Type:callable)가 있습니다. - 변환인수(Optional-Default:None-Type:callable)가 있습니다. *target_transform=을 반드시 사용해야 합니다.
  • 로더 인수(Optional-Default:torchvision.datasets.folder.default_loader-Type:callable)가 있습니다. *로더=를 사용해야 합니다.
  • 데이터세트(ILSVRC2012_devkit_t12.tar.gz, ILSVRC2012_img_train.tar 및 ILSVRC2012_img_val.tar)를 data/에 수동으로 다운로드한 후 ImageNet()을 실행하면 데이터세트가 추출되어 로드됩니다.
  • 트레인 및 검증 이미지 인덱스에 대한 클래스의 레이블에 대해 각각 tench&Tincatinca(0)는 0~1299 및 0~49, goldfish입니다. &Carassius auratus(1)은 1300~2599 그리고 50~99, 대백상어&백상어&식인&식인상어&카르차로돈 카르차리아(2)는 2600~3899입니다 그리고 100~149, tiger shark&Galeocerdo cuvieri(3)는 3900~5199이고 150~199, hammerhead&hammerhead shark입니다. (4)는 5200~6499이고 200~249, 전기가오리&크랩피쉬&마비피쉬&어뢰(5)는 6500~7799, 250~299, 가오리(6)는 7800~9099 및 250~299, (7)은 9100~10399 및 300~349, (8)은 10400~11699 및 350~399, 타조&Struthio camelus(9)는 11700~12999, 400~449 등입니다.
from torchvision.datasets import ImageNet
from torchvision.datasets.folder import default_loader

train_data = ImageNet(
    root="data"
)

train_data = ImageNet(
    root="data",
    split="train",
    transform=None,
    target_transform=None,
    loader=default_loader
)

val_data = ImageNet(
    root="data",
    split="val"
)

len(train_data), len(val_data)
# (1281167, 50000)

train_data
# Dataset ImageNet
#     Number of datapoints: 1281167
#     Root location: D:/data
#     Split: train

train_data.root
# 'data'

train_data.split
# 'train'

print(train_data.transform)
# None

print(train_data.target_transform)
# None

train_data.loader
# <function torchvision.datasets.folder.default_loader(path: str) -> Any>

len(train_data.classes), train_data.classes
# (1000,
#  [('tench', 'Tinca tinca'), ('goldfish', 'Carassius auratus'),
#   ('great white shark', 'white shark', 'man-eater', 'man-eating shark',
#    'Carcharodon carcharias'), ('tiger shark', 'Galeocerdo cuvieri'),
#   ('hammerhead', 'hammerhead shark'), ('electric ray', 'crampfish',
#    'numbfish', 'torpedo'), ('stingray',), ('cock',), ('hen',),
#   ('ostrich', 'Struthio camelus'), ..., ('bolete',), ('ear', 'spike',
#    'capitulum'), ('toilet tissue', 'toilet paper', 'bathroom tissue')])

train_data[0]
# (<PIL.Image.Image image mode=RGB size=250x250>, 0)

train_data[1]
# (<PIL.Image.Image image mode=RGB size=200x150>, 0)

train_data[2]
# (<PIL.Image.Image image mode=RGB size=500x375>, 0)

train_data[1300]
# (<PIL.Image.Image image mode=RGB size=640x480>, 1)

train_data[2600]
# (<PIL.Image.Image image mode=RGB size=500x375>, 2)

val_data[0]
# (<PIL.Image.Image image mode=RGB size=500x375>, 0)

val_data[1]
# (<PIL.Image.Image image mode=RGB size=500x375>, 0)

val_data[2]
# (<PIL.Image.Image image mode=RGB size=500x375>, 0)

val_data[50]
# (<PIL.Image.Image image mode=RGB size=500x500>, 1)

val_data[100]
# (<PIL.Image.Image image mode=RGB size=679x444>, 2)

import matplotlib.pyplot as plt

def show_images(data, ims, main_title=None):
    plt.figure(figsize=[12, 6])
    plt.suptitle(t=main_title, y=1.0, fontsize=14)
    for i, j in enumerate(iterable=ims, start=1):
        plt.subplot(2, 5, i)
        im, lab = data[j]
        plt.imshow(X=im)
        plt.title(label=lab)
    plt.tight_layout(h_pad=3.0)
    plt.show()

train_ims = [0, 1, 2, 1300, 2600, 3900, 5200, 6500, 7800, 9100]
val_ims = [0, 1, 2, 50, 100, 150, 200, 250, 300, 350]

show_images(data=train_data, ims=train_ims, main_title="train_data")
show_images(data=val_data, ims=val_ims, main_title="val_data")
로그인 후 복사

ImageNet in PyTorch

ImageNet in PyTorch

위 내용은 PyTorch의 ImageNet의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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