Pytorch 之 nn

一、先介绍一下nn.Mudule

当学习到神经网络这一模块的时候,就经常出现 nn.Module,实际上这个是习以为常的叫法,具体的:torch.nn 是一个包,这个包里面有Module类,一般我们把 torch.nn 别称为:as nn,故引用Module类的时候就用的nn.Module,神经网络所有模型的构建都是从nn.Module这个基类继承的。

二、torch.nn :

神经网络所用到的所有层结构和损失函数都来自于torch.nn这个包

卷积层:nn.Conv2()
池化层:nn.MaxPool2d()
激活函数层:nn.ReLU()、nn.CrossEntropyLoss()
标准化处理层:nn.BatchNorm2d()
线性层:nn.Linear()

三、分清楚Module和Conv2()、ReLU()、BatchNorm2d()等

他们都在torch.nn这个包里面,但是Module是个类,Conv2()、ReLU()、BatchNorm2d()是个方法,因此调用的时候 Module需要重写,Conv2()、ReLU()、BatchNorm2d()需要传入参数调用。
### 安装 PyTorch 及其 `torch.nn` 模块 在 Python 环境中安装 PyTorch 后,即可自动获得 `torch.nn` 模块的功能。以下是具体的安装方法: #### 方法一:通过官方推荐的方式安装 PyTorch 访问 PyTorch 的官方网站 (https://pytorch.org/get-started/locally/) 并根据操作系统、Python 版本以及硬件加速需求(如 CUDA 支持)选择合适的命令来安装。 例如,在支持 CUDA 11.7 的环境中可以运行以下命令: ```bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117 ``` 对于不使用 GPU 加速的情况,则可执行: ```bash pip install torch torchvision torchaudio ``` 完成上述操作后,PyTorch 就会被成功安装到当前环境之中[^1]。 #### 使用 `torch.nn` 模块 一旦 PyTorch 被正确安装,就可以直接导入并使用其中的 `torch.nn` 模块。该模块包含了构建深度学习模型所需的各种工具和组件,比如参数管理器 (`Parameter`)、基础单元 (`Module`)、容器类 (`Sequential`, `ModuleList`, etc.) 和预定义层结构(全连接层、卷积层等)。下面是一个简单的例子展示如何创建一个多层感知机(MLP): ```python import torch from torch import nn class SimpleMLP(nn.Module): def __init__(self, input_size=784, hidden_size=128, num_classes=10): super(SimpleMLP, self).__init__() # Define layers of the network. self.fc1 = nn.Linear(input_size, hidden_size) self.relu = nn.ReLU() self.fc2 = nn.Linear(hidden_size, num_classes) def forward(self, x): out = self.fc1(x) out = self.relu(out) out = self.fc2(out) return out model = SimpleMLP() print(model) ``` 此代码片段展示了如何继承自 `nn.Module` 类型来自定义一个神经网络模型,并利用内置函数如线性变换(`Linear`)与激活函数(`ReLU`)搭建前馈路径[^2]。 关于批量标准化(batch normalization),它是一种常用的技巧用来稳定训练过程减少内部协变量偏移现象的影响。以二维空间为例,BatchNorm2d 函数会对输入张量沿着通道维度计算均值和标准差来进行规范化处理[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值