pytorch

预览

神经网络工具箱有四部分构成:神经网络核心组件、构建神经网络的主要工具、构建模型、训练模型。

神经网络核心组件

**层(Layer):**神经网络的基本结构单元,通过权重等参数对输入张量进行数据变换(如卷积、线性运算),输出新张量

**模型(Model):**由多个 "层" 按特定逻辑组合而成的整体网络,实现从输入数据到输出结果的完整映射过程

**损失函数:**量化模型预测值(Y')与真实标签(Y)之间差异的目标函数,是参数学习的 "指南针"

优化器: 根据损失函数计算的梯度,采用优化算法(如 SGD、Adam)更新模型参数,最小化损失值(梯度下降法:找损失函数取最小值时的参数)

损失函数:预测值与真实值之间的差距---通过优化器(梯度下降法)计算权重与偏置【权重与偏置是参数】找到最小值

构建神经网络的主要工具

工具类型 特性 适用场景
nn.Module 面向对象编程,需继承使用;自动管理可学习参数(weight/bias);支持模型容器嵌套 卷积层(Conv2d)、全连接层(Linear)、Dropout 层等带可学习参数的组件
nn.functional 纯函数式调用,无需实例化;需手动定义和传入参数;无状态管理功能 激活函数(ReLU)、池化层(max_pool2d)、损失计算(cross_entropy)等无参数 / 参数固定的操作

linear指全连接层(卷积神经网络中)

Cohv*指卷积层

*norn指标准化

*Aactive指激活函数

*Loss指损失函数

关键差异总结

  1. 使用方式
    • nn.Xxx:先实例化(如model = nn.Linear(784, 300)),再调用实例处理数据
    • nn.functional.xxx:直接调用函数(如F.linear(x, weight, bias)),需手动传入参数
  2. 参数管理
    • nn.Xxx:自动封装和管理参数,可通过model.parameters()提取所有可学习参数
    • nn.functional.xxx:需手动定义weightbias,无法自动纳入模型参数管理
  3. 状态切换
    • nn.Dropout:调用model.eval()后自动关闭 Dropout(适配测试阶段)
    • F.dropout:需手动设置training参数(如F.dropout(x, training=True))切换状态

核心功能与工作原理

  1. 参数自动管理
    • 继承nn.Module后,在__init__中定义的nn.Xxx层(如 Linear、Conv2d),其参数会被自动注册到模型的参数列表中
    • 可通过model.named_parameters()查看参数名称及数值,便于调试和优化
  2. 正向传播定义
    • 必须重写forward()方法,定义数据在模型中的流动逻辑(从输入到输出的计算过程)
    • 反向传播由 PyTorch 的autograd自动实现,无需手动编写梯度计算代码
相关推荐
新知图书39 分钟前
7.1 需求分析与规划 《AI Agent智能体开发实践》
人工智能·agent·ai agent·智能体
clorinda44 分钟前
机器学习文本分类入门:从数据清洗到中文评论词向量转换
人工智能
小宋10211 小时前
Dify 知识库实战:从 PDF 导入到带引用回答,完整搭建企业问答助手
人工智能·ai编程
Lee_jerome1 小时前
从 PyTorch 权重到 RK3588 板端推理:ResNet18 二分类模型完整部署教程
pytorch·边缘计算·rk3588·模型部署·onnx·resnet18·int8量化
用户938515635072 小时前
从Vibe Coding到SDD:规范驱动开发如何拯救AI编程失控
人工智能
蓝速科技2 小时前
蓝速科技桌面 AI 双屏翻译机:开放安卓系统商用价值解析
人工智能·科技
博、、3 小时前
社区家政平台开发实战指南:从需求分析到系统部署全流程解析
人工智能·数据挖掘·需求分析
Python私教3 小时前
别急着加 llms.txt:企业官网面向 AI 搜索的工程清单
前端·人工智能·seo
Tokenge3 小时前
AI 前沿日报|2026.08.19:模型安全按下减速键,智能体进入“可控落地”新阶段
人工智能·安全
东方小月3 小时前
从零开发一个 Coding Agent(十三):实现安全的 read 文件读取工具
前端·人工智能·全栈