import torchvision
train_set = torchvision.datasets.CIFAR10(root="./dataset",train=True,download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset",train=False,download=True)
print(test_set[0])###我们通过输出测试集的第一个内容,得到一个样本包含的内容:(图像,标签)
print(test_set.classes)
img,target = test_set[0]
print(img)
print(target)
我们通过输出测试集的第一个内容,得到一个样本包含的内容:(图像,标签)
数据集内容赋值
然后一次性地将这两个元素分别赋值给img
和target
变量。
img,target = test_set[0]
print(test_set.classes[target])
Dataset 与Transforms 合理合并使用
import torchvision
dataset_transforms = torchvision.transforms.Compose([
torchvision.transforms.ToTensor(),
torchvision.transforms.RandomCrop(18)
])
train_set = torchvision.datasets.CIFAR10(root="./dataset",train=True,transform=dataset_transforms,download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=dataset_transforms,download=True)
print(test_set[0])
使用Tensorboard 检视数据集图像
创建一个SummaryWriter对象,用于写入TensorBoard日志。"p10"是日志文件的保存路径
writer = SummaryWriter("p10")
-
for i in range(10):
- 循环遍历测试集的前10个样本
-
img, target = test_set[i]
- 从测试集中获取第i个样本的图像和标签
-
writer.add_image("Testset前十张图片", img, i)
- 将图像添加到TensorBoard日志中
- "Testset前十张图片"是图像组的名称
- img是图像数据
- i是图像的步骤(step)或索引
for i in range(10):
img,target = test_set[i]
writer.add_image("Testset前十张图片",img,i)
add_image定义:
def add_image(
self, tag, img_tensor, global_step=None, walltime=None, dataformats="CHW"
):
目录设置
目录的设置 root="./dataset"
有特定的含义和用途:
-
./
表示当前目录:在这个上下文中,它指的是你运行Python脚本的目录。
-
dataset
是一个文件夹名:这表示数据集将被下载并存储在当前目录下名为 "dataset" 的文件夹中。
-
相对路径的优势:
- 使用相对路径
"./dataset"
而不是绝对路径(如 "C:/Users/YourName/dataset")使得代码更具可移植性。
- 使用相对路径