Home > Backend Development > Python Tutorial > CIFAR in PyTorch

CIFAR in PyTorch

Susan Sarandon
Release: 2024-12-16 17:15:15
Original
812 people have browsed it

Buy Me a Coffee☕

*My post explains CIFAR-100.

CIFAR100() can use CIFAR-100 dataset as shown below:

*Memos:

  • The 1st argument is root(Required-Type:str or pathlib.Path). *An absolute or relative path is possible.
  • The 2nd argument is train(Optional-Default:True-Type:bool). *If it's True, train data(50,000 images) is used while if it's False, test data(10,000 images) is used.
  • The 3rd argument is transform(Optional-Default:None-Type:callable).
  • The 4th argument is target_transform(Optional-Default:None-Type:callable).
  • The 5th argument is download(Optional-Default:False-Type:bool): *Memos:
    • If it's True, the dataset is downloaded from the internet and extracted(unzipped) to root.
    • If it's True and the dataset is already downloaded, it's extracted.
    • If it's True and the dataset is already downloaded and extracted, nothing happens.
    • It should be False if the dataset is already downloaded and extracted because it's faster.
    • You can manually download and extract the dataset(cifar-100-python.tar.gz) from here to data/cifar-100-python/.
from torchvision.datasets import CIFAR100

train_data = CIFAR100(
    root="data"
)

train_data = CIFAR100(
    root="data",
    train=True,
    transform=None,
    target_transform=None,
    download=False
)

test_data = CIFAR100(
    root="data",
    train=False
)

len(train_data), len(test_data)
# (50000, 10000)

train_data
# Dataset CIFAR100
#     Number of datapoints: 50000
#     Root location: data
#     Split: Train

train_data.root
# 'data'

train_data.train
# True

print(train_data.transform)
# None

print(train_data.target_transform)
# None

train_data.download
# <bound method CIFAR10.download of Dataset CIFAR100
#    Number of datapoints: 50000
#    Root location: data
#    Split: Train>

len(train_data.classes), train_data.classes
# (100,
#  ['apple', 'aquarium_fish', 'baby', 'bear', 'beaver', 'bed',
#   'bicycle', 'bottle', 'bowl', ..., 'wolf', 'woman', 'worm']

train_data[0]
# (<PIL.Image.Image image mode=RGB size=32x32>, 19)

train_data[1]
# (<PIL.Image.Image image mode=RGB size=32x32>, 29)

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

train_data[3]
# (<PIL.Image.Image image mode=RGB size=32x32>, 11)

train_data[4]
# (<PIL.Image.Image image mode=RGB size=32x32>, 1)

import matplotlib.pyplot as plt

def show_images(data, main_title=None):
    plt.figure(figsize=(10, 5))
    plt.suptitle(t=main_title, y=1.0, fontsize=14)
    for i, (im, lab) in enumerate(data, start=1):
        plt.subplot(2, 5, i)
        plt.title(label=lab)
        plt.imshow(X=im)
        if i == 10:
            break
    plt.tight_layout()
    plt.show()

show_images(data=train_data, main_title="train_data")
show_images(data=test_data, main_title="test_data")
Copy after login

CIFAR in PyTorch

CIFAR in PyTorch

The above is the detailed content of CIFAR in PyTorch. For more information, please follow other related articles on the PHP Chinese website!

source:dev.to
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template