pytorch学习3-torchvisin和Dataloader的使用
2023-12-13 03:47:16
系列文章目录
- pytorch学习1-数据加载以及Tensorboard可视化工具
- pytorch学习2-Transforms主要方法使用
- pytorch学习3-torchvisin和Dataloader的使用
- pytorch学习4-简易卷积实现
- pytorch学习5-最大池化层的使用
- pytorch学习6-非线性变换(ReLU和sigmoid)
- pytorch学习7-序列模型搭建
- pytorch学习8-损失函数与反向传播
- pytorch学习9-优化器学习
- pytorch学习10-网络模型的保存和加载
- pytorch学习11-完整的模型训练过程
一、torchvision下载使用数据集
import torchvision.datasets
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
dataset_transform=torchvision.transforms.Compose(
[
torchvision.transforms.ToTensor()
]
)
#如果数据集已经在root里面存在,那么下面两行不会再下载而是校验数据集
train_set=torchvision.datasets.CIFAR10(root="./cifar10Dataset",train=True,transform=dataset_transform,download=True)#意思是从torchvision下载CIFAR10数据集并且保存到root这个地方(会自动创建)
test_set=torchvision.datasets.CIFAR10(root="./cifar10Dataset",train=False,transform=dataset_transform,download=True)#train这个参数的意思是下载的是不是训练集,transform这个可选参数代表了数据预处理的操作(也就是数据下载下来之后自动做什么操作,需要自定义)
print(test_set[0])
print(test_set.classes)#classes是所有标签,也就是target的对应标签
img,target=test_set[0]
print(img)
print(target)#target是一个数字,代表classes中的第几个标签
img.show()
witer=SummaryWriter("p10")
for i in range(10):
img,target=test_set[i]
witer.add_image("test_set",img,i)
witer.close()
二、Dataloder的使用
test_data=torchvision.datasets.CIFAR10("./dataset",train=False,transform=dataset_transform,download=True)#准备测试数据集
test_loader=DataLoader(dataset=test_data,batch_size=64,shuffle=True,num_workers=0,drop_last=False)#shuffle代表每一epoch是否是乱序,num_workers是否多进程,drop_last当样本不能被batchsize(整个epoch有几批)整除时候会不会舍弃最后一批数据,batch_size每一批有几个样本
img,target=test_data[0]
step=0
witer=SummaryWriter("dataloader")
for data in test_loader:#这一个test_loader的过程就是一次eopch
imgs,targets=data
witer.add_images("我是标题一",imgs,step)#本次每一循环传的图像都是一批,所以要使用add_imags这个方法来加载
step+=1
witer.close()
总结
以上就是今天要讲的内容,torchvisin和Dataloader的使用
文章来源:https://blog.csdn.net/magic171/article/details/134802051
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!