全连接神经网络实例pytorch
时间: 2024-10-02 17:02:48 浏览: 34
全连接神经网络(FCN, Fully Connected Neural Network)是一种基本的神经网络架构,其中每个节点都与前一层的所有节点相连。在PyTorch中,我们可以很容易地创建一个简单的全连接网络实例。以下是一个基础的全连接网络(如一个多层感知机MLP)的例子:
```python
import torch
import torch.nn as nn
# 定义一个两层全连接网络
class FCNetwork(nn.Module):
def __init__(self, input_dim, hidden_dim, output_dim):
super(FCNetwork, self).__init__()
# 输入层到隐藏层
self.fc1 = nn.Linear(input_dim, hidden_dim)
# 隐藏层到输出层
self.fc2 = nn.Linear(hidden_dim, output_dim)
def forward(self, x):
# 前向传播步骤
x = torch.relu(self.fc1(x)) # 使用ReLU激活函数
x = self.fc2(x) # 输出层
return x
# 创建一个网络实例
input_dim = 784 # 假设输入数据有784维(例如28x28的像素)
hidden_dim = 512
output_dim = 10 # 假设我们分类10个类别
net = FCNetwork(input_dim, hidden_dim, output_dim)
# 初始化权重和偏置
for m in net.modules():
if isinstance(m, nn.Linear):
nn.init.normal_(m.weight, mean=0, std=0.01)
nn.init.constant_(m.bias, 0)
```
在这个例子中,`forward()`函数定义了网络的计算流程,`nn.Linear`用于创建线性变换层,`relu`则是应用ReLU激活函数。`nn.Module`是所有PyTorch模型的基础类。
阅读全文