本文主要是介绍Pytorch学习 day06(torchvision中的datasets、dataloader),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
torchvision的datasets
- 使用torchvision提供的数据集API,比较方便,
- 如果在pycharm中下载很慢,可以URL链接到迅雷中进行下载(有些URL链接在源码里)
- 代码如下:
import torchvision # 导入 torchvision 库
# 使用torchvision的datasets模块,模块中包含CIFAR10、CIFAR100、ImageNet、COCO等数据集
train_set = torchvision.datasets.CIFAR10("./Dataset", train = True, download = True) # root 表示数据集的存储路径,train 表示是否是训练集,download 表示是否需要下载
test_set = torchvision.datasets.CIFAR10("./Dataset", train = False, download = True)
- CIFAR10数据集的每个样本会输出一个元组,第一个元素是PIL格式的图片,第二个元素是该样本的标签,即class,代码如下:
import torchvision # 导入 torchvision 库
# 使用torchvision的datasets模块,模块中包含CIFAR10、CIFAR100、ImageNet、COCO等数据集
train_set = torchvision.datasets.CIFAR10("./Dataset", train = True, download = True) # root 表示数据集的存储路径,train 表示是否是训练集,download 表示是否需要下载
test_set = torchvision.datasets.CIFAR10("./Dataset", train = False, download = True)print(train_set[0]) # 输出训练集的第一个样本 ,输出为一个元组,第一个元素为PIL格式图片,第二个元素为标签,标签表示图片的类别,即class
print(train_set.classes) # 输出数据集的类别,即class
img, target = train_set[0]
print(img) # 输出图片
print(target) # 输出标签
print(train_set.classes[target]) # 输出训练集第一个样本图片的类别
- 对数据集进行transforms变换
- 注意,只需要在调用数据集API时,填入变换对象即可,由于dataset_transforms是Compose类实例化后的对象,所以直接传入即可,代码如下:
import torchvision # 导入 torchvision 库
from torch.utils.tensorboard import SummaryWriterdataset_transforms = torchvision.transforms.Compose([torchvision.transforms.ToTensor(), # 将PIL格式图片转换为Tensor格式
]) # Compose函数将多个transforms组合在一起# 使用torchvision的datasets模块,模块中包含CIFAR10、CIFAR100、ImageNet、COCO等数据集
train_set = torchvision.datasets.CIFAR10("./Dataset", train = True, transform=dataset_transforms, download = True) # root 表示数据集的存储路径,train 表示是否是训练集,transform 表示对数据集进行的变换,download 表示是否下载数据集
test_set = torchvision.datasets.CIFAR10("./Dataset", train = False, transform=dataset_transforms, download = True)writer = SummaryWriter("logs") # 实例化SummaryWriter类,参数log_dir表示日志文件的存储路径
for i in range(10):img, target = train_set[i] writer.add_image("train_set_img", img, i) # 将图片写入tensorboardwriter.close() # 关闭SummaryWriter对象
- tensorboard的展示结果如下:
torchvision中的dataloader
这篇关于Pytorch学习 day06(torchvision中的datasets、dataloader)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!