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

发布时间:2026/7/24 18:52:09

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/7/24 18:52:09

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

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

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

2026/7/24 18:52:09

魔兽争霸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/7/24 18:52:09

终极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:…

大语言模型(LLM)核心技术解析与应用实践指南

大语言模型(LLM)核心技术解析与应用实践指南

2026/7/24 19:32:11

1. 大模型的定义与核心特征大语言模型(Large Language Model,简称LLM)是近年来人工智能领域最具突破性的技术之一。简单来说,大模型是指通过海量数据和庞大参数规模训练而成的深度学习模型。这类模型通常基于Transformer架构&…

计算机毕业设计之图书交易网站

计算机毕业设计之图书交易网站

2026/7/24 19:32:11

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括图书交易网站的网络应用,在外国图书交易已经是很普遍的方式,不过国内的图书交易可能还处于起步阶段。图书交易网站具有在线购买图书功能。图书交易网站…

抖音下载器终极指南:5分钟掌握无水印批量下载的完整教程

抖音下载器终极指南:5分钟掌握无水印批量下载的完整教程

2026/7/24 19:32:11

抖音下载器终极指南:5分钟掌握无水印批量下载的完整教程 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback sup…

深入解析SMUDebugTool:解锁AMD Ryzen处理器的硬件调试密码

深入解析SMUDebugTool:解锁AMD Ryzen处理器的硬件调试密码

2026/7/24 19:32:11

深入解析SMUDebugTool:解锁AMD Ryzen处理器的硬件调试密码 【免费下载链接】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:…

Linux远程桌面自动登录方案:GDM与noVNC整合实践

Linux远程桌面自动登录方案:GDM与noVNC整合实践

2026/7/24 19:32:11

1. 项目背景与核心价值这个方案解决了一个长期困扰Linux系统管理员和远程办公用户的痛点:如何实现无值守的远程桌面自动登录。传统Linux桌面环境中,用户需要先物理登录本地GDM(GNOME Display Manager)界面后才能建立远程连接&…

LLM Weekly(2026.7.6-2026.7.12)

LLM Weekly(2026.7.6-2026.7.12)

2026/7/24 19:22:10

😎 网络新闻 OpenAI 发布 GPT-5.6,包含 Sol、Terra 和 Luna 三个版本。 OpenAI 于 7 月 9 日发布 GPT-5.6,提供三个变体:Sol(旗舰版,输入/输出每百万 tokens 定价 $5/$30)、Terra(均衡版,$2.50/$15)和 Luna(快速版,$1/$6)。Sol 在 Terminal-Bench 上得分 88.8%,…

微服务进阶:服务网格与Istio

微服务进阶:服务网格与Istio

2026/7/24 4:17:29

541|微服务进阶:服务网格与Istio 上篇文章我们聊了微服务的基本概念和拆分方法。 但微服务多了,问题也多了: 服务之间怎么通信? 怎么监控每个服务的调用链路? 熔断、限流、重试怎么做? 安全认证怎么统一? 以前这些都靠SDK库(比如Hystrix、Feign),每个服务都要集成…

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

2026/7/24 19:29:25

一、零售门店全域协同业务背景与行业痛点 1.1 门店超级终端设备矩阵(连锁便利店/商超标准配置) 自助收银Kiosk一体机:顾客结算、自助核销优惠券、商品素材预览;运营折叠平板:店长后台商品上新、图片录入、活动配置、…

噗叽短视频界面分析

噗叽短视频界面分析

2026/7/23 1:54:13

1 和小红书类似,可以采用类似判断方法------------其实他比小红书好判断,因为他没有图片,控件位置几乎是固定的,都不用判断------------2 因为他没有点赞按钮------------而且几乎所有控件位置都是完全一样的,所以我就…

Django毕设项目:基于 Django 的 智能化学生综合素质测评审核系统 校园学生评优评奖综合管理系统(源码+文档,讲解、调试运行,定制等)

Django毕设项目:基于 Django 的 智能化学生综合素质测评审核系统 校园学生评优评奖综合管理系统(源码+文档,讲解、调试运行,定制等)

2026/7/24 0:01:07

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

[具身智能-634]:Python 封装的地平线 VIO 多媒体库:libsrcampy库详解

[具身智能-634]:Python 封装的地平线 VIO 多媒体库:libsrcampy库详解

2026/7/24 0:01:07

srcampy /libsrcampy 名称释义先明确结论: 官方文档没有公布标准化英文全称,是地平线内部项目缩写;行业公认拆解如下:srcampy Source Amplifier Python bindingsrc Source(图像源:MIPI Sensor、视频源&am…

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

2026/7/24 0:01:07

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…