import torch from torch.utils.data import Dataset, DataLoader from torchvision import datasets, transforms import matplotlib.pyplot as plt # ========================================== # 1. 深入理解 Dataset (自定义演示) # ========================================== class SimpleNumberDataset(Dataset): def __init__(self, start, end): # 模拟数据:生成一个范围内的数字 self.data = list(range(start, end)) def __len__(self): # 返回数据集大小 return len(self.data) def __getitem__(self, index): # 返回一个样本及其标签(这里假设标签就是数字本身) sample = self.data[index] label = sample return torch.tensor(sample), torch.tensor(label) # ========================================== # 2. MNIST 数据集与 DataLoader 实战 # ========================================== # 定义预处理步骤:转为 Tensor 并标准化 transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,)) ]) # 下载并加载 MNIST 训练集 train_dataset = datasets.MNIST( root='./data', train=True, download=True, transform=transform ) # 创建 DataLoader train_loader = DataLoader( dataset=train_dataset, batch_size=64, shuffle=True ) # ========================================== # 3. 验证与回顾 # ========================================== def review(): # 回顾 Dataset 的 len 和 getitem print(f"MNIST 数据集总长度: {len(train_dataset)}") # 取出一个样本 image, label = train_dataset[0] print(f"单个样本形状: {image.shape}, 标签: {label}") # 回顾 DataLoader 的迭代 # 取出一个 batch data_iter = iter(train_loader) images, labels = next(data_iter) print(f"一个 Batch 的图片形状: {images.shape}") # [64, 1, 28, 28] print(f"一个 Batch 的标签形状: {labels.shape}") # [64] # 可视化一个样本 plt.imshow(images[0].numpy().squeeze(), cmap='gray') plt.title(f"Label: {labels[0]}") plt.show() if __name__ == "__main__": review()day38打卡
张小明
前端开发工程师
【前端知识点总结】关于基地址baseURL的介绍
在前端开发的日常工作中,我们无时无刻不在与各种 URL 打交道:请求后端 API、加载静态资源、进行页面跳转。当项目规模扩大,环境变得复杂(开发、测试、生产),硬编码的 URL 很快就会变成一场维护噩梦。 这时…
Flink SQL EXPLAIN “看懂计划”到“用 PLAN_ADVICE 调优”
1. EXPLAIN 能解决什么问题? 在 Flink Table/SQL 里,EXPLAIN 主要用来: 看清楚:SQL 会被解析成什么 逻辑计划(Logical Plan / AST)看明白:优化器做了哪些 算子改写(如 Filter 下推、…
一生一芯学习:程序,运行时环境与AM(一)
前我们已经跑通了cpu-test和实现了riscv-I型指令所需的42条指令,现在我们已经可以到跑简单程序的地步了,我们也希望运行简单的程序,因此我们需要运行时环境(runtime environment)。比如现在要结束程序,那我们就要用提前准备好的AP…
DAY27 pipeline管道
一、知识回顾: 1、转化器和估计器的概念 (1)转换器 转化器通俗的来说就是对数据进行预处理的工具,转换器的特点是无状态的,即它们不会存储任何关于数据的状态信息(指的是不存储内参),…
Colima 下 docker pull 失败自查流程
macOS Colima 下 docker pull 超时问题排查总结 一、问题现象 在 macOS 上使用 colima 运行 Docker service 时,执行: docker pull BALABALA报错: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http…
基于springboot的健身房预约与学习管理系统
博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有实…