Pytorch1 PyTorch 官方 QuickStart 超详细笔记|
适合刚入门 PyTorch、想快速跑通完整机器学习 pipeline的同学全文结构数据准备 → 构建模型 → 训练优化 → 模型评估 → 保存加载 → 单张预测一、前言这篇笔记把 PyTorch 官方最快入门案例完整拆解一行代码一个知识点帮你快速掌握数据集怎么加载模型怎么定义训练循环怎么写模型怎么保存与推理任务FashionMNIST 服饰图片分类10 分类二、环境与依赖importtorchfromtorchimportnnfromtorch.utils.dataimportDataLoaderfromtorchvisionimportdatasetsfromtorchvision.transformsimportToTensor三、数据准备Dataset DataLoader1. 下载数据集# 训练集training_datadatasets.FashionMNIST(rootdata,trainTrue,downloadTrue,transformToTensor(),)# 测试集test_datadatasets.FashionMNIST(rootdata,trainFalse,downloadTrue,transformToTensor(),)2. 构建 DataLoaderbatch_size64train_dataloaderDataLoader(training_data,batch_sizebatch_size)test_dataloaderDataLoader(test_data,batch_sizebatch_size)# 查看数据形状forX,yintest_dataloader:print(fShape of X [N, C, H, W]:{X.shape})print(fShape of y:{y.shape}{y.dtype})break输出Shape of X [N, C, H, W]: torch.Size([64, 1, 28, 28]) Shape of y: torch.Size([64]) torch.int64四、构建模型继承 nn.Module1. 选择设备devicetorch.accelerator.current_accelerator().typeiftorch.accelerator.is_available()elsecpuprint(fUsing{device}device)2. 定义网络结构classNeuralNetwork(nn.Module):def__init__(self):super().__init__()self.flattennn.Flatten()self.linear_relu_stacknn.Sequential(nn.Linear(28*28,512),nn.ReLU(),nn.Linear(512,512),nn.ReLU(),nn.Linear(512,10))defforward(self,x):xself.flatten(x)logitsself.linear_relu_stack(x)returnlogits modelNeuralNetwork().to(device)print(model)五、训练相关配置损失函数 优化器loss_fnnn.CrossEntropyLoss()optimizertorch.optim.SGD(model.parameters(),lr1e-3)六、训练函数 测试函数1. 训练函数deftrain(dataloader,model,loss_fn,optimizer):sizelen(dataloader.dataset)model.train()forbatch,(X,y)inenumerate(dataloader):X,yX.to(device),y.to(device)# 前向传播predmodel(X)lossloss_fn(pred,y)# 反向传播 更新loss.backward()optimizer.step()optimizer.zero_grad()ifbatch%1000:loss,currentloss.item(),(batch1)*len(X)print(floss:{loss:7f}[{current:5d}/{size:5d}])2. 测试函数deftest(dataloader,model,loss_fn):sizelen(dataloader.dataset)num_batcheslen(dataloader)model.eval()test_loss,correct0,0withtorch.no_grad():forX,yindataloader:X,yX.to(device),y.to(device)predmodel(X)test_lossloss_fn(pred,y).item()correct(pred.argmax(1)y).type(torch.float).sum().item()test_loss/num_batches correct/sizeprint(fTest Error:)print(f Accuracy:{(100*correct):0.1f}%, Avg loss:{test_loss:8f}\n)七、开始训练epochs5fortinrange(epochs):print(fEpoch{t1}\n-------------------------------)train(train_dataloader,model,loss_fn,optimizer)test(test_dataloader,model,loss_fn)print(Done!)八、模型保存与加载1. 保存模型torch.save(model.state_dict(),model.pth)print(Saved PyTorch Model State to model.pth)2. 加载模型modelNeuralNetwork().to(device)model.load_state_dict(torch.load(model.pth,weights_onlyTrue))九、单张图片推理classes[T-shirt/top,Trouser,Pullover,Dress,Coat,Sandal,Shirt,Sneaker,Bag,Ankle boot,]model.eval()x,ytest_data[0][0],test_data[0][1]withtorch.no_grad():xx.to(device)predmodel(x)predicted,actualclasses[pred[0].argmax(0)],classes[y]print(fPredicted: {predicted}, Actual: {actual})十、整体流程总结必背Dataset DataLoader搞定数据class 继承 nn.Module定义模型loss_fn optimizer配置训练train 函数前向 → loss → 反向 → 更新 → 清零test 函数eval() no_grad()save/load完成模型持久化eval() no_grad()做推理

相关新闻

稀疏性是你所需要的一切:重新思考深度学习中的生物路径引导方法

稀疏性是你所需要的一切:重新思考深度学习中的生物路径引导方法

文章总结 1、近期生物先验相关的研究比较多,例如pathformer、DeePathNet、DeepKEGG等,将pathway通路等生物先验知识结合到神经网络模型中,并在疾病分类、生存分析、风险预测等下游任务中有着良好的表现,是研究的热点之一; 2、作者通过研究,认为生物先验引导的生物网络,…

2026/7/4 4:51:46 阅读更多 →
从登录异常到底层逻辑:彻底吃透Session、ThreadLocal与拦截器的协同机制

从登录异常到底层逻辑:彻底吃透Session、ThreadLocal与拦截器的协同机制

在开发Java Web项目(本文以黑马点评项目为例)时,相信很多开发者都会遇到这样的问题:登录成功后,点击“我的”页面却被重新跳回登录页。看似简单的登录异常,背后却牵扯到Session、Cookie、拦截器、ThreadLoc…

2026/5/17 11:52:53 阅读更多 →
淘宝商家如何发送联系方式给客户,从技术的角度看我们怎么解决这个问题!

淘宝商家如何发送联系方式给客户,从技术的角度看我们怎么解决这个问题!

行业背景:服务体验成为新竞争点 随着电商行业进入存量竞争时代,平台对商家服务质量的要求日益提升。传统的“售卖结束即服务结束”模式已不再适用,全生命周期的客户服务(Customer Service Lifecycle)成为衡量店铺竞争…

2026/7/3 9:09:56 阅读更多 →

最新新闻

智能解析技术赋能教育数字化转型:tchMaterial-parser的技术架构与应用实践

智能解析技术赋能教育数字化转型:tchMaterial-parser的技术架构与应用实践

智能解析技术赋能教育数字化转型:tchMaterial-parser的技术架构与应用实践 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课…

2026/7/4 8:15:16 阅读更多 →
从0到1构建Flask性能监控系统:Flask-profiler完全指南

从0到1构建Flask性能监控系统:Flask-profiler完全指南

从0到1构建Flask性能监控系统:Flask-profiler完全指南 【免费下载链接】flask-profiler a flask profiler which watches endpoint calls and tries to make some analysis. 项目地址: https://gitcode.com/gh_mirrors/fl/flask-profiler 想要快速提升Flask应…

2026/7/4 8:15:16 阅读更多 →
CANN/ge ES图构建器C++ API文档

CANN/ge ES图构建器C++ API文档

Eager Style Graph Builder Class Relationship Documentation 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少…

2026/7/4 8:15:16 阅读更多 →
终极 Windows RDP 优化指南:解锁 60FPS 流畅远程桌面体验

终极 Windows RDP 优化指南:解锁 60FPS 流畅远程桌面体验

终极 Windows RDP 优化指南:解锁 60FPS 流畅远程桌面体验 【免费下载链接】BetterRDP This is to enable 60fps and GPU acceleration on RDP connection 项目地址: https://gitcode.com/gh_mirrors/be/BetterRDP 你是否经常遇到远程桌面连接卡顿、延迟高、画…

2026/7/4 8:13:15 阅读更多 →
多线程编程漏洞百出?C++ 线程与并发常见问题全解析!

多线程编程漏洞百出?C++ 线程与并发常见问题全解析!

引言你是否曾因多线程编程中的复杂性和隐藏陷阱感到困惑?从线程创建到锁机制,再到异常处理和线程间通信,这些看似简单的概念背后却隐藏着深邃的底层原理和优化空间。作为一名C技术专家,我将通过精心设计的小案例和细致的原理剖析&…

2026/7/4 8:11:15 阅读更多 →
E-Hentai Downloader技术解析:深入理解GM_xmlhttpRequest跨域请求机制

E-Hentai Downloader技术解析:深入理解GM_xmlhttpRequest跨域请求机制

E-Hentai Downloader技术解析:深入理解GM_xmlhttpRequest跨域请求机制 E-Hentai Downloader作为一款高效的漫画下载工具,其核心功能依赖于GM_xmlhttpRequest实现跨域请求。本文将从技术原理、实现方式和优化策略三个维度,全面解析这一关键机…

2026/7/4 8:09:14 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻