torchvision中的数据集使用,以CIFAR10为例

课程链接: https://www.bilibili.com/video/BV1hE411t7RN?p=14&vd_source=a16915472897bc5c811d5ff185570c98

课堂笔记

  • 使用CIFAR10数据集,以单个图片为例

先下载数据集

import torchvision

train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True, download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset", train=False, download=True)
print(test_set[0])

输出:

(<PIL.Image.Image image mode=RGB size=32x32 at 0x1B339186100>, 3)

在print(test_set[0])处打一个断点,点击debug

可以看到test_set下面有个classes

把属性classes打印出来:

print(test_set.classes)  #打印完整的classes列表
print(test_set.classes[1])  #打印第2个class

输出结果:

['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']

automobile

把test_set[0]的img和target赋给变量img和target

img, target = test_set[0]
print(img)
print(target)

输出的是:

<PIL.Image.Image image mode=RGB size=32x32 at 0x1E7139E7160>

3

在classes列表中找第3+1个,可知这张照片是cat

打印一下看看

print(test_set.classes[target])

输出:

cat

  • 使用CIFAR10数据集,与transforms联动,以ToTensor为例,多图

import torchvision

# 与transforms联动
# 批量处理训练集和测试集,把原本的PIL image转换成Tensor image
# 以适应后续深度学习中的函数对图片类型的要求
dataset_transform = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()
])  # 创建一个名为dataset_transform的工具,功能是把PIL image转换成Tensor image
train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True, transform=dataset_transform, download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset", train=False, transform=dataset_transform, download=True)
# 上两行中的transform=dataset_transform是使用工具dataset_transform
# 把训练集和测试集中的PIL image转换成Tensor image

from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter("p14")
for i in range(10):
    img, target = test_set[i]
    writer.add_image("test_set", img, i)

writer.close()

Terminal中运行tensorboard --logdir="p14"打开tensorboard

可以看到一共10步,拖动滑块一次展示10个图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值