pytorch(二)

目录

四、torchvision

1.Transforms

①定义

②常见用法​编辑

 2.torchvision数据集的使用

①定义

②用法

五、dataloader

1.定义

2.用法


四、torchvision

1.Transforms

①定义

    transforms是对图像、文本等其他数据进行各种变换,也就是对数据进行预处理,以准备数据供深度学习模型使用的工具

②常见用法

 2.torchvision数据集的使用

①定义

     torchvision包是专门的视觉库,包含了预训练的一些CV神经网络模型;是服务于pytorch深度学习框架的,用来生成图片,视频数据集,和一些流行的模型类和预训练模型。

②用法

代码如下:

import torchvision
from torch.utils.tensorboard import SummaryWriter

#用transforms将PIL_image图片转为Tensor数据类型以供pytorch使用
dataset_transform=torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()
])
##./表示当前目录,root是创建一个文件       train表示是训练集还是测试集        download表示是否从网上自动下载数据集
##transform表示将数据转化为别的数据类型
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)

# print(test_set[0])
# print((test_set.classes))
#
# img,target=test_set[0]
# print(img)
# print(target)
# print(test_set.classes[target])
# img.show()


#print(test_set[0])  已经转化为了Tensor数据类型

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

 运行结果:

五、dataloader

1.定义

    dataloader是一个加载器,把数据加载到神经网络中,是对数据集的一种抓取方式,能够将数据进行乱序,还可以节省空间。

2.用法

 使用代码如下:

import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

#准备的数据集
test_data=torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=torchvision.transforms.ToTensor())

#batch_size=4表示每次从test_data中取四个数据集进行打包
#shuffle=True时epoch;两轮选的数据不一样
#drop_last   取出最后多余的图像
test_loader=DataLoader(dataset=test_data,batch_size=64,shuffle=True,num_workers=0,drop_last=True)

#测试数据集中第一张图片及target
img,target=test_data[0]
# print(img.shape)
# print(target)

writer=SummaryWriter("p12")
for epoch in range(2):
    step=0
    for data in test_loader:
        imgs,targets=data
        #print(imgs.shape)
        #print(targets)
        writer.add_images("Epoch:{}".format(epoch), imgs, step)
        step=step+1
writer.close()

运行结果:

    如下图,同样在step155,两组图片却不一样了,便是用dataloader进行了乱序抽取处理。

 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值