b站小土堆pytorch学习记录—— P16 神经网络的基本骨架 nn.Module的使用

本文介绍了神经网络在深度学习中的基础概念,包括其工作原理、神经元和层次结构,并详细讲解了如何在Python中使用PyTorch构建和实现一个简单的神经网络模型Guodong,包括定义模型、前向传播和实例应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前置知识

1.nn是什么

在深度学习中,“nn” 通常是指神经网络(Neural Network)的缩写。神经网络是一种由大量神经元(neurons)相互连接而成的模型,它们模仿人类大脑的结构和功能,用于学习和处理复杂的模式和数据。

神经网络在深度学习领域扮演着重要的角色,被广泛应用于图像识别、语音识别、自然语言处理等各种任务。神经网络的基本组成部分是神经元(neuron),每个神经元接收来自前一层神经元的输入,并通过权重和激活函数进行计算,最终产生输出。

神经网络通常包含多个层次,包括输入层、隐藏层和输出层。通过调整神经元之间的连接权重和偏置,神经网络可以学习到输入数据的特征并进行预测或分类任务。

2.nn如何使用

基本步骤:

(1)导入 nn 模块:首先,需要导入 PyTorch 的 nn 模块。通常的导入语句是 from torch import nn。

(2)定义神经网络模型类:接下来,定义一个神经网络模型类,通常继承自 nn.Module 类。在这个类中,你可以定义模型的结构,包括各种层(如全连接层、卷积层等)以及前向传播方法 forward。

(3)在模型类的构造函数 init 中定义网络层:在模型类的构造函数中,可以使用 nn 模块提供的各种层类来定义网络的结构,比如 nn.Linear(全连接层)、nn.Conv2d(卷积层)、nn.ReLU(ReLU激活函数)等。

(4)实现前向传播方法 forward:在模型类中实现 forward 方法,指定数据在网络中前向传播的流程,即数据如何通过各个层进行计算并输出结果。

(5)实例化模型:通过实例化定义的模型类,可以创建一个可用于处理数据的神经网络模型。

(6)将输入数据传递给模型:将输入数据传递给实例化后的模型,调用模型的 forward 方法进行前向计算,得到输出结果。

二、代码

# 原作者:b站小土堆
# 云霄星乖乖的果冻
# 微博、小红书、b站等平台同名

import torch
from torch import nn

# 定义一个自定义的神经网络模型 Guodong
class Guodong(nn.Module):
    def __init__(self, *args, **kwargs) -> None:
        super().__init__()  # 调用父类构造函数进行初始化

    def forward(self, input):
        output = input + 1  # 在 forward 方法中定义前向传播计算,这里简单地对输入数据加1
        return output

# 实例化 Guodong 模型
guodong = Guodong()

# 创建一个张量作为输入
x = torch.tensor(1.0)

# 将输入数据传递给模型进行前向计算
result = guodong(x)

# 打印输入和模型输出结果
print(x)
print(result)

程序运行结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云霄星乖乖的果冻

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

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

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

打赏作者

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

抵扣说明:

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

余额充值