【Pytorch】4.torchvision.datasets的使用

什么是torchvision.datasets、

pytorch官方给出的关于cv领域的训练数据集,我们可以用官方提供的数据集进行学习与训练

如何查看

我们可以进入Pytorch官网
在这里插入图片描述
在这里插入图片描述
切换一下版本到v0.9.0,就可以看到官方给出的数据集了
在这里插入图片描述
同时也有官方训练好的cv模型可以供我们学习使用
在这里插入图片描述

如何使用

以使用CIFAR10为例,首先导入torchvision

import torchvision

然后通过代码

train_set = torchvision.datasets.CIFAR10()

进入源码查看
在这里插入图片描述
同时在__init__方法中,我们也可以看到root参数是一定要赋值的,而其他的变量都有默认值
在这里插入图片描述
了解到参数的用法后,我们就可以来创建自己的数据集了

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

运行后就会自己下载数据集了
在这里插入图片描述
在这里插入图片描述
而生成的train_settest_set相当于是imglabel的键值对数据,这一点我们通过

print(train_set[0])

就可以看到
在这里插入图片描述
因为我们没有指定transforms所以图片的默认格式是PIL.Image,后面的6代表是在标签中的第六个位置,所有的类别存放在train_set对象中的classes
在这里插入图片描述
我们通过

img,label = train_set[0]
print(train_set.classes[label])

就能看到对应的标签了


如果我们想将图片的格式改为tensor格式,我们就可以预先配置好对应的对象,然后在数据集中配置,比如

# 配置tansform的对象
trans = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()
])

#在transform中添加刚刚的配置
train_set = torchvision.datasets.CIFAR10(root="./dataset", transform=trans, train=True, download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset", transform=trans, train=False, download=True)

# 查看运行结果
img, label = train_set[0]
print(type(img))

在这里插入图片描述
可以发现已经转化为tensor类型了


同时我们也可以引入TensorBoard,来对训练集的前十个数据进行可视化

writer = SummaryWriter("logs")
for i in range(10):
    img,label = train_set[i]
    writer.add_image("train", img, i)   # 将训练数据集中的img添加到writer中
writer.close()

在这里插入图片描述

相关推荐

  1. pytorch】TensorBoard使用

    2024-05-11 09:00:04       29 阅读
  2. pytorch chunk使用举例

    2024-05-11 09:00:04       50 阅读
  3. pytorch CV入门4-使用MobileNet解决视觉相关问题

    2024-05-11 09:00:04       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-11 09:00:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-11 09:00:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-11 09:00:04       82 阅读
  4. Python语言-面向对象

    2024-05-11 09:00:04       91 阅读

热门阅读

  1. IPsec协议:保障网络通信的安全利器

    2024-05-11 09:00:04       32 阅读
  2. [力扣题解]455. 分发饼干

    2024-05-11 09:00:04       27 阅读
  3. 每天一个数据分析题(三百一十七)-AB测试

    2024-05-11 09:00:04       35 阅读
  4. Mysql修改表结构、添加索引会锁表吗?

    2024-05-11 09:00:04       32 阅读
  5. 相机购买指南

    2024-05-11 09:00:04       28 阅读
  6. Scrum敏捷项目管理转型有哪些工具可以使用?

    2024-05-11 09:00:04       32 阅读
  7. ansible快速入门手册

    2024-05-11 09:00:04       29 阅读
  8. 基于UDP的网络客户端和服务端模型IO函数

    2024-05-11 09:00:04       35 阅读
  9. 常用的 Ansible 模块

    2024-05-11 09:00:04       34 阅读
  10. 速盾:如何选择适合自己的网络安全解决方案?

    2024-05-11 09:00:04       30 阅读