*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:str
orpathlib.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
False
because if it'sTrue
, error occurs because the original URL is broken. - So, you need to manually download and extract
archive.zip
from here,archive.zip
from here and car_devkit.tgz todata/stanford_cars/
as shown below: *Memos:-
cars_test_annos_withlabels (1).mat
needs to be renamed tocars_test_annos_withlabels.mat
. -
cars_annos.mat
andcars_annos (2).mat
isn'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)