*Memos:
CIFAR100() can use CIFAR-100 dataset as shown below:
*Memos:
- The 1st argument is
root
(Required-Type:str
orpathlib.Path
). *An absolute or relative path is possible. - The 2nd argument is
train
(Optional-Default:True
-Type:bool
). *If it'sTrue
, train data(50,000 images) is used while if it'sFalse
, 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) toroot
. - 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 todata/cifar-100-python/
.
- If it's
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 zip(range(1, 11), data): plt.subplot(2, 5, i) plt.imshow(X=im) plt.title(label=lab) plt.tight_layout() plt.show() show_images(data=train_data, main_title="train_data") show_images(data=test_data, main_title="test_data")
Top comments (0)