ImageNet dalam PyTorch

Barbara Streisand
Lepaskan: 2025-01-04 22:25:40
asal
489 orang telah melayarinya

Beli Saya Kopi☕

*Siaran saya menerangkan ImageNet.

ImageNet() boleh menggunakan dataset ImageNet 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 dipecahkan(Pilihan-Lalai:"kereta"-Jenis:str): *Memo:
    • "kereta api"(1,281,167 imej) atau "val"(50,000 imej) boleh ditetapkan kepadanya.
    • "test"(100,000 imej) tidak disokong jadi saya meminta ciri itu pada GitHub.
  • Terdapat argumen transformasi(Pilihan-Lalai:Tiada-Jenis:boleh dipanggil). *transform= mesti digunakan.
  • Terdapat hujah target_transform(Optional-Default:None-Type:callable). - Terdapat argumen transformasi (Pilihan-Lalai:Tiada-Jenis:boleh dipanggil). *target_transform= mesti digunakan.
  • Terdapat hujah pemuat(Optional-Default:torchvision.datasets.folder.default_loader-Type:callable). *loader= mesti digunakan.
  • Anda perlu memuat turun set data secara manual (ILSVRC2012_devkit_t12.tar.gz, ILSVRC2012_img_train.tar dan ILSVRC2012_img_val.tar ke data/, kemudian menjalankan ekstrak ImageNet() dan memuatkan set data.
  • Mengenai label dari kelas untuk kereta api dan indeks imej pengesahan masing-masing, tench&Tinca tinca(0) ialah 0~1299 dan 0~49, ikan emas &Carassius auratus(1) ialah 1300~2599 dan 50~99, jerung putih besar&jerung putih&pemakan manusia&jerung pemakan manusia&Carcharodon carcharias(2) ialah 2600~3899 dan 100~149, jerung harimau&Galeocerdo cuvieri(3) ialah 3900~5199 dan 150~199, hammerhead&hammerhead&hammerhead (4) ialah 5200~6499 dan 200~249, sinar elektrik&crampfish&numbfish&torpedo(5) ialah 6500~7709~ 299, ikan pari(6) ialah 7800~9099 dan 250~299, ayam jantan(7) ialah 9100~10399 dan 300~349, ayam(8) ialah 1040 ~11699 dan 350~399, burung unta&Struthio camelus
  • (9) ialah 11700~12999 dan 400~449, dsb.
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")
Salin selepas log masuk

ImageNet in PyTorch

ImageNet in PyTorch

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

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan