PyTorch 神经网络基础(模型构建,参数构造...)

发布时间:2026/9/22 18:56:25

PyTorch 神经网络基础(模型构建,参数构造...)
PyTorch 神经网络基础模型构造层和块MLP 的本质显示定义自定义块需要实现的功能1将输入数据作为其前向传播函数的参数。2通过前向传播函数来生成输出。请注意输出的形状可能与输入的形状不同。3计算其输出关于输入的梯度可通过其反向传播函数进行访问。通常这是自动发生的。4存储和访问前向传播计算所需的参数。5根据需要初始化模型参数。*nn.Module是 PyTorch 提供的神经网络乐高积木基座。所有层Linear、Conv2d、ReLU、所有模型MLP、ResNet、BERT、GPT都继承自它。顺序快*nn.Sequential是一个特殊的 nn.Module它把多个层按顺序串起来数据从第一个层流到最后一个层中间不做任何分支或跳转。为了构建我们自己的简化的MySequential 我们只需要定义两个关键函数1一种将块逐个追加到列表中的函数2一种前向传播函数用于将输入按追加块的顺序传递给块组成的“链条”。_modules是 PyTorch 的子模块登记簿 只有把模块放进这里PyTorch 才知道这是我的孩子才会帮你管理参数、搬 GPU、保存模型。用 OrderedDict 是为了严格保证执行顺序。nn.Sequential 的本质就是按顺序遍历 _modules逐个执行。自定义nn.Module的真正威力在 forward 中执行任意 Python 代码这是 nn.Sequential 完全做不到的。1.设置常数参数2.复用同一层3.Py的控制流PyTorch 模块的嵌套组合*只要输入输出维度匹配任意组合都可以。在.init里面中.net和,linear是并列关系输入X先进行.net再进行.linear参数管理我们的目标是找到使损失函数最小化的模型参数值参数访问weight是权重bias是偏移根据构建相对应的索引访问目标参数指定访问*在上面这个网络中由于我们还没有调用反向传播所以参数的梯度处于初始状态。访问第一个层访问所有层补充的访问方式可以通过print大概了解网络层的模块结构假如说设置一个网络模型Block2里嵌套了四个Block1能够看到分层的结构*因为层是分层嵌套的所以我们也可以像通过嵌套列表索引一样访问它们。 下面我们访问第一个主要的块中、第二个子块的第一层的偏置项参数初始化net.apply(init_normal)作用递归遍历模型中的每个子模块将函数 init_normal 应用到每个模块上。1统一初始化所有Linear层2对某些块应用不同的初始化方法3自定义初始化的实现还有额外的打印信息4直接设置参数顾名思义5共享层共享参数本质就是使用同一个层自定义层一个不带参数的层将该层组合到更复杂的模型中带参数的层需要两个额外的参数in_unitsunits输入和输出维度forward就是计算输入经过加权和偏置的输出*用nn.Parameter包装张量PyTorch 才会把它当参数依旧可以构建模型读写文件1存单个张量在当前目录并读取saveload2存储一个张量列表3存放字典4加载和保存模型参数以一个简单的MLP模型为例将模型的参数存储在一个叫做“mlp.params”的文件中state_dict()返回的是类似于下面的映射还原模型1.克隆原MLP的结构这里的参数都是随机初始化的不能用2.读取文件参数字典填充到相应的位置3.使用eval为什么使用模型需要eval()训练模型需要 train()?根据目的我们的需求不同

相关新闻

Low-Rank Few-Shot Adaptation of Vision-Language Models论文阅读

Low-Rank Few-Shot Adaptation of Vision-Language Models论文阅读

2026/8/23 12:56:19

视觉语言模型的低秩少样本自适应code: https://github.com/MaxZanella/CLIP-LoRA摘要背景:视觉语言模型的少样本自适应提升了模型的泛化能力,少量标注样本即可在下游任务适配。现有问题:现有研究集中在 提示学习,Adapter方向, 忽…

魔兽争霸III终极优化指南:用WarcraftHelper插件让经典游戏在现代电脑重生

魔兽争霸III终极优化指南:用WarcraftHelper插件让经典游戏在现代电脑重生

2026/9/8 18:34:40

魔兽争霸III终极优化指南:用WarcraftHelper插件让经典游戏在现代电脑重生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典魔兽争…

终极AMD Ryzen调试神器:免费开源SMUDebugTool完全使用指南

终极AMD Ryzen调试神器:免费开源SMUDebugTool完全使用指南

2026/8/23 12:56:20

终极AMD Ryzen调试神器:免费开源SMUDebugTool完全使用指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/21 18:38:46

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

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/21 18:41:09

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/21 18:36:40

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/21 18:37:26

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/21 18:40:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/21 18:36:17

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/22 0:19:28

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/21 23:38:13

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/22 0:48:53

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…