*Memos:
- My post explains Stanford Cars.
- My post explains OxfordIIITPet().
- My post explains Flowers102().
StanfordCars() can use Stanford Cars dataset as shown below:
*Memos:
- The 1st argument is
root(Required-Type:strorpathlib.Path). *An absolute or relative path is possible. - The 2nd argument is
split(Optional-Default:"train"-Type:str). *"train"(8,144 images) or"test"(8,041 images) can be set to it. - 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:- Keep it
Falsebecause if it'sTrue, error occurs because the original URL is broken. - So, you need to manually download and extract
archive.zipfrom here,archive.zipfrom here and car_devkit.tgz todata/stanford_cars/as shown below: *Memos:-
cars_test_annos_withlabels (1).matneeds to be renamed tocars_test_annos_withlabels.mat. -
cars_annos.matandcars_annos (2).matisn't needed and there are some duplicated files as well. - You can also see the instruction.
-
- Keep it
data
└-stanford_cars
|-cars_test_annos_withlabels.mat
|-cars_test
| |-00001.jpg
| |-00002.jpg
| |-00003.jpg
| ...
|-cars_train
| |-00001.jpg
| |-00002.jpg
| |-00003.jpg
| ...
└-devkit
|-cars_meta.mat
|-cars_test_annos.mat
|-cars_train_annos.mat
|-eval_train.m
|-README.txt
└-train_perfect_preds.txt
from torchvision.datasets import StanfordCars
train_data = StanfordCars(
root="data"
)
train_data = StanfordCars(
root="data",
split="train",
transform=None,
target_transform=None,
download=False
)
test_data = StanfordCars(
root="data",
split="test"
)
len(train_data), len(test_data)
# (8144, 8041)
train_data
# Dataset StanfordCars
# Number of datapoints: 8144
# Root location: data
train_data.root
# 'data'
train_data._split
# 'train'
print(train_data.transform)
# None
print(train_data.target_transform)
# None
train_data.download
# <bound method StanfordCars.download of Dataset StanfordCars
# Number of datapoints: 8144
# Root location: data>
len(train_data.classes), train_data.classes
# (196,
# ['AM General Hummer SUV 2000', 'Acura RL Sedan 2012', 'Acura TL Sedan 2012',
# 'Acura TL Type-S 2008', ..., 'Volvo 240 Sedan 1993',
# 'Volvo XC90 SUV 2007', 'smart fortwo Convertible 2012'])
train_data[0]
# (<PIL.Image.Image image mode=RGB size=600x400>, 13)
train_data[1]
# (<PIL.Image.Image image mode=RGB size=900x675>, 2)
train_data[2]
# (<PIL.Image.Image image mode=RGB size=640x480>, 90)
train_data[3]
# (<PIL.Image.Image image mode=RGB size=2100x1386>, 133)
train_data[4]
# (<PIL.Image.Image image mode=RGB size=144x108>, 105)
import matplotlib.pyplot as plt
def show_images(data, main_title=None):
plt.figure(figsize=(12, 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)