**前置知识:
test_loader=DataLoader(
dataset=test_set,
batch_size=64,
shuffle=False,
num_workers=0,
drop_last=True
)
1、DataLoader:
PyTorch 提供的一个工具,用于批量加载数据集,支持多线程加载
2、
dataset=test_set | 要加载的数据集 |
batch_size=64 | 每个批次加载64张图片(batch:一批) |
shuffle=False | False表示在加载数据时不打乱顺序,True表示打乱顺序 (shuffle:洗牌) |
num_workers=0 | 指定用于数据加载的子进程数,0表示只在主进程中进行 |
drop_last=True | 如果数据集的总大小不是批次大小的整数倍,设置为 True 会丢弃最后一个不足批次大小的部分 |
**代码:
加载数据集——>数据Loader处理——>tensorBoard记录
import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
test_set=torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=torchvision.transforms.ToTensor(),download=True)
#dataset:要处理的数据集 batch_size:每次抓取几张图片 num_workers=0:只要主线程工作(多线程在wins上可能出错)drop_last:是否要舍弃不足数的部分
#shuffle:进行多轮数据处理时,是否要将数据打乱,使每轮的结果不一样
test_loader=DataLoader(dataset=test_set,batch_size=64,shuffle=False,num_workers=0,drop_last=True)
writer=SummaryWriter("log1")
for epoch in range(2):
step=0
for data in test_loader:
imgs,targets=data
writer.add_images(f"test2_Epoch: {epoch}",imgs,step)
step=step+1
writer.close()