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打卡
张小明
前端开发工程师
JavaEE进阶——SpringBoot日志从入门到精通
目录 Spring Boot 日志详解:从入门到精通(新手版) 1. 日志概述:为什么要学? 1.1 从System.out.println到专业日志框架 2. 日志使用:手把手教你写代码 2.1 打印日志:第一个日志程序 知识点…
结构体简单题
1.这里主要是sort函数 配上自定义的函数(题目要求同分的要求名字按ascll表从小到大排序)还有就是vector数组再使用sort函数时不能使用(arr,arrn)关于sort函数:所以就是说你在return比较用了>就是按降序排…
时间序列回归预测:LSTM、CNN - LSTM、PSO - CNN - LSTM、GAPSO - CNN - LSTM大比拼
LSTM,CNN-LSTM,PSO-CNN-LSTM,GAPSO-CNN-LSTM四种算法做对比,多输入单输出,时间序列等数据回归预测。 预测结果评价指标: RMSE 6.2895 MSE 39.5576 MAE 4.5576在时间序列数据的回归预测领域,…
飞轮储能系统的建模与 MATLAB 仿真:永磁同步电机作为飞轮驱动电机
飞轮储能系统的建模与MATLAB仿真(永磁同步电机作为飞轮驱动电机)不是模型嘿,各位技术爱好者!今天咱们来聊聊飞轮储能系统的建模以及用 MATLAB 进行仿真的事儿,这里的飞轮驱动电机用的是永磁同步电机。飞轮储能系统可是…
车间进度总卡壳?生产小工单的3个必备功能,90%企业都用错了
你有没有过这种时刻?老板微信一问:进度到哪了?你只能回:正在做。干过车间的都懂,这哪是正在做,分明是不知道 。大部分的车间主管都这样:进度全靠猜,Excel堆满桌面,工人填…
如何用 ShedLock 让 Spring Boot 的定时任务在多实例环境下只执行一次
执行。原因很简单:默认情况下,Spring 不会在多个实例之间做调度同步。这篇文章就聊聊怎么用 ShedLock,让定时任务在多实例环境下“同一时刻只跑一次”。顺便一提,它也能作为 Quartz 的替代。Maven 依赖先引入 shedlock-spring 这个…