文章目录
- 一、前置知识
- 1.nn是什么
- 2.nn如何使用
- 二、代码
一、前置知识
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 方法中定义前向传播计算,这里简单地对输入数据加1return output# 实例化 Guodong 模型
guodong = Guodong()# 创建一个张量作为输入
x = torch.tensor(1.0)# 将输入数据传递给模型进行前向计算
result = guodong(x)# 打印输入和模型输出结果
print(x)
print(result)
程序运行结果: