在PyTorch中搭建神经网络 模板骨架所有自定义网络都遵循这套模板import torch from torch import nn # 1.定义网络类继承nn.Module class MyNet(nn.Module): def __init__(self): super().__init__() # 必须调用父类构造函数 # --------在这里定义所有网络层/容器(Linear、ReLU、Sequential等)-------- # self.xxx 层实例 def forward(self, x): # --------在这里写数据流动逻辑输入x经过各层计算返回输出-------- # x self.xxx(x) return x # 2.测试网络 if __name__ __main__: # 构造模拟输入数据 input_data torch.randn(形状) net MyNet() # 实例化网络 out net(input_data) # 前向传播自动调用forward print(out.shape)搭建神经网络示例from torch import nn import torch class FullyConnectedNet(nn.Module): def __init__(self): super().__init__() self.layer nn.Sequential( nn.Flatten(), # [batch, 1, 28, 28] - [batch, 784] nn.Linear(28 * 28, 512), # 784 个像素点映射到 512 个隐藏特征 nn.ReLU(), # 增加非线性表达能力 nn.Linear(512, 256), # 继续提取更紧凑的隐藏特征 nn.ReLU(), nn.Linear(256, 128), nn.ReLU(), nn.Linear(128, 10), # 模型输出的原始分数(分数越高说明模型当前越偏向哪个候选项) ) def forward(self, x): return self.layer(x) if __name__ __main__: data torch.randn(1,1,28,28) net FullyConnectedNet() output net(data) print(output)from torch import nnnn是什么from torch import nntorch是顶层大模块nn是 torch 下面的一个子模块module全称torch.nn专门用来搭建神经网络。等价写法import torch nn torch.nn # 完全一样torch.nn 里面装了什么里面全是神经网络相关的类、工具网络层类nn.Linear、nn.Conv2d、nn.Flatten、nn.ReLU、nn.Sequential模型基类nn.Module—— 所有网络 / 层都继承它损失函数类nn.CrossEntropyLoss、nn.MSELoss容器nn.Sequential、nn.ModuleList、nn.ModuleDict归一化、dropout、embedding等等语法拆解from torch import nn # 从 torch 包中导入 nn 子模块当前文件就可以直接写 nn.xxx不用写 torch.nn.xxxnn模块对象不是类不是函数。nn.Sequential访问 nn 模块内部的Sequential类nn.Sequential(...)实例化这个类得到一个网络层对象层级关系梳理torch (顶层包) └── nn 子模块(torch.nn) ├── nn.Module 【基类】 ├── nn.Sequential 【类继承Module】 ├── nn.Linear 【全连接层类】 ├── nn.ReLU 【激活类】 └── nn.CrossEntropyLoss 损失类重点 所有层nn.Linear()、nn.ReLU()、nn.Sequential()都是实例化类返回的实例全部继承自nn.Module。 只有继承nn.Module的对象放到模型里面参数才会被自动管理net.parameters()、cuda、保存加载模型。容易混淆对比代码是什么torch最顶层包nntorch.nn神经网络子模块nn.Module类所有网络组件的父类nn.Sequential类Module 的子类nn.Sequential(...)实例化得到 Module 实例对象self.layer nn.Sequential(...)self.layer是模型的属性存这个 Module 实例小坑提醒self.layer nn.Sequential # ❗错误没有括号只是把类本身赋值没有创建对象 self.layer nn.Sequential() # ✅加括号实例化生成对象

相关新闻

最新新闻

Muse Code三档订阅上线,编程助手性价比时代来临

Muse Code三档订阅上线,编程助手性价比时代来临

最近AI编程助手这个赛道算是彻底卷起来了,从年初各家还在拼模型参数、拼代码补全的"准不准",到眼下已经变成拼落地场景、拼定价策略、拼谁能真正融进开发者的日常。Muse Code结束测试、推出三档订阅方案这件事,放在这个大背景下看就…

2026/9/8 16:10:18
SSM二手交易网站毕设实战:从源码部署到答辩加分技巧

SSM二手交易网站毕设实战:从源码部署到答辩加分技巧

最近总有人问我毕设选题的事,Java方向如果不想碰太复杂的新框架,又想能把“数据库、后端、前端页面”整条链路都讲清楚,二手物品交易网站这类系统基本是绕不开的经典。拆过的毕设源码两百多个,说句实话,基于 SSM 的二手…

2026/9/8 16:10:18
查重AI双杀!2026这3款降AI率软件太宝藏了!

查重AI双杀!2026这3款降AI率软件太宝藏了!

谁还在为AI生成论文的AI率太高发愁?明明用AI省了时间,结果查重时AIGC率超标,直接被老师打回重写,熬夜改到崩溃真的太窒息了!最近被问最多的就是“有没有可以自动降AI率的论文生成工具”,作为过来人&#xf…

2026/9/8 16:10:18
单片机毕业设计-基于 STM32 的输液滴速调节及液位温度监测系统设计 基于 STM32 与 WiFi 的输液参数移动端监控平台设计(013807)

单片机毕业设计-基于 STM32 的输液滴速调节及液位温度监测系统设计 基于 STM32 与 WiFi 的输液参数移动端监控平台设计(013807)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/8 16:10:18
C语言——指针(下)讲解回调函数;冒泡排序;介绍并模拟qsort函数,strlen函数,strcpy函数

C语言——指针(下)讲解回调函数;冒泡排序;介绍并模拟qsort函数,strlen函数,strcpy函数

本章从回调函数入手,介绍qsort函数,strlen函数,strcpy函数;讲解冒泡排序,并尝试模拟qsort函数,strlen函数,strcpy函数 一、回调函数是什么? 回调函数就是一个通过函数指针调用的函数。 如果你…

2026/9/8 16:10:18
ElevenLabs Agents 平台安装与接入全指南:CLI、JS/Python SDK、REST 与 API Key 配置(OpenMontage 实战)

ElevenLabs Agents 平台安装与接入全指南:CLI、JS/Python SDK、REST 与 API Key 配置(OpenMontage 实战)

ElevenLabs Agents 平台安装与接入全指南:CLI、JS/Python SDK、REST 与 API Key 配置(OpenMontage 实战) 【免费下载链接】OpenMontage Worlds first open-source, agentic video production system. 12 production pipelines, 100 tools, 70…

2026/9/8 16:05:17