请我喝杯咖啡☕

*我的帖子解释了斯坦福汽车。

stanfordcars()可以使用stanford cars数据集,如下所示:

*备忘录:

  • 第一个参数是 root(必需类型:str 或 pathlib.path)。 *绝对或相对路径都是可能的。
  • 第二个参数是 split(可选-默认:"train"-类型:str)。 *可以设置“train”(8,144张图片)或“test”(8,041张图片)。
  • 第三个参数是transform(optional-default:none-type:callable)。
  • 第四个参数是 target_transform(optional-default:none-type:callable)。
  • 第五个参数是 download(optional-default:false-type:bool): *备注:
    • 保留为 false,因为如果为 true,则会发生错误,因为原始 url 已损坏。
    • 因此,您需要从这里手动下载并解压 archive.zip,从这里解压 archive.zip 以及 car_devkit.tgz 到 data/stanford_cars/ ,如下所示: *备注:
      • cars_test_annos_withlabels (1).mat 需要重命名为 cars_test_annos_withlabels.mat。
      • cars_annos.mat 和 cars_annos (2).mat 不需要,并且还有一些重复的文件。
      • 您还可以查看说明。

data
 └-stanford_cars
    |-cars_test_annos_withlabels.mat
    |-cars_test
    |  └-*.jpg
    |-cars_train
    |  └-*.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")

show_images(data=train_data, ims=train_ims, main_title="train_data")
show_images(data=train_data, ims=val_ims, main_title="val_data")
show_images(data=test_data, ims=test_ims, main_title="test_data")

登录后复制

PyTorch 中的斯坦福汽车  第1张

PyTorch 中的斯坦福汽车  第2张

以上就是PyTorch 中的斯坦福汽车的详细内容,更多请关注科技号其它相关文章!