请我喝杯咖啡☕
*我的帖子解释了牛津 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 中的花朵的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论