Heim > Backend-Entwicklung > Python-Tutorial > QMNIST in PyTorch

QMNIST in PyTorch

Patricia Arquette
Freigeben: 2024-12-11 16:01:11
Original
959 Leute haben es durchsucht

Kauf mir einen Kaffee☕

*Mein Beitrag erklärt QMNIST.

QMNIST() kann den QMNIST-Datensatz wie unten gezeigt verwenden:

*Memos:

  • Das 1. Argument ist root(Required-Type:str oder pathlib.Path). *Ein absoluter oder relativer Pfad ist möglich.
  • Das 2. Argument ist what(Optional-Default:None-Type:str). *Es können „train“ (60.000 Bilder), „test“ (60.000 Bilder), „test10k“ (10.000 Bilder), „test50k“ (50.000 Bilder) oder „nist“ (402.953 Bilder) eingestellt werden.
  • Das dritte Argument ist kompatibel (Optional-Default:True-Type:bool). *Wenn es „True“ ist, wird die Klassennummer jedes Bildes zurückgegeben (aus Gründen der Kompatibilität mit dem MNIST-Datenlader), während wenn es „False“ ist, der 1D-Tensor der vollständigen qmnist-Informationen zurückgegeben wird.
  • Das 4. Argument ist das Zugargument (Optional-Default:True-Type:bool): *Memos:
    • Es wird ignoriert, wenn etwas nicht „Keine“ ist.
    • Wenn es wahr ist, werden Trainingsdaten (60.000 Bilder) verwendet, während wenn es falsch ist, Testdaten (60.000 Bilder) verwendet werden.
  • Es gibt ein Transformationsargument (Optional-Default:None-Type:callable). *transform= muss verwendet werden.
  • Es gibt das Argument target_transform (Optional-Default:None-Type:callable). *target_transform= muss verwendet werden.
  • Es gibt ein Download-Argument (Optional-Default:False-Type:bool): *Memos:
    • download= muss verwendet werden.
    • Wenn es wahr ist, wird der Datensatz aus dem Internet heruntergeladen und in das Stammverzeichnis extrahiert (entpackt).
    • Wenn es „True“ ist und der Datensatz bereits heruntergeladen wurde, wird er extrahiert.
    • Wenn es „True“ ist und der Datensatz bereits heruntergeladen und extrahiert wurde, passiert nichts.
    • Es sollte „False“ sein, wenn der Datensatz bereits heruntergeladen und extrahiert wurde, da es schneller ist.
    • Sie können den Datensatz hier manuell herunterladen und extrahieren, um ihn z. data/QMNIST/raw/.
from torchvision.datasets import QMNIST

train_data = QMNIST(
    root="data"
)

train_data = QMNIST(
    root="data",
    what=None,
    compat=True,
    train=True,
    transform=None,
    target_transform=None,
    download=False
)

train_data = QMNIST(
    root="data",
    what="train",
    train=False
)

test_data1 = QMNIST(
    root="data",
    train=False
)

test_data1 = QMNIST(
    root="data",
    what="test",
    train=True
)

test_data2 = QMNIST(
    root="data",
    what="test10k"
)

test_data3 = QMNIST(
    root="data",
    what="test50k",
    compat=False
)

nist_data = QMNIST(
    root="data",
    what="nist"
)

l = len
l(train_data), l(test_data1), l(test_data2), l(test_data3), l(nist_data)
# (60000, 60000, 10000, 50000, 402953)

train_data
# Dataset QMNIST
#     Number of datapoints: 60000
#     Root location: data
#     Split: train

train_data.root
# 'data'

train_data.what
# 'train'

train_data.compat
# True

train_data.train
# True

print(train_data.transform)
# None

print(train_data.target_transform)
# None

train_data.download
# <bound method QMNIST.download of Dataset QMNIST
#     Number of datapoints: 60000
#     Root location: data
#     Split: train>

train_data[0]
# (<PIL.Image.Image image mode=L size=28x28>, 5)

test_data3[0]
# (<PIL.Image.Image image mode=L size=28x28>,
#  tensor([3, 4, 2424, 51, 33, 261051, 0, 0]))

train_data[1]
# (<PIL.Image.Image image mode=L size=28x28>, 0)

test_data3[1]
# (<PIL.Image.Image image mode=L size=28x28>,
#  tensor([8, 1, 522, 60, 38, 55979, 0, 0]))

train_data[2]
# (<PIL.Image.Image image mode=L size=28x28>, 4)

test_data3[2]
# (<PIL.Image.Image image mode=L size=28x28>,
#  tensor([9, 4, 2496, 115, 39, 269531, 0, 0]))

train_data[3]
# (<PIL.Image.Image image mode=L size=28x28>, 1)

test_data3[3]
# (<PIL.Image.Image image mode=L size=28x28>,
#  tensor([5, 4, 2427, 77, 35, 261428, 0, 0]))

train_data[4]
# (<PIL.Image.Image image mode=L size=28x28>, 9)

test_data3[4]
# (<PIL.Image.Image image mode=L size=28x28>,
#  tensor([7, 4, 2524, 69, 37, 272828, 0, 0]))

train_data.classes
# ['0 - zero', '1 - one', '2 - two', '3 - three', '4 - four',
#  '5 - five', '6 - six', '7 - seven', '8 - eight', '9 - nine']
Nach dem Login kopieren
from torchvision.datasets import QMNIST

train_data = QMNIST(
    root="data",
    what="train"
)

test_data1 = QMNIST(
    root="data",
    what="test"
)

test_data2 = QMNIST(
    root="data",
    what="test10k"
)

test_data3 = QMNIST(
    root="data",
    what="test50k"
)

nist_data = QMNIST(
    root="data",
    what="nist"
)

import matplotlib.pyplot as plt

def show_images(data):
    plt.figure(figsize=(12, 2))
    col = 5
    for i, (image, label) in enumerate(data, 1):
        plt.subplot(1, col, i)
        plt.title(label)
        plt.imshow(image)
        if i == col:
            break
    plt.show()

show_images(data=train_data)
show_images(data=test_data1)
show_images(data=test_data2)
show_images(data=test_data3)
show_images(data=nist_data)
Nach dem Login kopieren

QMNIST in PyTorch

Das obige ist der detaillierte Inhalt vonQMNIST in PyTorch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage