一、下载CIFAR-10数据集
CIFAR-10数据集官网
通过阅读官网给的解释可以大概了解到,一共6w张图片,每张图片大小为32×32,5w张训练图像,1w张测试图像,一共由十大类图像。
CIFAR10官网使用文档
torchvision.datasets.CIFAR10(root="./CIFAR_10",train=True,download=True)
参数 | 描述 |
---|---|
root | 字符串,指明要下载到的位置,或已有数据集存放的位置 |
train | 若为True则下载训练集,若为False则下载册数集 |
transform | 一个函数/转换,它接收PIL图像并返回转换后的版本 |
target_transform | 接收目标并对其进行转换的函数/转换 |
download | 若为True则会从官网进行下载,若为False则不下载 |
import torchvisiontrain_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=True,download=True)
test_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=False,download=True)
若下载慢,可以通过复制蓝色超链接,进行通过浏览器等方式下载
二、将CIFAR-10数据集中的图像上传至tensorboard
调试阶段
以训练集数据为例进行调试
import torchvisiontrain_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=True,download=True)
test_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=False,download=True)print(train_set[0])#(<PIL.Image.Image image mode=RGB size=32x32 at 0x1ABB60B0BE0>, 6)
#由输出结果大致可以看出,结构为 image和target也就是图片信息和所属类别
img,target = train_set[0]
print(img)#<PIL.Image.Image image mode=RGB size=32x32 at 0x1ABB60B0A20> 图片信息
print(target)#6 所属类别,classes中有总共类别
print(train_set.classes[target])#frog 查看详细的类别img.show()#因为img是PIL类别,故可以通过show方法进行展示
实战阶段
这里还是以训练集数据为例
import torchvision
from torch.utils.tensorboard import SummaryWriterdataset_transform = torchvision.transforms.Compose([torchvision.transforms.ToTensor()])
#这里通过Compose方法进行transform操作组合
#图片太小,也没必要进行裁剪等操作,图片类型为PIL,只需要通过ToTensor方法转换成tensor类型就行了train_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=True,transform=dataset_transform,download=True)
test_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=False,transform=dataset_transform,download=True)print(train_set[0])#(tensor([[[0.2314, 0.1686, 0.1961, ..., 0.6196, 0.5961, 0.5804],......
#可以看出,这里的数据集已经变成了tensor类型,可以直接上传至tensorboard中writer = SummaryWriter("y_log")
for i in range(30):#这里以训练集前30张数据进行上传img,target = train_set[i]writer.add_image("train_set",img,i)writer.close()
在Terminal下运行tensorboard --logdir=y_log --port=2312
,logdir为打开事件文件的路径,port为指定端口打开;
通过指定端口2312进行打开tensorboard,若不设置port参数,默认通过6006端口进行打开。
点击该链接或者复制链接到浏览器打开即可