Tempat di PyTorch

Susan Sarandon
Susan Sarandonasal
2024-12-29 12:08:15511semak imbas

Beli Saya Kopi☕

*Siaran saya menerangkan Places365.

Places365() boleh menggunakan dataset Places365 seperti yang ditunjukkan di bawah:

*Memo:

  • Argumen pertama ialah root(Required-Type:str or pathlib.Path). *Laluan mutlak atau relatif boleh dilakukan.
  • Argumen ke-2 dibahagikan(Pilihan-Lalai:"train-standard"-Type:str). *"train-standard"(1,803,460 imej), "train-challenge"(8,026,628 imej) atau "val"(36,500 imej) boleh ditetapkan padanya. "test"(328,500 imej) tidak disokong jadi saya meminta ciri tersebut pada GitHub.
  • Argumen ke-3 adalah kecil(Pilihan-Lalai:False-Type:bool).
  • Argumen ke-4 ialah muat turun(Optional-Default:False-Type:bool): *Memo:
    • Jika Benar, set data dimuat turun dari internet dan diekstrak (dibuka zip) ke akar.
    • Jika ia Benar dan set data sudah dimuat turun, ia akan diekstrak.
    • Jika ia Benar dan set data sudah dimuat turun dan diekstrak, ralat berlaku kerana folder yang diekstrak wujud. *Memadamkan folder yang diekstrak tidak akan mendapat ralat.
    • Ia sepatutnya Palsu jika set data sudah dimuat turun dan diekstrak untuk tidak mendapat ralat.
    • Dari sini:
      • untuk split="train-standard" dan small=False, anda boleh memuat turun dan mengekstrak set data filelist_places365-standard.tar secara manual dan train_large_places365standard.tar kepada data/ dan data/data_large_standard/ masing-masing.
      • untuk split="train-standard" dan small=True, anda boleh memuat turun dan mengekstrak set data filelist_places365-standard.tar secara manual dan train_256_places365standard.tar kepada data/ dan data/data_256_standard/ masing-masing.
      • untuk split="train-challenge" dan small=False, anda boleh memuat turun dan mengekstrak set data filelist_places365-challenge.tar secara manual dan train_large_places365challenge.tar kepada data/ dan data/data_large/ masing-masing.
      • untuk split="train-challenge" dan small=True, anda boleh memuat turun dan mengekstrak set data filelist_places365-challenge.tar secara manual dan train_256_places365challenge.tar kepada data/ dan data/data_256_challenge/ masing-masing.
      • untuk split="val" dan small=False, anda boleh memuat turun dan mengekstrak set data filelist_places365-standard.tar dan val_large.tar secara manual kepada data/ dan data/val_large/.
      • untuk split="val" dan small=True, anda boleh memuat turun dan mengekstrak set data filelist_places365-standard.tar dan val_large.tar secara manual kepada data/ dan data/val_256/ secara manual.
  • Argumen ke-5 ialah transform(Optional-Default:None-Type:callable).
  • Argumen ke-6 ialah target_transform(Optional-Default:None-Type:callable).
  • Argumen ke-7 ialah pemuat(Optional-Default:torchvision.datasets.folder.default_loader-Type:callable).
  • Mengenai label daripada kelas untuk indeks imej "standard kereta api", lapangan terbang(0) ialah 0~4999, kabin_kapal terbang(1) ialah 5000~9999, terminal_lapangan terbang(2) ialah 10000~14999, alcove(3) ialah 15000~19999, lorong(4) ialah 20000~24999, amfiteater(50)~2999 arked_amusement(6) ialah 30000~34999, amusement_park(7) ialah 35000~39999, bangunan_apartmen/luar rumah(8) ialah 35000~39999, bangunan_apartmen/luar(8) ialah 40
  • akuarium
  • (9) ialah 45000~49999, dsb. Mengenai label daripada kelas untuk indeks imej "cabaran kereta api", lapangan terbang(0) ialah 0~38566, kabin_kapal terbang(1) ialah 38567~47890, terminal_lapangan terbang(2) ialah 47891~74901, alcove(3) ialah 74902~98482, lorong(4) ialah 98483~137662, amfiteater(503) ialah 1,503 arked_amusement(6) ialah 150035~161051, amusement_park(7) ialah 161052~201051, bangunan_apartmen/luar rumah2~20) ialah 2~20)
  • akuarium
(9) ialah 227873~267872, dsb.
from torchvision.datasets import Places365
from torchvision.datasets.folder import default_loader

trainstd_large_data = Places365(
    root="data"
)

trainstd_large_data = Places365(
    root="data",
    split="train-standard",
    small=False,
    download=False,
    transform=None,
    target_transform=None,
    loader=default_loader
)

trainstd_small_data = Places365(
    root="data",
    split="train-standard",
    small=True
)

trainchal_large_data = Places365(
    root="data",
    split="train-challenge",
    small=False
)

trainchal_small_data = Places365(
    root="data",
    split="train-challenge",
    small=True
)

val_large_data = Places365(
    root="data",
    split="val",
    small=False
)

val_small_data = Places365(
    root="data",
    split="val",
    small=True
)

len(trainstd_large_data), len(trainstd_small_data)
# (1803460, 1803460)

len(trainchal_large_data), len(trainchal_small_data)
# (8026628, 8026628)

len(val_large_data), len(val_small_data)
# (36500, 36500)

trainstd_large_data
# Dataset Places365
#     Number of datapoints: 1803460
#     Root location: data
#     Split: train-standard
#     Small: False

trainstd_large_data.root
# 'data'

trainstd_large_data.split
# 'train-standard'

trainstd_large_data.small
# False

trainstd_large_data.download_devkit
trainstd_large_data.download_images
# <bound method Places365.download_devkit of Dataset Places365
#     Number of datapoints: 1803460
#     Root location: data
#     Split: train-standard
#     Small: False>

print(trainstd_large_data.transform)
# None

print(trainstd_large_data.target_transform)
# None

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

len(trainstd_large_data.classes), trainstd_large_data.classes
# (365,
#  ['/a/airfield', '/a/airplane_cabin', '/a/airport_terminal',
#   '/a/alcove', '/a/alley', '/a/amphitheater', '/a/amusement_arcade',
#   '/a/amusement_park', '/a/apartment_building/outdoor',
#   '/a/aquarium', '/a/aqueduct', '/a/arcade', '/a/arch',
#   '/a/archaelogical_excavation', ..., '/y/youth_hostel', '/z/zen_garden'])

trainstd_large_data[0]
# (<PIL.Image.Image image mode=RGB size=683x512>, 0)

trainstd_large_data[1]
# (<PIL.Image.Image image mode=RGB size=768x512>, 0)

trainstd_large_data[2]
# (<PIL.Image.Image image mode=RGB size=718x512>, 0)

trainstd_large_data[5000]
# (<PIL.Image.Image image mode=RGB size=512x683 at 0x1E7834F4770>, 1)

trainstd_large_data[10000]
# (<PIL.Image.Image image mode=RGB size=683x512 at 0x1E7834A8110>, 2)

trainstd_small_data[0]
# (<PIL.Image.Image image mode=RGB size=256x256>, 0)

trainstd_small_data[1]
# (<PIL.Image.Image image mode=RGB size=256x256>, 0)

trainstd_small_data[2]
# (<PIL.Image.Image image mode=RGB size=256x256>, 0)

trainstd_small_data[5000]
# (<PIL.Image.Image image mode=RGB size=256x256>, 1)

trainstd_small_data[10000]
# (<PIL.Image.Image image mode=RGB size=256x256>, 2)

trainchal_large_data[0]
# (<PIL.Image.Image image mode=RGB size=683x512 at 0x156E22BB680>, 0)

trainchal_large_data[1]
# (<PIL.Image.Image image mode=RGB size=768x512 at 0x156DF8213D0>, 0)

trainchal_large_data[2]
# (<PIL.Image.Image image mode=RGB size=718x512 at 0x156DF8213D0>, 0)

trainchal_large_data[38567]
# (<PIL.Image.Image image mode=RGB size=512x683 at 0x156DF8213D0>, 1)

trainchal_large_data[47891]
# (<PIL.Image.Image image mode=RGB size=683x512 at 0x156DF8213D0>, 2)

trainchal_small_data[0]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x2955B625CA0>, 0)

trainchal_small_data[1]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x2950D2A8350>, 0)

trainchal_small_data[2]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x2950D2A82C0>, 0)

trainchal_small_data[38567]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x2955B3BF6B0>, 1)

trainchal_small_data[47891]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x2955B3DD4F0>, 2)

val_large_data[0]
# (<PIL.Image.Image image mode=RGB size=512x772 at 0x295408DA750>, 165)

val_large_data[1]
# (<PIL.Image.Image image mode=RGB size=600x493 at 0x29561D468D0>, 358)

val_large_data[2]
# (<PIL.Image.Image image mode=RGB size=763x512 at 0x2955E09DD60>, 93)

val_large_data[3]
# (<PIL.Image.Image image mode=RGB size=827x512 at 0x29540938A70>, 164)

val_large_data[4]
# (<PIL.Image.Image image mode=RGB size=772x512 at 0x29562600650>, 289)

val_small_data[0]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x2950D34C500>, 165)

val_small_data[1]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x29540892870>, 358)

val_small_data[2]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x2954085DBB0>, 93)

val_small_data[3]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x29561E348C0>, 164)

val_small_data[4]
# (<PIL.Image.Image image mode=RGB size=256x256 at 0x29560A415B0>, 289)

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()

trainstd_ims = (0, 1, 2, 5000, 10000, 15000, 20000, 25000, 30000, 35000)
trainchal_ims = (0, 1, 2, 38567, 47891, 74902, 98483, 137663, 150035, 161052)
val_ims = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

show_images(data=trainstd_large_data, ims=trainstd_ims,
            main_title="trainstd_large_data")
show_images(data=trainstd_small_data, ims=trainstd_ims,
            main_title="trainstd_small_data")
show_images(data=trainchal_large_data, ims=trainchal_ims,
            main_title="trainchal_large_data")
show_images(data=trainchal_small_data, ims=trainchal_ims,
            main_title="trainchal_small_data")
show_images(data=val_large_data, ims=val_ims,
            main_title="val_large_data")
show_images(data=val_small_data, ims=val_ims,
            main_title="val_small_data")

Places in PyTorch

Places in PyTorch

Places in PyTorch

Places in PyTorch

Places in PyTorch

Places in PyTorch

Atas ialah kandungan terperinci Tempat di PyTorch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn