一文搞懂 PyTorch 中的 torch.nn模块 !!

部署运行你感兴趣的模型镜像

前言

在深度学习领域,PyTorch是一个非常流行的框架,而 torch.nn 模块是PyTorch中用于构建神经网络的核心模块。

img

一、什么是 torch.nn 模块

torch.nn 模块是PyTorch中专门用于构建和训练神经网络的模块。它提供了一系列的类和函数,帮助我们轻松地定义和操作神经网络。无论是简单的线性回归模型,还是复杂的卷积神经网络(CNN),都可以使用 torch.nn 模块来实现。

二、基本组件

1、nn.Module

nn.Module 是所有神经网络模块的基类。我们可以通过继承 nn.Module 来定义自己神经网络,每个 nn.Module 都包含两个主要方法:

  • **init:**在这里定义网络的层和参数。
  • **forward:**定义前向传播的过程。
2、常见的层

torch.nn 提供了许多常见的神经网络层,例如:

  • **nn.Linear:**全连接层(线性层)。
  • **nn.conv2d:**二维卷积层。
  • **nn.ReLU:**激活函数(ReLU)。
  • **nn.MaxPool2d:**二维最大池化层。
3、损失函数

损失函数用于衡量模型的预测结果与真实结果之间的差距。torch.nn提供了多种损失函数,例如:

  • **nn.MSELoss:**均方误差损失,用于回归任务。
  • **nn.CrossEntropyLoss:**交叉熵损失,用于分类任务。
4、优化器

优化器用于更新模型的参数,以最小化损失函数。PyTorch提供了多种优化器,例如:

  • **optim.SGD:**随机梯度下降优化器。
  • **optim.Adam:**Adam优化器。

三、示例:构建一个简单的神经网络

让我们通过一个简单的示例来了解如何使用 torch.nn 模块构建一个神经网络。假设我们要构建一个用于手写数字识别的神经网络。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

import torch
import torch.nn as nn
import torch.optim as optim

# 定义神经网络
class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(28 * 28, 128)  # 输入层到隐藏层
        self.fc2 = nn.Linear(128, 10)       # 隐藏层到输出层

    def forward(self, x):
        x = x.view(-1, 28 * 28)  # 展平输入
        x = torch.relu(self.fc1(x))  # 激活函数ReLU
        x = self.fc2(x)
        return x

# 创建模型实例
model = SimpleNN()

# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# 示例输入
input = torch.randn(1, 28, 28)  # 随机生成一个28x28的输入
output = model(input)  # 前向传播
loss = criterion(output, torch.tensor([3]))  # 假设真实标签为3

# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()

print("输出:", output)
print("损失:", loss.item())

四、深入理解 torch.nn 模块

1、自定义层

除了使用 torch.nn 提供的现成层,我们还可以定义自己的层。例如,我们可以定义一个自定义的线性层:

代码语言:javascript

代码运行次数:0

运行

AI代码解释

class CustomLinear(nn.Module):
    def __init__(self, in_features, out_features):
        super(CustomLinear, self).__init__()
        self.weight = nn.Parameter(torch.randn(out_features, in_features))
        self.bias = nn.Parameter(torch.randn(out_features))

    def forward(self, x):
        return torch.matmul(x, self.weight.t()) + self.bias
2、模型的保存和加载

在训练完模型后,我们通常需要保存模型的参数,以便在以后使用。PyTorch 提供了简单的方法来保存和加载模型

代码语言:javascript

代码运行次数:0

运行

AI代码解释

# 保存模型
torch.save(model.state_dict(), 'model.pth')

# 加载模型
model = SimpleNN()
model.load_state_dict(torch.load('model.pth'))
model.eval()  # 切换到评估模式
3、使用GPU加速

深度学习模型通常需要大量的计算资源。我们可以使用 GPU 来加速训练过程。PyTorch 提供了简单的方法来将模型和数据移动到 GPU 上:

代码语言:javascript

代码运行次数:0

运行

AI代码解释

# 检查是否有可用的 GPU
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

# 将模型移动到 GPU
model.to(device)

# 将数据移动到 GPU
input = input.to(device)
cript
# 检查是否有可用的 GPU
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

# 将模型移动到 GPU
model.to(device)

# 将数据移动到 GPU
input = input.to(device)

零基础如何高效学习大模型?

你是否懂 AI,是否具备利用大模型去开发应用能力,是否能够对大模型进行调优,将会是决定自己职业前景的重要参数。

为了帮助大家打破壁垒,快速了解大模型核心技术原理,学习相关大模型技术。从原理出发真正入局大模型。在这里我和鲁为民博士系统梳理大模型学习脉络,这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码免费领取🆓**⬇️⬇️⬇️

在这里插入图片描述

【大模型全套视频教程】

教程从当下的市场现状和趋势出发,分析各个岗位人才需求,带你充分了解自身情况,get 到适合自己的 AI 大模型入门学习路线。

从基础的 prompt 工程入手,逐步深入到 Agents,其中更是详细介绍了 LLM 最重要的编程框架 LangChain。最后把微调与预训练进行了对比介绍与分析。

同时课程详细介绍了AI大模型技能图谱知识树,规划属于你自己的大模型学习路线,并且专门提前收集了大家对大模型常见的疑问,集中解答所有疑惑!

在这里插入图片描述

深耕 AI 领域技术专家带你快速入门大模型

跟着行业技术专家免费学习的机会非常难得,相信跟着学习下来能够对大模型有更加深刻的认知和理解,也能真正利用起大模型,从而“弯道超车”,实现职业跃迁!

图片

【精选AI大模型权威PDF书籍/教程】

精心筛选的经典与前沿并重的电子书和教程合集,包含《深度学习》等一百多本书籍和讲义精要等材料。绝对是深入理解理论、夯实基础的不二之选。

在这里插入图片描述

【AI 大模型面试题 】

除了 AI 入门课程,我还给大家准备了非常全面的**「AI 大模型面试题」,**包括字节、腾讯等一线大厂的 AI 岗面经分享、LLMs、Transformer、RAG 面试真题等,帮你在面试大模型工作中更快一步。

【大厂 AI 岗位面经分享(92份)】

图片

【AI 大模型面试真题(102 道)】

图片

【LLMs 面试真题(97 道)】

图片

【640套 AI 大模型行业研究报告】

在这里插入图片描述

【AI大模型完整版学习路线图(2025版)】

明确学习方向,2025年 AI 要学什么,这一张图就够了!

img

👇👇点击下方卡片链接免费领取全部内容👇👇

在这里插入图片描述

抓住AI浪潮,重塑职业未来!

科技行业正处于深刻变革之中。英特尔等巨头近期进行结构性调整,缩减部分传统岗位,同时AI相关技术岗位(尤其是大模型方向)需求激增,已成为不争的事实。具备相关技能的人才在就业市场上正变得炙手可热。

行业趋势洞察:

  • 转型加速: 传统IT岗位面临转型压力,拥抱AI技术成为关键。
  • 人才争夺战: 拥有3-5年经验、扎实AI技术功底真实项目经验的工程师,在头部大厂及明星AI企业中的薪资竞争力显著提升(部分核心岗位可达较高水平)。
  • 门槛提高: “具备AI项目实操经验”正迅速成为简历筛选的重要标准,预计未来1-2年将成为普遍门槛。

与其观望,不如行动!

面对变革,主动学习、提升技能才是应对之道。掌握AI大模型核心原理、主流应用技术与项目实战经验,是抓住时代机遇、实现职业跃迁的关键一步。

在这里插入图片描述

01 为什么分享这份学习资料?

当前,我国在AI大模型领域的高质量人才供给仍显不足,行业亟需更多有志于此的专业力量加入。

因此,我们决定将这份精心整理的AI大模型学习资料,无偿分享给每一位真心渴望进入这个领域、愿意投入学习的伙伴!

我们希望能为你的学习之路提供一份助力。如果在学习过程中遇到技术问题,也欢迎交流探讨,我们乐于分享所知。

*02 这份资料的价值在哪里?*

专业背书,系统构建:

  • 本资料由我与鲁为民博士共同整理。鲁博士拥有清华大学学士美国加州理工学院博士学位,在人工智能领域造诣深厚:

    • 在IEEE Transactions等顶级学术期刊及国际会议发表论文超过50篇
    • 拥有多项中美发明专利。
    • 荣获吴文俊人工智能科学技术奖(中国人工智能领域重要奖项)。
  • 目前,我有幸与鲁博士共同进行人工智能相关研究。

在这里插入图片描述

内容实用,循序渐进:

  • 资料体系化覆盖了从基础概念入门核心技术进阶的知识点。

  • 包含丰富的视频教程实战项目案例,强调动手实践能力。

  • 无论你是初探AI领域的新手,还是已有一定技术基础希望深入大模型的学习者,这份资料都能为你提供系统性的学习路径和宝贵的实践参考助力你提升技术能力,向大模型相关岗位转型发展

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

抓住机遇,开启你的AI学习之旅!

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

PyTorch 2.9

PyTorch 2.9

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员一粟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值