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自动实现,无需手动编写梯度计算代码
相关推荐
Elastic 中国社区官方博客8 分钟前
使用 A2A 协议和 MCP 在 Elasticsearch 中创建一个 LLM agent 新闻室:第二部分
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
知识浅谈9 分钟前
我用Gemini3pro 造了个手控全息太阳系
人工智能
孤廖11 分钟前
终极薅羊毛指南:CLI工具免费调用MiniMax-M2/GLM-4.6/Kimi-K2-Thinking全流程
人工智能·经验分享·chatgpt·ai作画·云计算·无人机·文心一言
aneasystone本尊12 分钟前
学习 LiteLLM 的日志系统
人工智能
秋邱17 分钟前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
Mintopia19 分钟前
🎭 小众语言 AIGC:当 Web 端的低资源语言遇上“穷得只剩文化”的生成挑战
人工智能·aigc·全栈
安达发公司21 分钟前
安达发|告别手工排产!车间排产软件成为中央厨房的“最强大脑”
大数据·人工智能·aps高级排程·aps排程软件·安达发aps·车间排产软件
公众号-架构师汤师爷22 分钟前
n8n工作流实战:从0到1打造公众号热点选题一键采集智能体(万字图文)
人工智能·agent·智能体·n8n
CoovallyAIHub35 分钟前
抛弃LLM!MIT用纯视觉方法破解ARC难题,性能接近人类水平
深度学习·算法·计算机视觉
Baihai_IDP44 分钟前
剖析大模型产生幻觉的三大根源
人工智能·面试·llm