请我喝杯咖啡☕
*我的帖子解释了牛津 102 花。
flowers102()可以使用oxford 102 flower数据集,如下所示:
*备忘录:
- 第一个参数是 root(必需类型:str 或 pathlib.path)。 *绝对或相对路径都是可能的。
- 第二个参数是 split(可选-默认:"train"-类型:str)。 *可以设置“train”(1,020张图片)、“val”(1,020张图片)或“test”(6,149张图片)。
- 第三个参数是transform(optional-default:none-type:callable)。
- 第四个参数是 target_transform(optional-default:none-type:callable)。
- 第五个参数是 download(optional-default:false-type:bool):
*备注:
- 如果为 true,则从互联网下载数据集并解压(解压)到根目录。
- 如果为 true 并且数据集已下载,则将其提取。
- 如果为 true 并且数据集已下载并提取,则不会发生任何事情。
- 如果数据集已经下载并提取,则应该为 false,因为它速度更快。
- 您可以从此处手动下载并提取数据集(102flowers.tgz 以及 imagelabels.mat 和 setid.matff 到 data/flowers-102/。
- 关于训练和验证图像索引的类别(类)的标签,0是0~9,1是10~19,2是20~29,3是30~39,4是40~49, 5为50~59,6为60~69,7为70~79,8为80~89,9为90~99等
- 关于测试图像索引的类别(类)标签,0为0~19,1为20~59,2为60~79,3为80~115,4为116~160,5为161~185,6为186~205,7为206~270,8为271~296,9为297~321等。
from torchvision.datasets import Flowers102 train_data = Flowers102( root="data" ) train_data = Flowers102( root="data", split="train", transform=None, target_transform=None, download=False ) val_data = Flowers102( root="data", split="val" ) test_data = Flowers102( root="data", split="test" ) len(train_data), len(val_data), len(test_data) # (1020, 1020, 6149) train_data # Dataset Flowers102 # Number of datapoints: 1020 # Root location: data # split=train train_data.root # 'data' train_data._split # 'train' print(train_data.transform) # None print(train_data.target_transform) # None train_data.download # <bound method Flowers102.download of Dataset Flowers102 # Number of datapoints: 1020 # Root location: data # split=train> len(set(train_data._labels)), train_data._labels # (102, # [0, 0, 0, ..., 1, ..., 2, ..., 3, ..., 4, ..., 5, ..., 6, ..., 101]) train_data[0] # (<PIL.Image.Image image mode=RGB size=754x500>, 0) train_data[1] # (<PIL.Image.Image image mode=RGB size=624x500>, 0) train_data[2] # (<PIL.Image.Image image mode=RGB size=667x500>, 0) train_data[10] # (<PIL.Image.Image image mode=RGB size=500x682>, 1) train_data[20] # (<PIL.Image.Image image mode=RGB size=667x500>, 2) val_data[0] # (<PIL.Image.Image image mode=RGB size=606x500>, 0) val_data[1] # (<PIL.Image.Image image mode=RGB size=667x500>, 0) val_data[2] # (<PIL.Image.Image image mode=RGB size=500x628>, 0) val_data[10] # (<PIL.Image.Image image mode=RGB size=500x766>, 1) val_data[20] # (<PIL.Image.Image image mode=RGB size=624x500>, 2) test_data[0] # (<PIL.Image.Image image mode=RGB size=523x500>, 0) test_data[1] # (<PIL.Image.Image image mode=RGB size=666x500>, 0) test_data[2] # (<PIL.Image.Image image mode=RGB size=595x500>, 0) test_data[20] # (<PIL.Image.Image image mode=RGB size=500x578>, 1) test_data[60] # (<PIL.Image.Image image mode=RGB size=500x625>, 2) import matplotlib.pyplot as plt def show_images(data, ims, main_title=None): plt.figure(figsize=(10, 5)) plt.suptitle(t=main_title, y=1.0, fontsize=14) for i, j in enumerate(ims, start=1): plt.subplot(2, 5, i) im, lab = data[j] plt.imshow(X=im) plt.title(label=lab) plt.tight_layout() plt.show() train_ims = (0, 1, 2, 10, 20, 30, 40, 50, 60, 70) val_ims = (0, 1, 2, 10, 20, 30, 40, 50, 60, 70) test_ims = (0, 1, 2, 20, 60, 80, 116, 161, 186, 206) 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 中的花朵的详细内容,更多请关注科技号其它相关文章!